c23c0fda74f6ef565a960f4f0c7824708367d677
[gnulib.git] / ChangeLog
1 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
2
3         bitrotate: better 'inline'
4         * lib/bitrotate.c: New file.
5         * lib/bitrotate.h (BITROTATE_INLINE):
6         New macros.
7         Replace all uses of 'static inline' with them.
8         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
9         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
10         (Depends-on): Add extern-inline.
11         (configure.ac): Do not require AC_C_INLINE.
12
13 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
14
15         maint.mk: avoid gratuitous failure
16         Reported by Stefano Lattarini in
17         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
18         * top/maint.mk (public-submodule-commit): Quote more safely.
19
20 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
21
22         canonicalize, canonicalize-lgpl: support MS-Windows file names
23         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
24         for test cases, which it'd be nice to add at some point.
25         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
26         * lib/canonicalize.c (canonicalize_filename_mode):
27         * lib/canonicalize-lgpl.c (__realpath):
28         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
29         slash is at the beginning of the file name.  Use ISSLASH, instead
30         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
31         the first character with '/'.  Test for
32         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
33         with a drive letter.
34         * lib/canonicalize.c (SLASHES): New macro.
35         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
36
37 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
38
39         fts: introduce FTS_VERBATIM
40         * lib/fts_.h (FTS_VERBATIM): New bit flag.
41         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
42         * lib/fts.c (fts_open): Honor it.
43
44 2012-11-09  Pádraig Brady  <P@draigBrady.com>
45
46         getlogin-tests: allow errno == ENXIO
47         * tests/test-getlogin.c (main): Skip tests if getlogin fails
48         with errno == ENXIO (No controlling tty).
49         getlogin_r-tests: Likewise. Also allow errno == ENOENT
50         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
51         with errno == ENOENT.  This was reported to happen in various
52         situations on GNU/Linux.
53
54 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55
56         getlogin-tests: allow errno == ENOENT
57         * tests/test-getlogin.c (main): Skip tests if getlogin fails
58         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
59         when running a test in an Emacs shell buffer.
60
61 2012-11-08  Jim Meyering  <jim@meyering.net>
62
63         tests/nap.h: avoid warning about unused variable
64         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
65
66         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
67         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
68         white space before each of the special-cased file names, to avoid
69         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
70         in http://bugs.gnu.org/12830.
71
72 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
73
74         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
75         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
76         fails with errno == EBADF when fd is opened with O_PATH.
77         Reported by Jim Meyering in
78         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
79         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
80         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
81
82 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
83
84         test-utimens: speed up by taking shorter naps
85         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
86         New functions.
87         (nap): Use them, to do a better job of guessing the delay.
88         On Fedora 17 with ext4 atop md atop hard disks, this made
89         test-utimens run 10x faster, because the test napped for
90         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
91         <http://bugs.gnu.org/12820#11>.
92
93 2012-11-07  Jim Meyering  <jim@meyering.net>
94
95         mountlist.c: fix a compilation failure
96         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
97         I introduced while transforming commit v0.0-7683-g613bcb6
98
99 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
100
101         errno: port to LynxOS 178 2.2.2
102         Problem reported by Joel Brobecker in
103         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
104         * doc/posix-headers/errno.texi (errno.h): Document this.
105         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
106         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
107         Supply a string for EILSEQ.
108         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
109
110 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
111
112         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
113         Linux kernel 2.6.39 introduced O_PATH (see
114         <http://lwn.net/Articles/433854/>) and this is a better fallback
115         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
116         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
117         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
118         * lib/fcntl.in.h (O_ACCMODE):
119         * tests/test-fcntl-h.c (main):
120         Do not reject O_ACCMODE merely because it has more than the
121         minimal number of bits, as POSIX allows extensions here.
122
123 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
124
125         mountlist: do not classify a bind-mounted dir entry as "dummy"
126         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
127         the "none"-testing clause.
128         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
129         exception for bind-mounted directories.
130
131 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
132
133         quote: provide a means to escape strings with nul characters
134         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
135         (quote, quote_n): Rename formal arguments for consistency with
136         quotearg.
137
138 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
139
140         test-raise: don't assume 199 is an invalid signal
141         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
142
143         sh-quote-tests: port to Solaris 9
144         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
145         Problem reported by Dagobert Michelsen in
146         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
147
148 2012-10-28  Jim Meyering  <jim@meyering.net>
149
150         maint.mk: rename a new configurable variable
151         * top/maint.mk (_gl_translatable_string_re): Rename from
152         translation-markers: _gl_ prefix to insulate from user Makefile code,
153         and the _re suffix to inform that it's a regular expression.
154
155 2012-10-26  Eric Blake  <eblake@redhat.com>
156
157         maint.mk: let packages tweak sc_po_check pattern
158         * top/maint.mk (sc_po_check): Add translation-markers, to allow
159         finding files with other translation markers.
160
161 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
162
163         euidaccess: speed up 'configure' on GNU hosts
164         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
165         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
166         it's needed only in this case.  Use AC_CHECK_DECLS, not
167         AC_CHECK_DECLS_ONCE.
168         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
169         or AC_REQUIRE for AC_FUNC_GETGROUPS.
170
171         * lib/regexec.c (re_search_internal): Fix grammar in comment.
172
173 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
174
175         fchmodat, fchownat, fstatat: port to non-inlining compilers
176         Problem reported for FreeBSD 9 by Jim Meyering in
177         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
178         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
179         New files, which define FCHMODAT_INLINE etc.
180         * lib/fchmodat.c (FCHMODAT_INLINE):
181         * lib/fchownat.c (FCHOWNAT_INLINE):
182         * lib/fstatat.c (FSTATAT_INLINE):
183         Remove, as chmodat.c etc. now do this.
184         * modules/fchmodat (Files): Add lib/chmodat.c.
185         * modules/fchownat (Files): Add lib/chownat.c.
186         * modules/fstatat (Files): Add lib/statat.c.
187
188 2012-10-15  Jim Meyering  <jim@meyering.net>
189
190         fchmodat.c, fchownat.c: compile-impeding typos
191         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
192         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
193         Introduced in commit v0.0-7636-gd202279.
194
195 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
196
197         fcntl-h: support GNU flags like O_IGNORE_CTTY
198         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
199         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
200         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
201         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
202         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
203         Define to 0 if not already defined.
204         * tests/test-fcntl-h.c: Test these new flags.
205
206 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
207
208         faccessat, etc.: support AT_FDCWD-only use
209         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
210         this function only if its first argument is AT_FDCWD.
211         Emacs wants faccessat for AT_EACCESS but not for any first-arg
212         values other than AT_FDCWD, so it doesn't want all the openat
213         machinery with fchdir etc.
214         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
215         * modules/fstatat, modules/mkdirat, modules/openat (Files):
216         * modules/unlinkat (Files):
217         Remove lib/openat-priv.h, as at-internal supplies this file.
218         Removing this file here allows us to support programs like Emacs
219         that avoid at-internal.
220
221         faccessat: speed up 'configure' on mainstream hosts
222         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
223         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
224         since it's only on unusual platforms that we need to check for
225         'access', and it's better not to slow 'configure' down on all
226         platforms.
227
228         faccessat: port to Solaris 10
229         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
230         Needed on Solaris 10, which doesn't have AT_EACCESS,
231         so we need the Gnulib fcntl.h, which defines it.
232
233 2012-10-14  Pádraig Brady  <P@draigBrady.com>
234         canonicalize: fix C89 compilation
235         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
236         declarations so C89 is supported.  Also remove the comment
237         referencing memorty allocation as the suggested feature could
238         not be implemented as suggested.
239         Reported by Michael Goffioul.
240
241 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
242
243         group-member: omit unnecessary dependencies
244         This is for Emacs, which has its own allocator and where we
245         don't want to use xalloc.
246         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
247         since we no longer use xmalloc.  Do not include stdbool.h, since
248         the changes below happen to remove the only use of bool.
249         (GROUPBUF_SIZE): New constant.
250         (struct group_info): Remove n_groups member.  Add groupbuf member.
251         This lets us get the groups without using malloc, usually.
252         (free_group_info, get_group_info): Adjust to this.
253         (get_group_info): Return the number of groups found, or -1 on error.
254         Use plain malloc not xmalloc, and treat its failure as if there
255         are no groups, as the user already loses in case of error.
256         (group_member): Simplify, based on changes to get_group_info.
257         * modules/group-member (Depends-on): Remove dependencies on
258         xalloc and stdbool.  Add dependency on xalloc-oversized.
259
260 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
261
262         gethrxtime: port to C++
263         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
264
265 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
266
267         ptsname: fix macro-name typo
268         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
269
270 2012-10-03  Simon Josefsson  <simon@josefsson.org>
271
272         inttostr: Relax license.
273         * modules/inttostr (License): Change from LGPL to LGPLv2+.
274
275 2012-10-03  Eric Blake  <eblake@redhat.com>
276
277         ptsname_r: support ptys returned by FreeBSD posix_openpt
278         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
279         lives in /dev/pts/.
280
281 2012-10-02  Eric Blake  <eblake@redhat.com>
282
283         pselect: reject invalid file descriptors
284         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
285         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
286         * modules/pselect (Depends-on): Add dup2.
287         * doc/posix-functions/pselect.texi (pselect): Document this.
288
289         select: reject invalid file descriptors
290         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
291         * lib/select.c (rpl_select) [!win32]: Work around it.
292         * modules/select (Depends-on): Add dup2.
293         * doc/posix-functions/select.texi (select): Document this.
294
295         select: enhance test
296         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
297         New functions.
298         (test_function): Enhance test.
299         (do_select_bad_fd): Avoid any stale errno values.
300
301         ptsname: reject invalid file descriptors
302         http://www.austingroupbugs.net/view.php?id=503
303         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
304         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
305         * modules/stdlib (Makefile.am): Replace witness.
306         * lib/stdlib.in.h (ptsname): Allow for replacement.
307         * modules/ptsname (configure.ac): Trigger replacement.
308         * doc/posix-functions/ptsname.texi (ptsname): Document this.
309
310 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
311
312         hash-pjw-bare: new module
313         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
314         * lib/hash-pjw-bare.h: Likewise.
315         * modules/hash-pjw-bare: New file.
316         * MODULES.html.sh (Misc): Add it.
317
318 2012-10-02  Eric Blake  <eblake@redhat.com>
319
320         manywarnings: cater to more gcc infelicities
321         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
322         -Wuninitialized without -O.
323
324 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
325
326         select, poll tests: Make setsockopt invocation effective.
327         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
328         the bind() call.
329         * tests/test-select.h (open_server_socket): Likewise.
330
331 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
332
333         sockets, sys_stat: restore AC_C_INLINE
334         This undoes the 2012-09-22 patch.
335         * m4/sockets.m4 (gl_SOCKETS):
336         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
337         Restore AC_C_INLINE, since MSVC requires __inline or _inline
338         and does not support plain 'inline'.  Reported by Bruno Haible in
339         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
340
341 2012-09-30  Bruno Haible  <bruno@clisp.org>
342
343         localeconv tests: Avoid test failure on OpenIndiana.
344         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
345         skip the 'grouping' and 'mon_grouping' tests.
346         Reported by Jim Meyering.
347
348 2012-09-30  Bruno Haible  <bruno@clisp.org>
349
350         havelib: Follow libtool developments.
351         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
352         Suggested by Simon Josefsson.
353
354 2012-09-29  Jim Meyering  <meyering@redhat.com>
355
356         fstatat.c: fix a compile-impeding typo
357         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
358         Introduced in commit v0.0-7636-gd202279.
359         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
360
361 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
362
363         extern-inline: provide a -Wundef safe config.h
364         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
365         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
366         to produce a -Wundef warning free config.h.
367
368 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
369
370         hash-pjw: relax license to LGPLv2+
371         * modules/hash-pjw (License): Relax, with consent of author.
372
373 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
374
375         maint.mk: fix strict vs. lazy variable issues with RELEASE
376         * top/maint.mk (_equal): New function.
377         (member_check): Strip the result to avoid spurious spaces.
378         (url_dir_list): Do not use ifeq, which is strict, as it will
379         require RELEASE_TYPE to be defined.
380         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
381         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
382         (announcement_Cc_alpha,announcement_mail_headers_alpha)
383         (announcement_Cc_beta,announcement_mail_headers_beta)
384         (announcement_Cc_stable,announcement_mail_headers_stable): these.
385         (release): Do not depend on $(release-type), as it forces its
386         evaluation.  Bounce to it.
387
388 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
389
390         maint.mk: formatting changes
391         * top/maint.mk: Indent bodies of if's.
392
393 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
394
395         maint.mk: factor the validation of RELEASE_TYPE
396         With help from Jim Meyering.
397         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
398         * top/maint.mk (_empty, _sp): Move their definition earlier.
399         (member-check, release-type): New.
400         Use the latter instead of $(RELEASE_TYPE).
401         Remove now useless local checks.
402
403 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
404
405         maint.mk: provide "make upload" to ease uploading
406         See
407         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
408         Do not depend simply on the current $(VERSION), as there may have been
409         new commits since the tarball generation.  Rather, rely on $(RELEASE),
410         as "make release-commit" already does.
411
412         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
413         "make TYPE".
414
415         * top/maint.mk (upload_command, upload, release): New.
416         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
417         (VERSION): first word of $(RELEASE) is always right.
418         (emit_upload_commands): Adjust.
419         * top/README-release: Update.
420
421 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
422
423         maint.mk: silent rules
424         With help from Stefano Lattarini.
425         * top/maint.mk (writable-files): Use $(AM_V_GEN).
426         (announcement): Use $(AM_V_at).
427
428 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
429
430         localename: port gl_locale_name_thread_unsafe to FreeBSD
431         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
432         and use the simpler FreeBSD implementation on Mac OS X as well.
433         Original idea suggested by Ed Maste in
434         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
435
436 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
437
438         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
439         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
440         * lib/mbuiter.c, lib/xsize.c: New files.
441         * lib/binary-io.h (BINARY_IO_INLINE):
442         * lib/eealloc.h (EEALLOC_INLINE):
443         * lib/mbfile.h (MBFILE_INLINE):
444         * lib/mbiter.h (MBITER_INLINE):
445         * lib/mbuiter.h (MBUITER_INLINE):
446         * lib/xsize.h (XSIZE_INLINE):
447         New macros.
448         Replace all uses of 'static inline' with them.
449         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
450         * m4/eealloc.m4 (gl_EEALLOC):
451         * m4/mbfile.m4 (gl_MBFILE):
452         * m4/mbiter.m4 (gl_MBITER):
453         * m4/xsize.m4 (gl_XSIZE):
454         Do not require AC_C_INLINE.
455         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
456         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
457         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
458         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
459         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
460         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
461         * modules/binary-io, modules/eealloc, modules/mbfile:
462         * modules/mbiter, modules/mbuiter:
463         (Depends-on): Add extern-inline.
464
465         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
466         * lib/pipe-filter-aux.c: New file.
467         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
468         Replace all uses of 'static inline' with it.
469         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
470         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
471         (filter_retcode): No real need for inline here.
472         * modules/pipe-filter-gi, modules/pipe-filter-ii:
473         (Files): Add lib/pipe-filter-aux.c.
474         (Depends-on): Add extern-inline.
475         (configure.ac): Do not require AC_C_INLINE.
476         (lib_SOURCES): Add pipe-filter-aux.c.
477
478         fdutimensat: omit unnecessary AC_C_INLINE
479         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
480
481         fchmodat, fchownat, fstatat: use extern-inline
482         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
483         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
484         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
485         New macros.
486         * lib/openat.h:
487         Replace all uses of 'static inline' with them.
488         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
489         * modules/fchmodat, modules/fchownat, modules/fstatat:
490         * modules/openat-h:
491         (Depends-on):
492         Add extern-inline.
493         (configure.ac): Remove AC_C_INLINE.
494
495         acl, mbchar, priv-set: use extern-inline
496         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
497         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
498         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
499         New macros.
500         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
501         Replace all uses of 'static inline' with it.
502         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
503         * m4/acl.m4 (gl_FUNC_ACL):
504         * m4/mbchar.m4 (gl_MBCHAR):
505         * m4/priv-set.m4 (gl_PRIV_SET):
506         Remove AC_C_INLINE, since 'inline' is no longer used directly.
507         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
508         Add extern-inline.
509
510         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
511         * m4/sockets.m4 (gl_SOCKETS):
512         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
513         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
514         environments where it's already guaranteed to work, so we needn't
515         check for it at 'configure'-time.
516
517         tls-tests: omit unnecessary 'inline'
518         * tests/test-tls.c (perhaps_yield): No longer inline.
519         Simplicity and portability trump efficiency in test cases.
520
521         utimens-tests: avoid unnecessary 'inline'
522         * modules/fdutimensat-tests (configure.ac):
523         * modules/futimens-tests (configure.ac):
524         * modules/utimens-tests (configure.ac):
525         * modules/utimensat-tests (configure.ac):
526         Remove AC_C_INLINE.
527         * tests/test-utimens-common.h (ctime_compare):
528         No longer inline.  Simplicity and portability trump efficiency here.
529
530         misc: don't limit commentary to inline functions
531         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
532         * lib/xalloc-oversized.h, lib/xsize.h:
533         Contrast macros to functions in general, not just to inline functions,
534         when the commentary does not apply only to inline functions.
535
536 2012-09-20  Jim Meyering  <meyering@redhat.com>
537
538         non-recursive-gnulib-prefix-hack: new module
539         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
540         the file that originated in Bison.
541         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
542         largely copied from a snippet that resided in bison's configure.ac.
543         * modules/non-recursive-gnulib-prefix-hack: New file.
544         * MODULES.html.sh (Support for maintaining and releasing projects):
545         Add it.
546
547 2012-09-18  Jim Meyering  <meyering@redhat.com>
548
549         maint.mk: generalize _gl_tight_scope for non-recursive make
550         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
551         that *.h would describe additional .h files in the directory
552         specified by $(_gl_TS_dir).  I.e., add this...
553         (_gl_TS_other_headers): New variable.
554
555         maint.mk: exempt trailing blanks found in "binary" files
556         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
557         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
558         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
559
560 2012-09-17  Jim Meyering  <meyering@redhat.com>
561
562         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
563         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
564         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
565         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
566
567 2012-09-17  Jim Meyering  <meyering@redhat.com>
568
569         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
570         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
571         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
572         It is not in the same category as "exit (0)" or "exit (1)", and
573         besides, I know of no symbolic name for that 77.  Reported by
574         Richard W.M. Jones in
575         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
576
577 2012-09-17  Jim Meyering  <meyering@redhat.com>
578
579         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
580         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
581         all uses of #define, not just those that start in column 1.
582         Richard W.M. Jones reported a false positive in
583         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
584
585 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
586
587         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
588         * lib/localcharset.c (locale_charset) [DARWIN7]:
589         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
590         as these two values are incompatible.  Problem reported by Max Horn.
591         For more discussion, please see
592         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
593
594         doc: document sticky-EOF issue
595         * doc/posix-functions/fgetc.texi (fgetc):
596         * doc/posix-functions/fgets.texi (fgets):
597         * doc/posix-functions/fread.texi (fread):
598         * doc/posix-functions/fscanf.texi (fscanf):
599         * doc/posix-functions/getc.texi (getc):
600         * doc/posix-functions/getchar.texi (getchar):
601         * doc/posix-functions/scanf.texi (scanf):
602         Mention that glibc and default Solaris do not conform to
603         C99 and POSIX-2001 or later, with respect to how getchar
604         etc. behave when feof reports nonzero.
605
606 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
607
608         poll: fix poll(0, NULL, msec)
609         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
610         but nfd is 0.  In that case poll should behave like select.
611
612 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
613             Paolo Bonzini <bonzini@gnu.org>
614
615         poll: fix for systems that can't recv() on a non-socket
616         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
617         is readable.  In this case POLLHUP will not be supported.
618         * doc/posix-functions/poll.texi: Document this.
619
620 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
621
622         poll/select: document portability problems not fixed by Gnulib.
623         * doc/posix-functions/poll.texi: poll does not work well on
624         pipes under Windows.  It has the same limitations as select on
625         BeOS.
626         * doc/posix-functions/select.texi: select does not work well
627         on pipes under Windows.
628
629 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
630
631         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
632         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
633         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
634         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
635
636 2012-09-06  Eric Blake  <eblake@redhat.com>
637
638         net_if: give more details about the bug being fixed
639         * doc/posix-headers/net_if.texi: Add clarification.
640
641 2012-09-05  Eric Blake  <eblake@redhat.com>
642
643         net_if: new module
644         * modules/net_if: New module, borrowing ideas from netinet_in.
645         * m4/net_if_h.m4: New file.
646         * lib/net_if.in.h: Likewise.
647         * doc/posix-headers/net_if.texi (net/if.h): Document it.
648         * MODULES.html.sh (lacking POSIX:2008): Likewise.
649         * tests/test-net_if.c: Make function checks conditional.
650         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
651
652 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
653
654         readutmp: fix non-portable UT_PID use
655         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
656         Use `UT_PID (u) > 0' as absolute condition.
657
658 2012-09-04  Jim Meyering  <meyering@redhat.com>
659
660         fts: reduce two or more trailing spaces to just one, usually
661         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
662         or more slashes, trim all but the final one.  But if a name consists
663         solely of two slashes, don't modify it.  If it consists solely of
664         three or more slashes, strip all but one.
665
666         This is part of the solution to a minor problem with rm:
667         it would print a bogus ELOOP diagnostic when failing to remove
668         the slash-decorated name of a symlink-to-directory:
669
670             $ mkdir d && ln -s d s && env rm -r s/
671             rm: cannot remove 's': Too many levels of symbolic links
672
673         With the change below and a trivial don't-trim-trailing-slashes
674         adjustment to remove.c, it does this:
675
676             $ env rm -r s/
677             rm: cannot remove 's/': Not a directory
678
679         Improved by: Eric Blake
680
681         fts: when there is no risk of overlap, use memcpy, not memmove
682         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
683
684 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
685
686         stdbool: be more compatible with mixed C/C++ compiles
687         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
688         Define to bool, true, false, respectively, as GCC's builtin
689         stdbool.h does.  Problem reported by Michael Goffioul in
690         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
691
692 2012-08-28  Jim Meyering  <meyering@redhat.com>
693
694         revert last change: it was not needed
695         * tests/test-vc-list-files-git.sh: There's already a test for
696         a working git, just below.
697
698 2012-08-28  Jim Meyering  <meyering@redhat.com>
699
700         tests: test-vc-list-files-git.sh: skip if git is not available
701         * tests/test-vc-list-files-git.sh: Skip this test when git is
702         not available.
703
704 2012-08-26  Bruno Haible  <bruno@clisp.org>
705
706         gnulib-tool: Remove no-op option --no-changelog.
707         * gnulib-tool (func_usage): Don't mention --no-changelog.
708         (do_changelog): Remove variable.
709         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
710
711 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
712
713         doc: remove fdl-1.2.texi
714         It is no longer used or maintained, and its use of @acronym
715         is problematic.  See the thread containing
716         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
717         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
718         * doc/old-licenses/fdl-1.2.texi: Remove.
719
720         execinfo: port to FreeBSD
721         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
722         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
723         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
724         * modules/execinfo (Link): Add $(LIB_EXECINFO).
725
726 2012-08-23  Jim Meyering  <meyering@redhat.com>
727
728         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
729         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
730         to placate gcc's -Wold-style-declaration.
731
732 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
733
734         doc: do not use @acronym
735         * doc/inet_ntoa.texi (inet_ntoa):
736         * doc/parse-datetime.texi (Seconds since the Epoch)
737         (Specifying time zone rules):
738         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
739         Don't use @acronym.  Problem reported by John Darlington in
740         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
741
742 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
743
744         stdnoreturn: port to newer GCCs
745         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
746         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
747         Problem reported by Jim Meyering in
748         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
749         Also, rename the 'test' function to a void a clash with the
750         already-supplied 'main' function; this fixes a bug that incorrectly
751         rejected GCC 4.7.1's <stdnoreturn.h>.
752         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
753         Document GCC problem.
754
755 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
756
757         pipe-filter: fix comment typo
758         * lib/pipe-filter.h: Mention correct function.
759
760 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
761
762         execinfo: new module
763         This is for Emacs.  Currently, it provides a no-effect stub
764         on all platforms where it does not already work.
765         It already works on glibc-based systems, and on Solaris 11.
766         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
767         New files.
768         * doc/glibc-headers/execinfo.texi (execinfo.h):
769         * MODULES.html.sh (Misc): Document it.
770
771 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
772
773         extern-inline: support old GCC 'inline'
774         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
775         if available.  This applies to GCC versions 2.7 through 4.2, or
776         when newer GCC is using -fgnu89-inline.  The goal is to address
777         some of the performance issues mentioned by Bruno Haible in
778         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
779
780 2012-08-20  Eric Blake  <eblake@redhat.com>
781
782         maint.mk: avoid redundant file name in message
783         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
784         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
785         (sc_makefile_path_separator_check): Remove bogus $(ME).
786
787 2012-08-20  Mike Frysinger <vapier@gentoo.org>
788
789         timer-time: fix link order when static linking on glibc
790         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
791         _after_ -lrt so that it's significant.
792
793 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
794
795         timespec: omit unnecessary AC_C_INLINE
796         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
797
798         stat-time: omit unnecessary AC_C_INLINE
799         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
800         Do not require AC_C_INLINE.
801
802         ignore-value: omit unnecessary AC_C_INLINE
803         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
804
805         sys_select: avoid 'static inline'
806         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
807
808         mktime: avoid 'static inline'
809         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
810         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
811
812 2012-08-19  Bruno Haible  <bruno@clisp.org>
813
814         gnulib-tool: Improve coding style.
815         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
816         func_emit_lib_Makefile_am.
817         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
818
819 2012-08-19  Bruno Haible  <bruno@clisp.org>
820
821         gnulib-tool: Fix indentation.
822         * gnulib-tool (func_import): Fix indentation.
823
824 2012-08-19  Bruno Haible  <bruno@clisp.org>
825
826         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
827         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
828         on the list of removed files.
829
830 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
831
832         test-parse-datetime: avoid glibc leap-second glitch
833         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
834         with the 2012 rules.  Problem reported by Bruce Dubbs in
835         <http://bugs.gnu.org/12206>.
836
837 2012-08-14  Bruno Haible  <bruno@clisp.org>
838
839         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
840         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
841         from argument.
842         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
843
844 2012-08-14  Eric Blake  <eblake@redhat.com>
845
846         ldexp: relax license
847         * modules/ldexp (License): Trivial relax, since the module only
848         provides a permissively licensed m4 file.
849
850 2012-08-13  Bruno Haible  <bruno@clisp.org>
851
852         gnulib-tool: Fix persistence of --witness-c-macro option.
853         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
854         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
855
856 2012-08-11  Eric Blake  <eblake@redhat.com>
857
858         count-leading-zeros: use a lookup table on non-gcc compilers
859         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
860         alternate implementation, suggested by Jim Meyering.
861
862 2012-08-10  Eric Blake  <eblake@redhat.com>
863
864         count-leading-zeros: new module
865         * modules/count-leading-zeros: New module.
866         * m4/count-leading-zeros.m4: New file.
867         * lib/count-leading-zeros.h: Likewise.
868         * modules/count-leading-zeros-tests: New test.
869         * tests/test-count-leading-zeros.c: New file.
870         * MODULES.html.sh (Integer arithmetic functions): Document it.
871
872 2012-08-07  Simon Josefsson  <simon@josefsson.org>
873             Jim Meyering  <meyering@redhat.com>
874
875         maintainer-makefile: Fix syntax error with dash.
876         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
877         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
878
879 2012-08-05  Jim Meyering  <meyering@redhat.com>
880
881         extern-inline: also ignore -Wmissing-declarations
882         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
883         required with gcc-4.8.0-to-be.
884
885         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
886         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
887         for /error ?([^,]*)/.  This avoids false-positives for strings like
888         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
889
890 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
891
892         gnumakefile: better interaction with Automake-NG
893         * modules/gnumakefile [Makefile.am]: The makefiles generated by
894         Automake-NG always contain a definition of VPATH, even in non-VPATH
895         builds (its value being simply '.' in that case).  So, in the
896         'clean-GNUmakefile' rule, to determine whether running under a
897         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
898         '$(VPATH)' expands to the empty string.
899
900 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
901
902         base64: Use extern C scope in header file, for C++.
903         * lib/base64.h: Add C++ namespace protection.
904
905 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
906
907         stat-time, timespec, u64: support naive out-of-dir builds
908         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
909         Use '#include "foo.h"', not '#include <foo.h>', when including
910         one's own interface.  This works better when configuring with
911         out-of-directory builds, since packages need not add an
912         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
913
914 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
915
916         utimens: use extern-inline
917         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
918         * lib/utimens.h: Add copyright notice, since this is now large enough
919         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
920         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
921         * modules/utimens (Depends-on): Add extern-inline.
922
923         u64: use extern-inline
924         * lib/u64.c: New file.
925         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
926         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
927         * modules/u64 (Files): Add lib/u64.c.
928         (Depends-on): Add extern-inline.
929         (configure.ac): No need to require AC_C_INLINE, since extern-inline
930         does that now.
931         (lib_SOURCES): Add u64.c.
932
933         timespec: use extern-inline
934         * lib/timespec.c: New file.
935         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
936         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
937         * modules/timespec (Files): Add lib/timespec.c.
938         (Depends-on): Add extern-inline.
939         (lib_SOURCES): Add timespec.c.
940
941         stat-time: use extern-inline
942         * lib/stat-time.c: New file.
943         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
944         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
945         * modules/stat-time (Files): Add lib/stat-time.c.
946         (Depends-on): Add extern-inline.
947         (lib_SOURCES): Add stat-time.c.
948
949         extern-inline: new module
950         * modules/extern-inline, m4/extern-inline.m4: New files.
951         This is for better support of 'extern inline' a la ISO C99,
952         with a portable alternative on compilers that do not support
953         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
954         of the Emacs executable, when compiled with debugging disabled,
955         which is a typical way that Emacs is built while developing.
956
957 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
958
959         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
960         * build-aux/do-release-commit-and-tag: Move variable definitions
961         together.
962         ($branch): Instead of defaulting to "master", default to the current
963         branch (as gnu-web-doc-update does).
964         (help): Display the current values of the option arguments.
965         * top/maint.mk (release-commit): New.
966         * top/README-release: Simplify the corresponding step.
967
968 2012-07-30  Eric Blake  <eblake@redhat.com>
969
970         passfd: fix comment on recvfd
971         * lib/passfd.c (recvfd): Fix comment.
972         Reported by Jann Horn <jannhorn@googlemail.com>.
973
974 2012-07-30  Jim Meyering  <meyering@redhat.com>
975
976         maint.mk: avoid a sub-shell
977         * top/maint.mk (release-prep): Remove unneeded sub-shell.
978
979 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
980
981         maint.mk: use silent-rules support from Automake
982         * top/maint.mk (news-check, vc-diff-check, announcement)
983         (no-submodule-changes, alpha beta stable, release-prep)
984         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
985
986 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
987
988         maint.mk: provide a web-manual-update target
989         * top/maint.mk: here.
990         * top/README-release: Use it to simplify the web manual update step.
991
992 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
993
994         README-release: shorten the circuit to post a news
995         * top/README-release: Point directly to the news submission form.
996
997 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
998
999         gnu-web-doc-update: fix --help
1000         * build-aux/gnu-web-doc-update: The information "top level" was written
1001         twice.
1002
1003 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1004
1005         maint.mk: absolute VPATH issue
1006         * top/maint.mk (release-prep): Help Git find .git/.
1007         From Jim Meyering.
1008
1009 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1010
1011         gitlog-to-changelog: fix previous change
1012         * build-aux/gitlog-to-changelog: Fix condition.
1013         Add missing ";".
1014
1015 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1016
1017         gitlog-to-changelog: don't expect .git to be in $srcdir
1018         Reported by Bruno Haible.
1019         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
1020         * build-aux/gitlog-to-changelog (&git_dir_option): New.
1021         Use it.
1022
1023 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1024
1025         maint.mk: absolute VPATH build fix
1026         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
1027         $(srcdir) is not a parent of $(builddir).
1028
1029 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
1030
1031         clean-temp: Fix memory leak.
1032         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
1033         'files' members of tmpdir.
1034
1035 2012-07-27  Jim Meyering  <meyering@redhat.com>
1036
1037         maint.mk: new rule: refresh-gnulib-patches
1038         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
1039         Use this rule to refresh them.
1040         * top/maint.mk (refresh-gnulib-patches): New rule.
1041
1042 2012-07-24  Bruno Haible  <bruno@clisp.org>
1043
1044         gnulib-tool: Fix handling of inctests variable.
1045         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
1046         Reported by Nick Bowler <nbowler@elliptictech.com>.
1047
1048 2012-07-22  Bruno Haible  <bruno@clisp.org>
1049
1050         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
1051         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
1052         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
1053         Remove exemption for getpass.h.
1054         Suggested by Eric Blake.
1055
1056 2012-07-20  Eric Blake  <eblake@redhat.com>
1057
1058         verify: document conflict with -Wnested-externs
1059         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
1060
1061         maint.mk: forbid exit(-1)
1062         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
1063
1064 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
1065
1066         fsusage: port back to Solaris
1067         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
1068         error (fsd not declared) on Solaris 10.  Reported privately by
1069         Andrew Borodin.
1070
1071 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
1072
1073         gnu-web-doc-update: fix error messages
1074         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
1075
1076         gnu-web-doc-update: check the requirements.
1077         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
1078         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
1079         * build-aux/bootstrap (find_tool): Comment change.
1080
1081 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
1082
1083         maint.mk: minor simplication.
1084         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
1085         for default values.
1086
1087 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
1088
1089         gitlog-to-changelog: VPATH build issues
1090         If builddir is not a subdirectory of srcdir, running git from it will
1091         fail.
1092         * build-aux/gitlog-to-changelog (--srcdir): New option.
1093
1094 2012-07-15  Bruno Haible  <bruno@clisp.org>
1095
1096         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
1097         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
1098         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
1099         Remove exemption for fpending.h.
1100         Suggested by Eric Blake.
1101
1102 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1103
1104         pthread_sigmask: fix bug on FreeBSD 9
1105         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
1106         Include string.h.
1107         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
1108         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
1109         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
1110         but pthread_sigmask (1729, NULL, NULL) returns zero.
1111         See <http://bugs.gnu.org/11884>.
1112         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
1113         by inspecting whether the main call changed the old mask.
1114
1115 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
1116
1117         README-release: make it more legible
1118         * top/README-release: Improve typography slightly.
1119
1120 2012-07-15  Jim Meyering  <meyering@redhat.com>
1121
1122         maint: require that each sc_... command start with "@"
1123         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
1124         "make sc_maint" helps us avoid this nit.
1125
1126 2012-07-15  Jim Meyering  <meyering@redhat.com>
1127
1128         maint.mk: add leading "@" to quiet new "make syntax-check" rule
1129         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
1130
1131 2012-07-13  Eric Blake  <eblake@redhat.com>
1132
1133         maint.mk: new syntax check for HAVE_DECL checks
1134         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
1135         * cfg.mk
1136         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
1137         Exempt some false positives.
1138         Based on a report by Karel Zak.
1139
1140         argp: make HAVE_DECL usage consistent
1141         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
1142         macros, not whether they are defined.
1143         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
1144         convention with other declaration checks.
1145         Reported by Karel Zak, with suggestions from Paul Eggert.
1146
1147         stat-time: relax license to LGPLv2+
1148         * modules/stat-time (License): Relax, with consent of all authors.
1149
1150         strndup: fix m4 usage error
1151         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
1152         defined, to either 0 or 1.
1153         Reported by Karel Zak.
1154
1155 2012-07-11  Jim Meyering  <meyering@redhat.com>
1156
1157         maint: enable the sc_avoid_if_before_free syntax-check rule
1158         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
1159         (if_before_free_offenders_): Define.
1160         (if_before_free_basename_re_): Define.
1161         Exempt current files with useless if-before-free.
1162
1163 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
1164
1165         gettext: do not assume '#define ... defined ...' behavior
1166         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
1167         Do not use '#define FOO ... defined BAR ...', as the C standard says
1168         it's not portable to expect that this works after macro expansion.
1169         Problem reported for gzip by Steven M. Schweda in
1170         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
1171
1172 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
1173
1174         getloadavg: clean out old Emacs and Autoconf cruft
1175         See Glenn Morris in <http://bugs.gnu.org/11905>.
1176         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
1177         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
1178         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
1179         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
1180
1181 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
1182
1183         bootstrap: let warn be like tests/init.sh's warn_
1184         Reported by Jim Meyering.
1185         * build-aux/bootstrap (warn): Remove, replaced by...
1186         (warnf_, warn_): these.
1187         Adjust callers.
1188         Shorten messages that no longer fit in 80 columns.
1189
1190 2012-07-09  Bruno Haible  <bruno@clisp.org>
1191
1192         getopt: Simplify after Emacs changed.
1193         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
1194         (gl_GETOPT_IFELSE): Remove macro.
1195
1196 2012-07-09  Jim Meyering  <meyering@redhat.com>
1197
1198         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
1199         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
1200
1201         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
1202         Bugs in both of those conspired to make the
1203         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
1204         _sc_search_regexp's handling of non-empty $in_files would filter
1205         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
1206         choice of in_files value meant there would be no match in most
1207         projects, due to the presence of two or more Makefile.in files.
1208         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
1209         Fix a bug in how a non-empty $$in_files was processed:
1210         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
1211         in spite of the name, it's a regexp, not a list of file names.
1212
1213 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
1214
1215         getloadavg, getopt: fix commentary re configure.in
1216         Autoconf is deprecating the name 'configure.in', so change it to
1217         to the new name 'configure.ac' in a couple of places.
1218         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
1219         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
1220         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
1221         Emacs has renamed it to configure.ac, and it no longer refers
1222         to these macros anyway.
1223
1224         timespec: mark functions with const attributes
1225         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
1226         Mark with _GL_ATTRIBUTE_CONST.
1227
1228 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
1229
1230         canonicalize[-lgpl]: handle "guessing" values when cross-building
1231         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
1232         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
1233         matches "*yes" instead of just "yes".  Regression introduced in commit
1234         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
1235
1236 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
1237             Bruno Haible  <bruno@clisp.org>
1238
1239         canonicalize: make the right guess when cross-compiling to GNU
1240         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
1241         determine whether cross-compiling to glibc systems, so as to
1242         include GNU/Hurd.
1243
1244 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1245
1246         timespec-sub: avoid duplicate include
1247         * lib/timespec-sub.c: Do not include <config.h> twice.
1248         Reported by Juanma Barranquero.
1249
1250 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
1251
1252         bootstrap: use a more consistent error reporting scheme
1253         * build-aux/bootstrap (warn, die): New.
1254         Use them.
1255
1256 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1257
1258         sys_time: allow too-wide tv_sec
1259         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
1260         timeval even if tv_sec is wider than time_t.  This allows
1261         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
1262         as without this patch gnulib replaces struct timeval
1263         and OpenBSD futimes therefore has a type mismatch.
1264         * doc/posix-headers/sys_time.texi: Mention this.
1265
1266         pthread: check for both pthread_create and pthread_join
1267         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
1268         alter the check so that it tests for both pthread_create and
1269         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
1270         Suggested by Bruno Haible and Richard Yao in
1271         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
1272
1273         parse-datetime: doc tuneup
1274         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
1275         spacing issues.
1276
1277 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
1278
1279         do-release-commit-and-tag: fix the previous commit
1280         * build-aux/do-release-commit-and-tag: Actually the test was right,
1281         but the comment and the error message were misleading.
1282         Fix comment, and improve error message.
1283         Perform check first, so that NEWS is not modified uselessly.
1284
1285         do-release-commit-and-tag: fix typo
1286         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
1287         _not_ start with a stub.
1288
1289 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1290
1291         pthread: check for pthread_create, not pthread_join
1292         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
1293         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
1294         pthread_join in libc.  I hope this removes the need for all the
1295         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
1296         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
1297
1298 2012-07-04  Jim Meyering  <meyering@redhat.com>
1299
1300         parse-datetime: fix failure to diagnose invalid input
1301         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
1302         rather than diagnosing the invalid input.  Now it reports this:
1303         date: invalid date '\260'
1304         * lib/parse-datetime.y (to_uchar): Define.
1305         (yylex): Don't sign-extend "other" bytes.
1306         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
1307         Thanks to Bruno Haible for the patch to this file.
1308         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
1309         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
1310
1311 2012-07-03  Jim Meyering  <meyering@redhat.com>
1312
1313         bootstrap: do not require now-removed build-aux/missing
1314         Now that build-aux/missing is, er, missing, bootstrap would
1315         silently fail.
1316         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
1317         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
1318         no longer part of gnulib.
1319         Diagnose the failure.
1320
1321 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
1322
1323         alloca: add support for HP NonStop TNS/E native
1324         * lib/alloca.in.h (alloca): Support the new host.
1325         From a suggestion by Joachim Schmitz in
1326         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
1327
1328 2012-07-02  Pádraig Brady  <P@draigBrady.com>
1329
1330         fsusage: remove code not needed on non GNU/Linux systems.
1331
1332         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
1333         Don't include headers no longer needed in this case.
1334         * lib/fsusage.c [STAT_STATVFS &&
1335         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
1336         STAT_STATFS2_FRSIZE to exclude code not used in this case.
1337
1338 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1339
1340         fsusage: include files needed for glibc 2.6 fallback
1341         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
1342         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
1343         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
1344         Problem reported by Ludovic Courtès in
1345         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
1346
1347         fsusage: avoid needless check on GNU/Linux
1348         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
1349         on GNU/Linux systems, since it can't possibly work.
1350
1351 2012-07-01  Bruno Haible  <bruno@clisp.org>
1352
1353         log: Fix an autoconf >= 2.64 warning.
1354         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
1355         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1356
1357 2012-06-28  Bruno Haible  <bruno@clisp.org>
1358
1359         log10f: Fix possible configuration problem.
1360         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
1361         $LOGF_LIBM.
1362         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1363
1364 2012-06-28  Bruno Haible  <bruno@clisp.org>
1365
1366         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
1367         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
1368         not gl_cv_func_unlink_works.
1369         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1370
1371 2012-06-27  Eric Blake  <eblake@redhat.com>
1372
1373         config: drop scripts that automake says are not independent
1374         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
1375         * build-aux/elisp-comp: Delete.
1376         * build-aux/missing: Likewise.
1377         * build-aux/ylwrap: Likewise.
1378         * modules/elisp-comp: Likewise.
1379         * MODULES.html.sh: Drop mention of elisp-comp.
1380         * NEWS: Mention this.
1381
1382 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
1383
1384         root-uid: new module
1385         This is for portability to Tandem's NonStop Kernel.
1386         * lib/root-uid.h, modules/root-uid: New files.
1387         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
1388         * lib/write-any-file.c, tests/test-sethostname2.c:
1389         Include "root-uid.h".
1390         * lib/euidaccess.c (euidaccess):
1391         * lib/pt_chown.c (main):
1392         * lib/unlinkdir.c (cannot_unlink_dir):
1393         * lib/write-any-file.c (can_write_any_file):
1394         * m4/mknod.m4 (gl_FUNC_MKNOD):
1395         * tests/test-sethostname2.c (geteuid, main):
1396         Don't assume ROOT_UID == 0.
1397         * modules/euidaccess (Depends-on):
1398         * modules/pt_chown (Depends-on):
1399         * modules/sethostname-tests (Depends-on):
1400         * modules/unlinkdir (Depends-on):
1401         * modules/write-any-file (Depends-on):
1402         Add root-uid.
1403
1404         regex: use locale-independent comparison for codeset name
1405         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
1406         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
1407         for codeset name.
1408         * lib/regex_internal.h: Do not include <strings.h>, since we
1409         no longer use strcasecmp.
1410         * modules/regex (Depends-on): Remove strcase.
1411
1412 2012-06-23  Bruno Haible  <bruno@clisp.org>
1413
1414         getopt-posix: No longer guarantee that option processing is resettable.
1415         * doc/posix-functions/getopt.texi: Drop description of problem with
1416         internal state. Fix info about mingw and msvc9.
1417         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
1418         option processing by getopt(). Run three test programs instead of one.
1419         Simplify cross-compilation guess.
1420         * NEWS: Mention the change.
1421         Reported by Rich Felker <dalias@aerifal.cx>.
1422
1423 2012-06-26  Bruno Haible  <bruno@clisp.org>
1424
1425         argp, regex: Ensure strcasecmp gets declared.
1426         * lib/argp-help.c: Include <strings.h>.
1427         * lib/regex_internal.h: Likewise.
1428         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
1429
1430 2012-06-24  Bruno Haible  <bruno@clisp.org>
1431
1432         ptsname_r: Make it consistent with ptsname on AIX.
1433         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
1434         implementation as for OSF/1.
1435         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
1436         a pty master.
1437
1438         ptsname_r: Make it consistent with ptsname on OSF/1.
1439         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
1440         OSF/1.
1441
1442 2012-06-24  Bruno Haible  <bruno@clisp.org>
1443
1444         ttyname_r: Fix result on OSF/1, Solaris.
1445         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
1446
1447 2012-06-24  Bruno Haible  <bruno@clisp.org>
1448
1449         ptsname_r: Add support for Solaris.
1450         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
1451         Solaris.
1452
1453         ptsname_r: Fix test failure on native Windows.
1454         * modules/ptsname_r (Depends-on): Add isatty.
1455
1456         ptsname_r: Fix test failures on IRIX, Solaris.
1457         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
1458         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
1459         accordingly.
1460         * lib/ptsname_r.c: Include <fcntl.h>.
1461         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
1462         set errno if fd is invalid.
1463         * tests/test-isatty.c (main): Update comments.
1464
1465 2012-06-24  Bruno Haible  <bruno@clisp.org>
1466
1467         ptsname test: Extend test.
1468         * tests/test-ptsname.c: Include <errno.h>.
1469         (main): Test behaviour with invalid file descriptor.
1470
1471 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1472
1473         time: fix obsolete comment
1474         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
1475         reference to HAVE_STRUCT_TIMESPEC in comment.
1476
1477 2012-06-23  Bruno Haible  <bruno@clisp.org>
1478
1479         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
1480         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
1481         does not handle abbreviated long options with equivalent
1482         disambiguations, set gl_replace_getopt to yes.
1483         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
1484
1485 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
1486
1487         time_r: fix typo that always overrode localtime_r decl
1488         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
1489         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
1490         not in a standard include.
1491
1492 2012-06-22  Bruno Haible  <bruno@clisp.org>
1493
1494         Write "Mac OS X" instead of "MacOS X".
1495         * README: Write "Mac OS X" instead of "MacOS X".
1496         * build-aux/bootstrap: Likewise.
1497         * build-aux/install-reloc: Likewise.
1498         * lib/acl-internal.h: Likewise.
1499         * lib/acl_entries.c: Likewise.
1500         * lib/argp-ba.c: Likewise.
1501         * lib/argp-pv.c: Likewise.
1502         * lib/config.charset: Likewise.
1503         * lib/copy-acl.c: Likewise.
1504         * lib/csharpexec.c: Likewise.
1505         * lib/euidaccess.c: Likewise.
1506         * lib/fbufmode.c: Likewise.
1507         * lib/fflush.c: Likewise.
1508         * lib/file-has-acl.c: Likewise.
1509         * lib/filemode.h: Likewise.
1510         * lib/fpurge.c: Likewise.
1511         * lib/freadable.c: Likewise.
1512         * lib/freadahead.c: Likewise.
1513         * lib/freading.c: Likewise.
1514         * lib/freadptr.c: Likewise.
1515         * lib/freadseek.c: Likewise.
1516         * lib/fseeko.c: Likewise.
1517         * lib/fseterr.c: Likewise.
1518         * lib/fsusage.c: Likewise.
1519         * lib/fwritable.c: Likewise.
1520         * lib/fwriting.c: Likewise.
1521         * lib/get-rusage-as.c: Likewise.
1522         * lib/get-rusage-data.c: Likewise.
1523         * lib/getdomainname.c: Likewise.
1524         * lib/idpriv-drop.c: Likewise.
1525         * lib/idpriv-droptemp.c: Likewise.
1526         * lib/localcharset.c: Likewise.
1527         * lib/locale.in.h: Likewise.
1528         * lib/localename.c: Likewise.
1529         * lib/mbsrtowcs-state.c: Likewise.
1530         * lib/nproc.c: Likewise.
1531         * lib/passfd.c: Likewise.
1532         * lib/posix_openpt.c: Likewise.
1533         * lib/printf-parse.c: Likewise.
1534         * lib/progreloc.c: Likewise.
1535         * lib/safe-read.h: Likewise.
1536         * lib/safe-write.h: Likewise.
1537         * lib/sched.in.h: Likewise.
1538         * lib/set-mode-acl.c: Likewise.
1539         * lib/signal.in.h: Likewise.
1540         * lib/stdint.in.h: Likewise.
1541         * lib/stdio-impl.h: Likewise.
1542         * lib/stdlib.in.h: Likewise.
1543         * lib/strtod.c: Likewise.
1544         * lib/sys_select.in.h: Likewise.
1545         * lib/tcgetsid.c: Likewise.
1546         * lib/unistd.in.h: Likewise.
1547         * lib/unlockpt.c: Likewise.
1548         * lib/vasnprintf.c: Likewise.
1549         * lib/vma-iter.c: Likewise.
1550         * lib/wcsrtombs-state.c: Likewise.
1551         * m4/acl.m4: Likewise.
1552         * m4/acosl.m4: Likewise.
1553         * m4/asinl.m4: Likewise.
1554         * m4/atanl.m4: Likewise.
1555         * m4/c-stack.m4: Likewise.
1556         * m4/cosl.m4: Likewise.
1557         * m4/expl.m4: Likewise.
1558         * m4/extensions.m4: Likewise.
1559         * m4/fdatasync.m4: Likewise.
1560         * m4/fmal.m4: Likewise.
1561         * m4/frexp.m4: Likewise.
1562         * m4/frexpf.m4: Likewise.
1563         * m4/frexpl.m4: Likewise.
1564         * m4/fsusage.m4: Likewise.
1565         * m4/getdomainname.m4: Likewise.
1566         * m4/getloadavg.m4: Likewise.
1567         * m4/getopt.m4: Likewise.
1568         * m4/gettext.m4: Likewise.
1569         * m4/gnulib-common.m4: Likewise.
1570         * m4/intdiv0.m4: Likewise.
1571         * m4/intlmacosx.m4: Likewise.
1572         * m4/largefile.m4: Likewise.
1573         * m4/ldexpl.m4: Likewise.
1574         * m4/link-follow.m4: Likewise.
1575         * m4/locale-ar.m4: Likewise.
1576         * m4/locale-fr.m4: Likewise.
1577         * m4/locale-ja.m4: Likewise.
1578         * m4/locale-tr.m4: Likewise.
1579         * m4/locale-zh.m4: Likewise.
1580         * m4/locale_h.m4: Likewise.
1581         * m4/lock.m4: Likewise.
1582         * m4/logl.m4: Likewise.
1583         * m4/mathfunc.m4: Likewise.
1584         * m4/minus-zero.m4: Likewise.
1585         * m4/mktime.m4: Likewise.
1586         * m4/mmap-anon.m4: Likewise.
1587         * m4/multiarch.m4: Likewise.
1588         * m4/nanosleep.m4: Likewise.
1589         * m4/nocrash.m4: Likewise.
1590         * m4/poll.m4: Likewise.
1591         * m4/printf-frexpl.m4: Likewise.
1592         * m4/printf.m4: Likewise.
1593         * m4/signbit.m4: Likewise.
1594         * m4/sinl.m4: Likewise.
1595         * m4/sqrtl.m4: Likewise.
1596         * m4/strerror_r.m4: Likewise.
1597         * m4/tanl.m4: Likewise.
1598         * m4/threadlib.m4: Likewise.
1599         * m4/ttyname_r.m4: Likewise.
1600         * m4/unlink.m4: Likewise.
1601         * m4/visibility.m4: Likewise.
1602         * m4/wcwidth.m4: Likewise.
1603         * tests/minus-zero.h: Likewise.
1604         * tests/test-alloca-opt.c: Likewise.
1605         * tests/test-copy-acl.sh: Likewise.
1606         * tests/test-copy-file.sh: Likewise.
1607         * tests/test-fdatasync.c: Likewise.
1608         * tests/test-file-has-acl.sh: Likewise.
1609         * tests/test-flock.c: Likewise.
1610         * tests/test-fsync.c: Likewise.
1611         * tests/test-localename.c: Likewise.
1612         * tests/test-malloca.c: Likewise.
1613         * tests/test-nonblocking-pipe.h: Likewise.
1614         * tests/test-nonblocking-socket.h: Likewise.
1615         * tests/test-openpty.c: Likewise.
1616         * tests/test-posix_openpt.c: Likewise.
1617         * tests/test-ptsname.c: Likewise.
1618         * tests/test-ptsname_r.c: Likewise.
1619         * tests/test-sameacls.c: Likewise.
1620         * tests/test-select.h: Likewise.
1621         * tests/test-set-mode-acl.sh: Likewise.
1622         * tests/test-snprintf-posix.h: Likewise.
1623         * tests/test-sprintf-posix.h: Likewise.
1624         * tests/test-strtod.c: Likewise.
1625         * tests/test-time.c: Likewise.
1626         * tests/test-vasnprintf-posix.c: Likewise.
1627         * tests/test-vasprintf-posix.c: Likewise.
1628         * doc/acl-resources.txt: Likewise.
1629         * doc/**/*.texi: Likewise.
1630         Reported by Max Horn <max@quendi.de>.
1631
1632 2012-06-22  Bruno Haible  <bruno@clisp.org>
1633
1634         grantpt: Relax requirement regarding invalid file descriptors.
1635         * lib/grantpt.c: Don't include <fcntl.h>.
1636         (grantpt): Don't verify the validity of the file descriptor.
1637         * modules/grantpt (Depends-on): Remove fcntl-h.
1638         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
1639         file descriptors.
1640         * doc/posix-functions/grantpt.texi: Document more platforms on which
1641         grantpt succeeds for invalid file descriptors.
1642         Reported by Rich Felker <dalias@aerifal.cx>.
1643
1644 2012-06-22  Bruno Haible  <bruno@clisp.org>
1645
1646         fbufmode test: Don't test unportable behaviour.
1647         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
1648         (main): Invoke it three times.
1649         Reported by Szabolcs Nagy <nsz@port70.net>
1650         and Rich Felker <dalias@aerifal.cx>.
1651
1652 2012-06-21  Bruno Haible  <bruno@clisp.org>
1653
1654         gnulib-tool: Refactor inctests variable.
1655         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
1656         (func_modules_transitive_closure,
1657         func_modules_transitive_closure_separately,
1658         func_import, func_create_testdir): Update.
1659
1660         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
1661         * gnulib-tool: Accept option --without-tests.
1662         (func_usage): Document --without-tests option. Rearrange.
1663         (inctests): Normalize according to the mode.
1664         * NEWS: Mention the change.
1665         Suggested by Simon Josefsson.
1666
1667 2012-06-21  Bruce Korb  <bkorb@gnu.org>
1668
1669         parse-duration test: Avoid spurious output.
1670         * tests/test-parse-duration.sh: Reindent with leading tabs.
1671
1672 2012-06-21  Jim Meyering  <meyering@redhat.com>
1673
1674         maint: disable the strncpy prohibition
1675         * cfg.mk: Do not prohibit strncpy here.
1676
1677 2012-06-21  Bruno Haible  <bruno@clisp.org>
1678
1679         nonblocking: Avoid compilation error on mingw64.
1680         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
1681         fscanf.
1682         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
1683         * modules/vfscanf (configure.ac): Likewise.
1684         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
1685         definition only if stdio.h has prepared it.
1686         Reported by Daniel P. Berrange <berrange@redhat.com>.
1687
1688 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
1689
1690         gnulib-tool: Use readlink if it is available.
1691         * gnulib-tool (func_readlink): Choose function more appropriately.
1692
1693 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1694
1695         posixtm-tests: port to buggy compiler
1696         Problem reported by Simon Josefsson in
1697         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
1698         * modules/posixtm-tests (Depends-on): Add stdint.
1699         * tests/test-posixtm.c (struct posixtm_test.t_expected):
1700         Now of type int_least64_t, not int64_t, both because that's
1701         what INT64_C returns and because int_least64_t works even
1702         on 72-bit hosts.
1703         (T): Use INT64_C on constants outside the traditional int range,
1704         to work around compiler bug noted by Simon.
1705
1706         mktime: fix integer overflow in 'configure'-time test
1707         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
1708         after integer overflow.  Problem reported by Rich Felker in
1709         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
1710         Also, don't look for further instances of a bug if we've already
1711         found one instance; this helps 'configure' run faster.
1712
1713 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
1714
1715         tmpfile, clean-temp: Fix invocation of GetVersionEx.
1716         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
1717         GetVersionEx correctly.
1718         * lib/clean-temp.c (supports_delete_on_close): Likewise.
1719
1720 2012-06-20  Bruno Haible  <bruno@clisp.org>
1721
1722         fdopen: Allow implementations that don't reject invalid fd arguments.
1723         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
1724         succeeds.
1725         Reported by Rich Felker <dalias@aerifal.cx>.
1726
1727 2012-06-20  Simon Josefsson  <simon@josefsson.org>
1728
1729         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
1730         bring in LIBINTL.
1731
1732 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1733
1734         init.sh: do not rely on autoupated PWD
1735         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
1736         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
1737         Although Nelson's bug was not necessarily fixed by this patch,
1738         it seems wise to make the change for safety.
1739         * tests/init.sh (path_prepend_): Do not rely on PWD updating
1740         automagically after 'cd'; this is not reliable on older shells.
1741         (setup_): Fail if we cannot cd to temporary directory.
1742
1743 2012-06-19  Bruno Haible  <bruno@clisp.org>
1744
1745         stat, fstat: Avoid warnings on mingw64.
1746         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
1747         redefining.
1748         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
1749         Reported by Daniel P. Berrange <berrange@redhat.com>.
1750
1751 2012-06-19  Bruno Haible  <bruno@clisp.org>
1752
1753         stdioext: Add support for musl libc.
1754
1755         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
1756         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
1757
1758         * m4/fseterr.m4: New file.
1759         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
1760         function exists.
1761         * modules/fseterr (Files): Add m4/fseterr.m4.
1762         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
1763         __fseterr does not exist.
1764         (Makefile.am): Remove fseterr.c from lib_SOURCES.
1765
1766         * lib/freadable.h: Update comment.
1767
1768         * lib/fwritable.h: Update comment.
1769
1770         * lib/freading.h: Update comment.
1771
1772         * lib/fwriting.h: Update comment.
1773
1774         * m4/freadahead.m4: New file.
1775         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
1776         that function exists.
1777         * modules/freadahead (Files): Add m4/freadahead.m4.
1778         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
1779         __freadahead does not exist.
1780         (Makefile.am): Remove freadahead.c from lib_SOURCES.
1781
1782         * m4/freadptr.m4: New file.
1783         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
1784         function exists.
1785         * modules/freadptr (Files): Add m4/freadptr.m4.
1786         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
1787         __freadptr does not exist.
1788         (Makefile.am): Remove freadptr.c from lib_SOURCES.
1789
1790         * m4/freadseek.m4: New file.
1791         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
1792         exists.
1793         * modules/freadseek (Files): Add m4/freadseek.m4.
1794         (configure.ac): Invoke gl_FUNC_FREADSEEK.
1795
1796         * lib/fpurge.c (fpurge): Update comment.
1797
1798         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
1799
1800 2012-06-19  Bruno Haible  <bruno@clisp.org>
1801
1802         *printf-posix: Put more info into config.log.
1803         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
1804         exit code into config.log.
1805
1806 2012-06-19  Bruno Haible  <bruno@clisp.org>
1807
1808         getopt-gnu: Fix exit code overflow in autoconf test.
1809         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
1810         to keep them below < 128.
1811
1812 2012-06-17  Jim Meyering  <meyering@redhat.com>
1813
1814         maint.mk: fix typo in code to derive GPG key at release time
1815         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
1816
1817 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1818
1819         regex: avoid warning when pointers are not long
1820         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
1821         and uintptr_t, not long, for portability to hosts where pointers and
1822         long have different sizes.  Issue noted by Daniel P. Berrange in
1823         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
1824         and fix suggested by Bruno Haible in
1825         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
1826
1827 2012-06-17  Bruno Haible  <bruno@clisp.org>
1828
1829         dummy: Relicense into the public domain.
1830         * modules/dummy (License): Set to "public domain".
1831         Suggested by Reuben Thomas.
1832
1833 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1834
1835         announce-gen: VPATH issues
1836         * build-aux/announce-gen (--srcdir): New option, used to trim the
1837         $srcdir part of the path from $builddir to NEWS.
1838         * top/maint.mk (announcement): Adjust.
1839
1840 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1841
1842         gnu-web-doc-update: VPATH builds
1843         * build-aux/gnu-web-doc-update (--builddir): New option.
1844         Revamp the handling of options.
1845         Prefer $(...) to `...`.
1846         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
1847         the template, and it is GNU mktemp specific.
1848         Prefer set -e to long series of &&.
1849         Restore the initial git branch, not "master".
1850         Properly initialize submodules (don't rely only on bootstrap).
1851         Do not reconfigure blindly, use config.status.
1852         * top/README-release: Update instructions for gnu-web-doc-update.
1853
1854 2012-06-11  Jim Meyering  <meyering@redhat.com>
1855
1856         maint.mk: revert most of the previous change re "all these"
1857         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
1858         For rationale, see the discussion at
1859         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
1860
1861 2012-06-10  Karl Berry  <karl@gnu.org>
1862
1863         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
1864
1865         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
1866
1867 2012-06-10  Bruce Korb  <bkorb@gnu.org>
1868
1869         parse-duration: Relicense under LGPLv2+.
1870         * modules/parse-duration (License): Change to LGPLv2+.
1871
1872 2012-06-10  Jim Meyering  <meyering@redhat.com>
1873
1874         maint.mk: prohibit common grammar error: "all these"
1875         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
1876         the list of prohibited word sequences.  It should be "all of these".
1877         * lib/tempname.c (__gen_tempname): Fix one of them.
1878
1879 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1880
1881         do-release-commit-and-tag: support VPATH builds
1882         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
1883         (noteworthy): Defined earlier to factor its value.
1884         (noteworthy_stub): New.
1885         Use it to factor.
1886         (help_version): Split into...
1887         (help, version): these.
1888         Adjust the option processing part.
1889         Support "--option=value" in addition to "--option value".
1890         (builddir): New.
1891         (--builddir): New option.
1892         * top/README-release: Document this.
1893         Reword slightly so that the reader cannot understand that he
1894         has to do these steps before calling do-release-commit-and-tag.
1895
1896 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1897
1898         readme-release: also require announce-gen and maintainer-makefile
1899         * modules/readme-release (Depends-on): here.
1900         * modules/announce-gen, modules/do-release-commit-and-tag,
1901         modules/gnu-web-doc-update, modules/maintainer-makefile
1902         (Description): Point to readme-release.
1903
1904 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1905
1906         maint.mk: fix VPATH issues.
1907         * top/maint.mk (news-check): GNU Make understand $< very well.
1908         (release-prep): NEWS is in $(srcdir).
1909
1910 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
1911
1912         readme-release: require the promoted modules.
1913         * modules/readme-release (Depends-on): Add
1914         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
1915         in this text.
1916
1917 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1918             Bruno Haible  <bruno@clisp.org>
1919
1920         error, strerror-override: Support mingw64 from Fedora 17.
1921         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
1922         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
1923         EINPROGRESS.
1924         * lib/strerror-override.h (strerror_override): Test it.
1925         * lib/strerror-override.c (strerror_override): Likewise.
1926         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
1927
1928 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1929             Bruno Haible  <bruno@clisp.org>
1930
1931         error, strerror-override: Support mingw64 from Fedora 17.
1932         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
1933         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
1934         * lib/strerror-override.h (strerror_override): Test it.
1935         * lib/strerror-override.c (strerror_override): Likewise.
1936
1937 2012-06-03  Bruno Haible  <bruno@clisp.org>
1938
1939         error, strerror-override: Support new errno values from POSIX:2008.
1940         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
1941         ENOTRECOVERABLE.
1942         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
1943         platforms.
1944         * lib/strerror-override.c (strerror_override): Conditionalize the
1945         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
1946         * lib/strerror-override.h (strerror_override): Declare also if
1947         GNULIB_defined_EOWNERDEAD is defined.
1948         * tests/test-errno.c (e130, e131): New variables.
1949         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
1950         ENOTRECOVERABLE.
1951         Reported by Paolo Bonzini.
1952
1953 2012-05-31  Jim Meyering  <meyering@redhat.com>
1954
1955         savewd: add missing dependency on sys_wait module
1956         * modules/savewd (Depends-on): Add sys_wait, needed at least
1957         for MSVC.  Report and suggested change by Michael Goffioul.
1958
1959 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1960
1961         system-quote-tests: port to CentOS 5
1962         Problem reported by Tom G. Christensen in
1963         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
1964         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
1965
1966 2012-05-29  Jim Meyering  <meyering@redhat.com>
1967
1968         maint: fix typos in comments and ChangeLog
1969         Culprits identified and fixed mostly automatically using these commands:
1970         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
1971         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
1972         using http://github.com/lyda/misspell-check
1973         * ChangeLog: Fix typos.
1974         * doc/solaris-versions: Likewise.
1975         * lib/regexec.c (re_search_stub): Likewise.
1976         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1977
1978 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1979
1980         manywarnings: remove duplicate -Wmultichar entry
1981         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
1982         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
1983         so keep the entry marked as documented.
1984
1985 2012-05-27  Karl Berry  <karl@gnu.org>
1986
1987         * config/srclist.txt (mktime.c): remove last libc sync,
1988         perhaps just temporarily.
1989
1990 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1991
1992         regex: don't assume uint64_t or uint32_t
1993         * lib/regcomp.c (init_word_char): Don't assume that the types
1994         uint64_t and uint32_t exist.  The C standard doesn't guarantee
1995         them, and on some 32-bit compilers there is no uint64_t.
1996         Problem reported by Gianluigi Tiesi in
1997         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
1998
1999 2012-05-25  Jim Meyering  <meyering@redhat.com>
2000
2001         maint.mk: add strncpy-prohibiting syntax-check rule
2002         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
2003
2004 2012-05-24  Jim Meyering  <meyering@redhat.com>
2005
2006         maint.mk: compute $(gpg_key_ID) more portably
2007         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
2008         That use of sed is not portable to some fringe systems.
2009         Reported by Paul Eggert in
2010         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
2011
2012 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2013
2014         mktime: sync from glibc
2015         * config/srclist.txt: Uncomment mktime.c.
2016         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
2017         First, indent with tabs, since glibc uses tabs and doesn't want to
2018         change and we'd rather be identical to glibc.  Also, two small
2019         coding changes:
2020         (isdst_differ): Use &&, not &, as && is the usual style.
2021         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
2022         for clarity.
2023
2024 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
2025
2026         announce-gen: du -h is more portable than du --human
2027         * build-aux/announce-gen (sizes): Invoke du with -h instead
2028         of --human.  Accept leading white space in its output.
2029
2030 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
2031
2032         announce-gen: Improve diagnostics.
2033         * build-aux/announce-gen: When parsing command line options,
2034         prefer "announce-gen: option --release-type requires an argument"
2035         to "Option release-type requires an argument".
2036
2037 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
2038
2039         maint.mk: gpg_key_ID: use sed more portably
2040         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
2041         the closing brace.
2042         (refresh-po): Fuse two sed invocations into one.
2043
2044 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
2045
2046         gitlog-to-changelog: support the log message format used in Bison.
2047         * build-aux/gitlog-to-changelog: Support --strip-tab and
2048         --strip-cherry-picked.
2049
2050 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
2051
2052         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
2053         the rest of the current time slice to another thread in the current
2054         process. So if the thread that feeds the file decscriptor we're
2055         polling is not in the current process, we get busy-waiting.
2056         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
2057         Patch from Theodore Leblond.
2058         * lib/select.c: Split polling out of the loop that sets the output
2059         fd_sets.  Check for zero result and loop if the wait timeout is
2060         infinite.
2061
2062 2012-05-21  Simon Josefsson  <simon@josefsson.org>
2063
2064         select: Fix build error on IRIX 6.5.
2065         * lib/select.c: Include stddef.h for NULL.
2066
2067 2012-05-21  Simon Josefsson  <simon@josefsson.org>
2068
2069         gc: fix libgcrypt detection on older machines.
2070         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
2071         copyright years because the file has been distributed every year
2072         since it was created.
2073
2074 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
2075
2076         crypto: fix bug in large buffer handling
2077         Problem reported by Serge Belyshev for glibc in
2078         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
2079         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
2080         * lib/md4.c (md4_process_block):
2081         * lib/md5.c (md5_process_block):
2082         * lib/sha1.c (sha1_process_block):
2083         * lib/sha256.c (sha256_process_block):
2084         Don't assume the buffer length is less than 2**32.
2085         * lib/sha512.c (sha512_process_block): Likewise.
2086         Here, the bug is present only in the rare case where the host does
2087         not support uint64_t or where size_t is wider than 64 bits.
2088         Use u64size to work around the problems.
2089         * lib/u64.h (u64size): New macro.
2090
2091 2012-05-15  Pádraig Brady  <P@draigBrady.com>
2092
2093         fsusage: fix block size returned on older Linux 2.6
2094
2095         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
2096         which is available since Linux 2.6.
2097         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
2098         when the member is available so it can be used as a fallback.
2099         * doc/posix-functions/statvfs.texi: Mention the hang issue
2100         on Linux < 2.6.36.
2101
2102 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
2103
2104         bootstrap: suppress stderr chatter
2105         * build-aux/bootstrap (insert_sorted_if_absent, main program):
2106         Omit unnecessary chatter to stderr.  The main program chatter
2107         was there only inadvertantly.
2108
2109         bootstrap: .gitignore files created by autopoint, libtool
2110         I ran into this problem when bootstrapping the latest diffutils.
2111         After './bootstrap', 'git status' reported lots of untracked files
2112         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
2113         autopoint and do not need to be version-controlled.
2114         * build-aux/bootstrap: Put into .gitignore the files that
2115         autopoint and libtool create, by keeping track of files that exist
2116         after but not before these programs are run.
2117         (version_controlled_file): Move up.  2nd arg is now full file
2118         name, not base name; this is more convenient.  Put CVS at the end,
2119         as it's now somewhat deprecated.
2120
2121 2012-05-14  Jim Meyering  <meyering@redhat.com>
2122
2123         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
2124         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
2125         definition.  Reported by Bruno Haible.
2126
2127 2012-05-13  Bruno Haible  <bruno@clisp.org>
2128             Paul Eggert  <eggert@cs.ucla.edu>
2129
2130         binary-io: Define set_binary_mode function.
2131         * lib/binary-io.h (set_binary_mode): New function.
2132         (SET_BINARY): Define in terms of set_binary_mode.
2133         * modules/binary-io (configure.ac): Require AC_C_INLINE.
2134         * tests/test-binary-io.c (main): Accept an argument, and test either
2135         set_binary_mode or SET_BINARY depending on the argument.
2136         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
2137         argument. Clean up also t-bin-out0.tmp.
2138
2139 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2140
2141         bootstrap: take advantage of POSIX shell features
2142
2143         The 'bootstrap' script offered by Gnulib script already uses POSIX
2144         shell features (like $((...)) arithmetic expansions) that are not
2145         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
2146         means that bootstrap must already be run using a proper POSIX shell,
2147         which will thus provide more features, like ${var#pattern} parameter
2148         expansion or inversion of a command exit status with '!'.  We can
2149         thus use these features to improve the clarity and the performances
2150         of the bootstrap script.
2151
2152         Suggested by Eric Blake.
2153
2154         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
2155         of sed/expr plus command substitutions, to save some forks.  While
2156         we are at it, prefer the POSIX $(...) form of command substitution,
2157         rather than the legacy form `...` (since the former is visually
2158         clearer and interacts better with quoting), and prefer the idiom:
2159           "if ! CMD; then ACTION ..."
2160         over the idiom:
2161           "if CMD; then :; else ACTION ..."
2162         which was required by legacy Bourne shells not supporting '!'.
2163
2164 2012-05-12  Bruno Haible  <bruno@clisp.org>
2165
2166         system-quote: Add more comments.
2167         * lib/system-quote.h: Add more comments about wilcards and limitations.
2168         Suggested by Eli Zaretskii <eliz@gnu.org>.
2169
2170         sh-quote, system-quote: Add comments about wildcards.
2171         * lib/sh-quote.h: Clarify what happens with wildcard characters.
2172         * lib/system-quote.h: Likewise.
2173         Reported by Eli Zaretskii <eliz@gnu.org>.
2174
2175 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2176
2177         fsusage: check for GNU/Linux statvfs problem dynamically
2178         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
2179         Define STAT_STATFS2_BSIZE too, since in this case the code now
2180         checks dynamically whether statvfs is reliable, falling back on
2181         Linux-style statfs otherwise.
2182         (statvfs_works): New function, for dynamically testing statvfs.
2183         (get_fs_usage) [STAT_STATVFS]: Use it.
2184         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
2185         statvfs on GNU/Linux hosts, since it's now done dynamically.
2186
2187 2012-05-10  Bruno Haible  <bruno@clisp.org>
2188
2189         system-quote, execute, spawn-pipe: Escape '?' on Windows.
2190         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
2191         '?' character.
2192         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
2193         * tests/test-system-quote-main.c (check_all): Check also strings like
2194         "??????????".
2195         Reported by Eli Zaretskii <eliz@gnu.org>.
2196
2197 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
2198
2199         _Noreturn: port config.h to gcc -Wundef
2200         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
2201         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
2202         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
2203
2204 2012-05-10  Bruno Haible  <bruno@clisp.org>
2205
2206         system-quote: Refactor.
2207         * lib/system-quote.h (system_quote_copy): Fix comment.
2208         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
2209         New functions, extracted from system_quote_copy.
2210         (system_quote_length, system_quote_copy): Use these functions.
2211         Reported by Paul Eggert.
2212
2213 2012-05-08  Bruno Haible  <bruno@clisp.org>
2214
2215         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
2216         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
2217
2218 2012-05-08  Bruno Haible  <bruno@clisp.org>
2219
2220         Tests for module 'system-quote'.
2221         * modules/system-quote-tests: New file.
2222         * tests/test-system-quote.sh: New file.
2223         * tests/test-system-quote-main.c: New file.
2224         * tests/test-system-quote-child.c: New file.
2225
2226         New module 'system-quote'.
2227         * lib/system-quote.h: New file.
2228         * lib/system-quote.c: New file.
2229         * modules/system-quote: New file.
2230
2231 2012-05-08  Bruno Haible  <bruno@clisp.org>
2232
2233         sh-quote: Make C++ safe and allow multiple inclusion.
2234         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
2235         declarations in extern "C".
2236
2237 2012-05-08  Bruno Haible  <bruno@clisp.org>
2238
2239         sh-quote tests: Make tests stricter.
2240         * tests/test-sh-quote.c (check_one): Check the return value of
2241         shell_quote_copy.
2242         (main): Check a string with a CR character. Check a string that
2243         contains UCHAR_MAX.
2244
2245 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
2246
2247         warnings.m4: provide a means to specify the program to compile.
2248         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
2249         (gl_WARN_ADD): here.
2250         Use gl_AS_VAR_APPEND.
2251         Support an argument to specify the program to compile.
2252         (gl_WARN_ADD): Accept an argument to specify the program to compile.
2253         AC_SUBST the WARN_CFLAGS when they are used.
2254         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
2255         leave this to gl_WARN_ADD.
2256
2257 2012-05-08  Eric Blake  <eblake@redhat.com>
2258
2259         doc: recommendations on gettext version
2260         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
2261         choice between versions.
2262         * DEPENDENCIES (gettext): Cover both approaches.
2263
2264 2012-05-08  Jim Meyering  <meyering@redhat.com>
2265
2266         init.sh: explain why EXEEXT support uses aliases rather than functions
2267         * tests/init.sh: Add a comment.
2268
2269         init.sh: don't let bash aliases interfere with tests
2270         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
2271         is bash.  This avoids problems for those who alias standard commands to
2272         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
2273         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
2274
2275 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2276
2277         stdint: be more consistent with glibc, SunOS libc
2278         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
2279         (gl_int_fast16_t, gl_uint_fast16_t)
2280         (gl_int_fast32_t, gl_uint_fast32_t)
2281         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
2282         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
2283         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
2284         Be consistent with glibc by default, and with SunOS 5.10 and later
2285         if __sun is defined.  This lessens the likelihood of clashes if
2286         code compiled for older hosts is combined with code compiled for
2287         newer ones.  Problem reported by Niels Möller in
2288         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
2289
2290 2012-05-07  Eric Blake  <eblake@redhat.com>
2291
2292         isatty: relax license to LGPLv2+
2293         * modules/isatty (License): Relax license.
2294
2295 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
2296
2297         stat-size: comment fix
2298         * lib/stat-size.h: Remove obsolete comment about indenting.
2299
2300 2012-05-06  Bruno Haible  <bruno@clisp.org>
2301
2302         Tests for module 'sh-quote'.
2303         * modules/sh-quote-tests: New file.
2304         * tests/test-sh-quote.c: New file.
2305
2306 2012-05-06  Bruno Haible  <bruno@clisp.org>
2307
2308         sh-quote: Improve shell_quote_argv's signature.
2309         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
2310         * lib/sh-quote.c (shell_quote_argv): Likewise.
2311
2312 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
2313
2314         stdint: document issues with int_fast8_t etc.
2315         * doc/posix-headers/stdint.texi (stdint.h): Say that other
2316         stdint.h substitutes may define these types differently.  See
2317         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
2318
2319 2012-05-05  Bruno Haible  <bruno@clisp.org>
2320
2321         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
2322         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
2323         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
2324         or 'guessing no (mishandles large arguments)'.
2325
2326 2012-05-05  Bruno Haible  <bruno@clisp.org>
2327
2328         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
2329         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
2330         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
2331         set gl_cv_func_link_follows_symlink to "guessing no".
2332
2333 2012-05-05  Bruno Haible  <bruno@clisp.org>
2334
2335         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
2336         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
2337         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
2338         "guessing no".
2339         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
2340
2341 2012-05-05  Bruno Haible  <bruno@clisp.org>
2342
2343         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
2344         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
2345         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
2346         set gl_cv_struct_dirent_d_ino to "guessing yes".
2347
2348 2012-05-05  Bruno Haible  <bruno@clisp.org>
2349
2350         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
2351         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
2352         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
2353         "guessing yes".
2354
2355 2012-05-05  Bruno Haible  <bruno@clisp.org>
2356
2357         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
2358         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
2359         compiling to a glibc system, set gl_cv_func_signbit and
2360         gl_cv_func_signbit_gcc to "guessing yes".
2361
2362 2012-05-05  Bruno Haible  <bruno@clisp.org>
2363
2364         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
2365         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
2366         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
2367         to "guessing yes".
2368         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
2369         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
2370
2371 2012-05-05  Bruno Haible  <bruno@clisp.org>
2372
2373         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
2374         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
2375         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
2376         gl_cv_func_realpath_works to "guessing yes".
2377
2378 2012-05-05  Bruno Haible  <bruno@clisp.org>
2379
2380         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
2381         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
2382         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
2383
2384 2012-05-04  Bruno Haible  <bruno@clisp.org>
2385
2386         Tweak last commit.
2387         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
2388         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2389
2390 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
2391
2392         unistd_h: make it easier to avoid sys_types_h
2393         This is useful for Emacs, which has its own method of porting to
2394         Windows, and which therefore does not need the sys_types_h module.
2395         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
2396         code moved here from gl_SYS_TYPES_H.
2397         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
2398         using the code directly.
2399         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
2400         gl_SYS_TYPES_H.
2401         * modules/sys_types (Files):
2402         * modules/unistd (Files): Add m4/off_t.m4.
2403
2404 2012-05-03  Bruno Haible  <bruno@clisp.org>
2405
2406         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
2407         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
2408         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
2409         "guessing yes" or "guessing no".
2410         (gl_FUNC_LSTAT): Update.
2411         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
2412         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
2413         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
2414
2415 2012-05-03  Bruno Haible  <bruno@clisp.org>
2416
2417         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
2418         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
2419         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
2420         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
2421         cross-compiling, choose the first alternative on glibc systems.
2422         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
2423
2424 2012-05-03  Bruno Haible  <bruno@clisp.org>
2425
2426         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
2427         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
2428         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
2429
2430 2012-05-03  Bruno Haible  <bruno@clisp.org>
2431
2432         chown: Avoid "guessing no" when cross-compiling to glibc systems.
2433         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
2434
2435 2012-05-03  Bruno Haible  <bruno@clisp.org>
2436
2437         Avoid "guessing no" guesses when cross-compiling to glibc systems.
2438         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
2439         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
2440         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
2441         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
2442         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
2443         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
2444         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
2445         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
2446         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
2447         compiling to glibc systems, set gl_cv_func_chown_slash_works,
2448         gl_cv_func_chown_ctime_works to "guessing yes".
2449         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
2450         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
2451         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
2452         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
2453         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
2454         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
2455         compiling to glibc systems, set gl_cv_func_open_directory_works to
2456         "guessing yes".
2457         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
2458         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
2459         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
2460         "guessing yes".
2461         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
2462         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
2463         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
2464         compiling to glibc systems, set gl_cv_func_floorf_ieee to
2465         "guessing yes".
2466         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
2467         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
2468         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
2469         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
2470         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
2471         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
2472         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
2473         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
2474         "guessing yes".
2475         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
2476         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
2477         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
2478         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
2479         "guessing yes".
2480         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
2481         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
2482         "guessing yes".
2483         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
2484         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
2485         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
2486         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
2487         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
2488         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
2489         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
2490         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
2491         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
2492         compiling to glibc systems, set gl_cv_func_log10f_ieee to
2493         "guessing yes".
2494         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
2495         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
2496         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
2497         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
2498         "guessing yes".
2499         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
2500         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
2501         "guessing yes".
2502         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
2503         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
2504         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
2505         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
2506         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
2507         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
2508         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
2509         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
2510         compiling to glibc systems, set gl_cv_func_mkfifo_works to
2511         "guessing yes".
2512         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
2513         compiling to glibc systems, set gl_cv_func_mknod_works to
2514         "guessing yes".
2515         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
2516         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
2517         "guessing yes".
2518         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
2519         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
2520         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
2521         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
2522         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
2523         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
2524         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
2525         compiling to glibc systems, set gl_cv_func_svid_putenv to
2526         "guessing yes".
2527         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
2528         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
2529         "guessing yes".
2530         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
2531         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
2532         "guessing yes".
2533         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
2534         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
2535         to "guessing yes".
2536         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
2537         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
2538         to "guessing yes".
2539         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
2540         compiling to glibc systems, set gl_cv_func_rmdir_works to
2541         "guessing yes".
2542         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
2543         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
2544         gl_cv_func_unlink_parent_fails to "guessing yes".
2545         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
2546         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
2547         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
2548         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
2549         gl_cv_func_rename_dest_works to "guessing yes".
2550         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
2551         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
2552         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
2553         compiling to glibc systems, set gl_cv_func_roundf_ieee to
2554         "guessing yes".
2555         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
2556         compiling to glibc systems, set gl_cv_func_roundl_ieee to
2557         "guessing yes".
2558         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
2559         compiling to glibc systems, set gl_cv_func_setenv_works to
2560         "guessing yes".
2561         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
2562         compiling to glibc systems, set gl_cv_func_unsetenv_works to
2563         "guessing yes".
2564         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
2565         compiling to glibc systems, set gl_cv_func_sleep_works to
2566         "guessing yes".
2567         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
2568         compiling to glibc systems, set gl_cv_func_stat_file_slash to
2569         "guessing yes".
2570         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
2571         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
2572         "guessing yes".
2573         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
2574         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
2575         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
2576         compiling to glibc systems, set gl_cv_func_truncf_ieee to
2577         "guessing yes".
2578         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
2579         compiling to glibc systems, set gl_cv_func_truncl_ieee to
2580         "guessing yes".
2581         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
2582         compiling to glibc systems, set gl_cv_func_usleep_works to
2583         "guessing yes".
2584         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
2585         compiling to glibc systems, set gl_cv_func_futimesat_works to
2586         "guessing yes".
2587
2588 2012-05-03  Bruno Haible  <bruno@clisp.org>
2589
2590         Say "guessing yes" or "guessing no" when cross-compiling.
2591         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
2592         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
2593         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
2594         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
2595         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
2596         am_cv_func_working_getline to "guessing yes" or "guessing no".
2597         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
2598         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
2599         (gl_FUNC_MEMMEM): When cross-compiling, set
2600         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
2601         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
2602         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
2603         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
2604         set gl_cv_func_strcasestr_works_always to "guessing yes" or
2605         "guessing no".
2606         (gl_FUNC_STRCASESTR): When cross-compiling, set
2607         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
2608         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
2609         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
2610         (gl_FUNC_STRSTR): When cross-compiling, set
2611         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
2612         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
2613         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
2614         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
2615         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
2616
2617 2012-05-01  Bruno Haible  <bruno@clisp.org>
2618
2619         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
2620         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
2621         * build-aux/reloc-ldflags: Likewise.
2622         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
2623
2624 2012-05-01  Bruno Haible  <bruno@clisp.org>
2625
2626         gnulib-tool: Remove transitional code.
2627         * gnulib-tool: Don't warn about --import with 0 arguments any more.
2628         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2629
2630 2012-05-01  Bruno Haible  <bruno@clisp.org>
2631
2632         getcwd: Fix misindentation.
2633         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
2634
2635 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
2636
2637         exclude: process exclude and include directives in order
2638         This restores the pre-2009 behavior, and is part of a fix of a
2639         grep bug reported by Quentin Arce in
2640         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
2641         * lib/exclude.c (struct exclude): Remove 'tail' member.
2642         (new_exclude_segment): Prepend the new segment instead of appending.
2643         Return void, since that's now more convenient.
2644         (file_pattern_matches): Renamed from excluded_file_pattern_p.
2645         (file_name_matches): Renamed from excluded_file_name_p.
2646         (file_pattern_matches, file_name_matches):
2647         Return true if the pattern matches, not if it excludes.
2648         All callers changed.
2649         (excluded_file_name): Process the list in reverse order;
2650         since the list is now reversed this restores the pre-2009 behavior.
2651         (add_exclude): Adjust to new reversed-order list.  Use local var
2652         rather than macro, for clarity.
2653         * tests/test-exclude7.sh: Adjust to corrected behavior.
2654
2655         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
2656         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
2657         it's not possible here.  Handle the case of \ at end of pattern
2658         without dumping core.
2659         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
2660
2661         _Noreturn: future-proof non-GNU and non-MSVC compilers
2662         * build-aux/snippet/_Noreturn.h (_Noreturn):
2663         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2664         Do not define _Noreturn if __STDC_VERSION__ indicates this is
2665         C11 or later.  This is more likely to work with random future C
2666         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
2667         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
2668
2669         exclude: handle wildcards with FNM_EXTMATCH
2670         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
2671         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
2672         comment that "has wildcards" really means "has or may have
2673         wildcards".  Simplify by avoiding the need to call strcspn.
2674
2675 2012-04-29  Bruno Haible  <bruno@clisp.org>
2676
2677         gnulib-tool: Fix list of authors.
2678         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
2679
2680 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2681
2682         bootstrap: support Automake-NG in $buildreq
2683         * bootstrap (check_versions): Handle automake and aclocal from
2684         Automake-NG specially.  They can be specified as respectively
2685         the "automake-ng" and "aclocal-ng" requirements.
2686
2687 2012-04-25  Eric Blake  <eblake@redhat.com>
2688
2689         bootstrap: only force latest Makefile.in.in for gettext module
2690         * build-aux/bootstrap (with_gettext): Only install latest
2691         Makefile.in.in for projects requesting bleeding edge gettext.
2692
2693 2012-04-22  Bruno Haible  <bruno@clisp.org>
2694
2695         doc: Mention reason for replacement on glibc/Linux systems.
2696         * doc/posix-functions/dprintf.texi: Mention the problem with special
2697         'long double' values.
2698         * doc/posix-functions/fprintf.texi: Likewise.
2699         * doc/posix-functions/printf.texi: Likewise.
2700         * doc/posix-functions/snprintf.texi: Likewise.
2701         * doc/posix-functions/sprintf.texi: Likewise.
2702         * doc/posix-functions/vdprintf.texi: Likewise.
2703         * doc/posix-functions/vfprintf.texi: Likewise.
2704         * doc/posix-functions/vprintf.texi: Likewise.
2705         * doc/posix-functions/vsnprintf.texi: Likewise.
2706         * doc/posix-functions/vsprintf.texi: Likewise.
2707         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
2708         platforms with F_DUPFD_CLOEXEC problems.
2709         * doc/posix-functions/glob.texi: Mention which platforms are affected
2710         by the problem with symbolic links.
2711         * doc/posix-functions/linkat.texi: Mention the problem with
2712         AT_SYMLINK_FOLLOW on Linux.
2713
2714 2012-04-22  Bruno Haible  <bruno@clisp.org>
2715
2716         pwrite: Don't replace on all platforms.
2717         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
2718
2719 2012-04-22  Bruno Haible  <bruno@clisp.org>
2720
2721         rint* tests: Avoid gcc warnings.
2722         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
2723         * tests/test-rintf.c (INFINITY, NAN): Likewise.
2724         * tests/test-rintl.c (INFINITY, NAN): Likewise.
2725
2726 2012-04-21  Bruno Haible  <bruno@clisp.org>
2727
2728         users.txt: Update.
2729         * users.txt: Add freedink, wdiff. Update URLs for projects that have
2730         switched from CVS to git, bzr, or svn.
2731
2732 2012-04-21  Bruno Haible  <bruno@clisp.org>
2733
2734         Large File Support for native Windows platforms.
2735
2736         * m4/largefile.m4 (gl_LARGEFILE): New macro.
2737         * modules/largefile (configure.ac): Require gl_LARGEFILE.
2738
2739         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
2740         type.
2741         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
2742         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
2743         * doc/posix-headers/sys_types.texi: Mention the effect of the
2744         'largefile' module.
2745
2746         * lib/fcntl.in.h: Add comments about off_t.
2747         * modules/fcntl-h (Depends-on): Add sys_types.
2748
2749         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
2750         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
2751         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
2752         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
2753         * modules/unistd (Depends-on): Add sys_types.
2754         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
2755
2756         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
2757         instead of lseek.
2758         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
2759         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
2760         * modules/lseek (Depends-on): Add sys_types.
2761
2762         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
2763         msvc-nothrow.h.
2764         (SetFileSize): New function.
2765         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
2766         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
2767         if Large File Support is requested.
2768         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
2769         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
2770
2771         * lib/stdio.in.h: Add comments about off_t.
2772         * modules/stdio (Depends-on): Add sys_types.
2773
2774         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
2775         instead of ftello.
2776         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
2777         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
2778         (gl_PREREQ_FTELLO): New macro.
2779         * modules/ftello (Depends-on): Add sys_types.
2780         (configure.ac): Incoke gl_PREREQ_FTELLO.
2781
2782         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
2783         instead of fseeko.
2784         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
2785         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
2786         (gl_PREREQ_FSEEKO): New macro.
2787         * modules/fseeko (Depends-on): Add sys_types.
2788         (configure.ac): Invoke gl_PREREQ_FSEEKO.
2789
2790         * lib/sys_stat.in.h: Add comments about off_t.
2791         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
2792         64-bit integer for st_size in 'struct stat'.
2793         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
2794         Define _GL_WINDOWS_64_BIT_ST_SIZE.
2795         * modules/sys_stat (Depends-on): Add sys_types.
2796         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
2797
2798         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
2799         instead of stat or _stat.
2800
2801         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
2802         'struct _stati64' instead of fstat and 'struct stat'.
2803         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
2804         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
2805
2806         Reported by Ray Satiro <raysatiro@yahoo.com>.
2807
2808 2012-04-19  Eric Blake  <eblake@redhat.com>
2809
2810         bootstrap: accommodate older libtool
2811         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
2812         Reported by Daniel P. Berrange.
2813
2814 2012-04-19  Jim Meyering  <meyering@redhat.com>
2815
2816         announce-gen: avoid failure due to lack of Digest::SHA1
2817         Even with the preferred Digest::SHA available, this script
2818         would fail when the backup module, Digest::SHA1, was not installed.
2819         * build-aux/announce-gen: Quote the conditional use of "use".
2820         Reported by Reuben Thomas in:
2821         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
2822
2823         bootstrap: don't let a user's CDPATH setting affect this script
2824         When CDPATH is set, cd will sometimes generate output.
2825         When "cd" is run in a subshell whose output matters, that
2826         surprising-to-some output can cause malfunction.
2827         Unsetting CDPATH turns off this shell "feature."
2828         * build-aux/bootstrap (CDPATH): Unset.
2829         Reported by Reuben Thomas in:
2830         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
2831         and inspired by his patch here:
2832         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
2833
2834 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
2835         and Jim Meyering  <meyering@redhat.com>
2836
2837         maint.mk: catch "see @xref{}" and similar
2838         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
2839         prohibit "See also @xref{", "Also see @pxref{", and similar.
2840
2841 2012-04-16  Jim Meyering  <meyering@redhat.com>
2842
2843         bootstrap: really use gnulib's po/Makefile.in.in
2844         * build-aux/bootstrap: Correct the source file name in previous change.
2845         Reported by Akim Demaille.
2846
2847         configmake: correct minor inconsistency in Makefile rule
2848         * modules/configmake (Makefile.am): All other rules like this one
2849         run the final "mv -f ..." in the same backslash-continued command
2850         as the one that does everything else.  This one put the mv -f ...
2851         command on a separate, non-backslash-continued line.
2852         Make it like the others.
2853
2854         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
2855         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
2856         the one from gettext.  Reported by Akim Demaille.
2857
2858 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
2859
2860         Fix recursion of install-* into po directories.
2861         Bison's install-pdf bug reported by Hans Aberg at
2862         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
2863         * build-aux/po/Makefile.in.in (install-dvi, install-html)
2864         (install-info, install-pdf, install-ps): New targets.
2865
2866 2012-04-16  Jim Meyering  <meyering@redhat.com>
2867
2868         maint: avoid spurious "make sc_maint" failure
2869         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
2870         exempt all *.class file names, for lib/javaversion.class.
2871
2872 2012-04-15  Bruno Haible  <bruno@clisp.org>
2873
2874         lseek: Make configure test independent of environment.
2875         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
2876         Windows, we know that lseek() on pipes is broken; skip the runtime
2877         test.
2878
2879 2012-04-14  Bruno Haible  <bruno@clisp.org>
2880
2881         stat: Bypass buggy override in mingw64.
2882         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
2883         * lib/stat.c (stat) [mingw64]: Define to _stat.
2884         * doc/posix-functions/stat.texi: Mention mingw64 bug.
2885
2886 2012-04-14  Bruno Haible  <bruno@clisp.org>
2887
2888         pathmax: Fix compilation error on MSVC 9.
2889         * modules/pathmax (Depends-on): Add unistd.
2890
2891 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
2892
2893         README: document pointer comparison assumption
2894         * README (Portability guidelines): Document assumption about
2895         pointer comparisons, in response to a recent bug-gnulib comment by
2896         Jeffrey Kegler.
2897
2898 2012-04-12  Bruno Haible  <bruno@clisp.org>
2899
2900         Tests for module 'getrusage'.
2901         * modules/getrusage-tests: New file.
2902         * tests/test-getrusage.c: New file.
2903
2904         New module 'getrusage'.
2905         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
2906         warn-on-use.h.
2907         (getrusage): New declaration.
2908         * lib/getrusage.c: New file.
2909         * m4/getrusage.m4: New file.
2910         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
2911         is declared.
2912         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
2913         HAVE_GETRUSAGE.
2914         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
2915         snippet/c++defs, snippet/warn-on-use.
2916         (Makefile.am): Update generation of sys/resource.h. Substitute
2917         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
2918         * modules/getrusage: New file.
2919         * doc/posix-functions/getrusage.texi: Mention the new module.
2920
2921 2012-04-12  Bruno Haible  <bruno@clisp.org>
2922
2923         Tests for module 'sys_resource'.
2924         * modules/sys_resource-tests: New file.
2925         * tests/test-sys_resource.c: New file.
2926
2927         New module 'sys_resource'.
2928         * lib/sys_resource.in.h: New file.
2929         * m4/sys_resource_h.m4: New file.
2930         * modules/sys_resource: New file.
2931         * doc/posix-headers/sys_resource.texi: Mention the new module.
2932
2933 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
2934
2935         ioctl: Fix compilation error on mingw.
2936         * lib/ioctl.c: Include <windows.h>.
2937         Also reported by Ray Satiro <raysatiro@yahoo.com>.
2938
2939 2012-04-04  Jim Meyering  <meyering@redhat.com>
2940
2941         regex: correct #pragma guard expression
2942         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
2943         not 4.3.  Correct its cpp guard expression.
2944
2945 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2946
2947         regex: remove unnecessary type punning
2948         Problem reported by Vladimir Serbinenko in
2949         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
2950         * lib/regex.h (struct re_pattern_buffer): Change the type of
2951         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
2952         Fix comment to match code.
2953         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
2954         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
2955         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
2956         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
2957         (set_regs):
2958         Omit no-longer-necessary casts.
2959
2960 2012-04-03  Bruno Haible  <bruno@clisp.org>
2961
2962         Tests for module 'ilogbl'.
2963         * modules/ilogbl-tests: New file.
2964         * tests/test-ilogbl.c: New file.
2965
2966         New module 'ilogbl'.
2967         * lib/math.in.h (ilogbl): New declaration.
2968         * lib/ilogbl.c: New file.
2969         * m4/ilogbl.m4: New file.
2970         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
2971         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
2972         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
2973         Split sed invocation, to avoid the limit of 100 substitutions of
2974         HP-UX 'sed'.
2975         * modules/ilogbl: New file.
2976         * tests/test-math-c++.cc: Check the declaration of ilogbl.
2977         * doc/posix-functions/ilogbl.texi: Mention the new module.
2978
2979 2012-04-03  Bruno Haible  <bruno@clisp.org>
2980
2981         Tests for module 'ilogbf'.
2982         * modules/ilogbf-tests: New file.
2983         * tests/test-ilogbf.c: New file.
2984
2985         New module 'ilogbf'.
2986         * lib/math.in.h (ilogbf): New declaration.
2987         * lib/ilogbf.c: New file.
2988         * m4/ilogbf.m4: New file.
2989         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
2990         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
2991         REPLACE_ILOGBF.
2992         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
2993         REPLACE_ILOGBF.
2994         * modules/ilogbf: New file.
2995         * tests/test-math-c++.cc: Check the declaration of ilogbf.
2996         * doc/posix-functions/ilogbf.texi: Mention the new module.
2997
2998 2012-04-03  Bruno Haible  <bruno@clisp.org>
2999
3000         Tests for module 'ilogb'.
3001         * modules/ilogb-tests: New file.
3002         * tests/test-ilogb.c: New file.
3003         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
3004         tests/test-logb-ieee.h.
3005
3006         New module 'ilogb'.
3007         * lib/math.in.h (ilogb): New declaration.
3008         * lib/ilogb.c: New file.
3009         * m4/ilogb.m4: New file.
3010         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
3011         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
3012         REPLACE_ILOGB.
3013         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
3014         REPLACE_ILOGB.
3015         * modules/ilogb: New file.
3016         * tests/test-math-c++.cc: Check the declaration of ilogb.
3017         * doc/posix-functions/ilogb.texi: Mention the new module.
3018
3019 2012-04-03  Bruno Haible  <bruno@clisp.org>
3020
3021         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
3022         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
3023         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
3024         (main): Check their values.
3025         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
3026         problem.
3027
3028 2012-04-03  Bruno Haible  <bruno@clisp.org>
3029
3030         Tests for module 'logbl-ieee'.
3031         * modules/logbl-ieee-tests: New file.
3032         * tests/test-logbl-ieee.c: New file.
3033
3034         New module 'logbl-ieee'.
3035         * modules/logbl-ieee: New file.
3036
3037         Tests for module 'logb-ieee'.
3038         * modules/logb-ieee-tests: New file.
3039         * tests/test-logb-ieee.c: New file.
3040
3041         New module 'logb-ieee'.
3042         * modules/logb-ieee: New file.
3043
3044         Tests for module 'logbf-ieee'.
3045         * modules/logbf-ieee-tests: New file.
3046         * tests/test-logbf-ieee.c: New file.
3047         * tests/test-logb-ieee.h: New file.
3048
3049         New module 'logbf-ieee'.
3050         * modules/logbf-ieee: New file.
3051
3052 2012-04-03  Bruno Haible  <bruno@clisp.org>
3053
3054         Tests for module 'logbl'.
3055         * modules/logbl-tests: New file.
3056         * tests/test-logbl.c: New file.
3057
3058         New module 'logbl'.
3059         * lib/math.in.h (logbl): New declaration.
3060         * lib/logbl.c: New file.
3061         * m4/logbl.m4: New file.
3062         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
3063         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
3064         REPLACE_LOGBL.
3065         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
3066         REPLACE_LOGBL.
3067         * modules/logbl: New file.
3068         * tests/test-math-c++.cc: Check the declaration of logbl.
3069         * doc/posix-functions/logbl.texi: Mention the new module.
3070
3071 2012-04-02  Bruno Haible  <bruno@clisp.org>
3072
3073         Tests for module 'logbf'.
3074         * modules/logbf-tests: New file.
3075         * tests/test-logbf.c: New file.
3076
3077         New module 'logbf'.
3078         * lib/math.in.h (logbf): New declaration.
3079         * lib/logbf.c: New file.
3080         * m4/logbf.m4: New file.
3081         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
3082         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
3083         REPLACE_LOGBF.
3084         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
3085         REPLACE_LOGBF.
3086         * modules/logbf: New file.
3087         * tests/test-math-c++.cc: Check the declaration of logbf.
3088         * doc/posix-functions/logbf.texi: Mention the new module.
3089
3090 2012-04-02  Bruno Haible  <bruno@clisp.org>
3091
3092         logb tests: More tests.
3093         * tests/test-logb.h: New file, based on tests/test-logb.c and
3094         tests/test-frexp.h.
3095         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
3096         (main): Just invoke test_function.
3097         * modules/logb-tests (Files): Add tests/test-logb.h,
3098         tests/minus-zero.h, tests/randomd.c.
3099         (Makefile.am): Add randomd.c to test_logb_SOURCES.
3100
3101         logb: Provide replacement and workarounds.
3102         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
3103         is 1.
3104         * lib/logb.c: New file.
3105         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
3106         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
3107         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
3108         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
3109         * modules/logb (Files): Add lib/logb.c.
3110         (Depends-on): Add isfinite, frexp, isnand.
3111         (configure.ac): Compile the replacement code logb.c if needed.
3112         * tests/test-math-c++.cc: Check the declaration of logb.
3113         * doc/posix-functions/logb.texi: Mention the replacement and the bug
3114         with subnormal numbers.
3115
3116 2012-04-02  Bruno Haible  <bruno@clisp.org>
3117
3118         log10* tests: Speed up.
3119         * tests/test-log10.h (test_function): Reduce amount of random numbers
3120         to test.
3121
3122 2012-04-01  Bruno Haible  <bruno@clisp.org>
3123
3124         logf-ieee: Fix test whether logf works.
3125         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
3126
3127 2012-04-01  Bruno Haible  <bruno@clisp.org>
3128
3129         log10l: Work around log10l-ieee test failure on IRIX 6.5.
3130         * lib/log10l.c: Include <float.h>
3131         (log10l): On IRIX, normalize the +Infinity value.
3132         * modules/log10l (Depends-on): Add 'float'.
3133         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
3134         +Infinity.
3135
3136         log10f-ieee: Work around test failure on NetBSD 5.1.
3137         * m4/log10f-ieee.m4: New file.
3138         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
3139         test whether log10f works with a negative argument. Replace it if not.
3140         * lib/log10f.c (log10f): For negative arguments, return NaN.
3141         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
3142         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
3143         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
3144
3145         log10f-ieee: Work around test failure on Solaris 9.
3146         * modules/log10f-ieee (Depends-on): Add log10-ieee.
3147         (configure.ac): Require gl_FUNC_LOG10F.
3148
3149         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3150         * m4/log10-ieee.m4: New file.
3151         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
3152         whether log10 works with a negative argument. Replace it if not.
3153         * lib/log10.c (log10): For negative arguments, return NaN.
3154         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
3155         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
3156         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
3157
3158         Tests for module 'log10l-ieee'.
3159         * modules/log10l-ieee-tests: New file.
3160         * tests/test-log10l-ieee.c: New file.
3161
3162         New module 'log10l-ieee'.
3163         * modules/log10l-ieee: New file.
3164
3165         Tests for module 'log10-ieee'.
3166         * modules/log10-ieee-tests: New file.
3167         * tests/test-log10-ieee.c: New file.
3168
3169         New module 'log10-ieee'.
3170         * modules/log10-ieee: New file.
3171
3172         Tests for module 'log10f-ieee'.
3173         * modules/log10f-ieee-tests: New file.
3174         * tests/test-log10f-ieee.c: New file.
3175         * tests/test-log10-ieee.h: New file.
3176
3177         New module 'log10f-ieee'.
3178         * modules/log10f-ieee: New file.
3179
3180 2012-04-01  Bruno Haible  <bruno@clisp.org>
3181
3182         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
3183         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
3184         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
3185         workaround.
3186         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
3187         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
3188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
3189         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
3190         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
3191         (Depends-on): Update conditions.
3192         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
3193         IRIX 6.5, OSF/1 5.1 problems.
3194
3195 2012-04-01  Bruno Haible  <bruno@clisp.org>
3196
3197         log10f: Work around OSF/1 5.1 bug.
3198         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
3199         * lib/log10f.c (log10f): If logf exists, use it and provide just the
3200         workaround.
3201         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
3202         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
3203         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
3204         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
3205         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
3206         (Depends-on): Update conditions.
3207         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
3208
3209 2012-04-01  Bruno Haible  <bruno@clisp.org>
3210
3211         log10: Work around OSF/1 5.1 bug.
3212         * lib/math.in.h (log10): New declaration.
3213         * lib/log10.c: New file.
3214         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
3215         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
3216         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
3217         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
3218         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
3219         * modules/log10 (Files): Add lib/log10.c.
3220         (Depends-on): Add math.
3221         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
3222         * tests/test-math-c++.cc: Check the declaration of log10.
3223         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
3224
3225 2012-03-31  Bruno Haible  <bruno@clisp.org>
3226
3227         log10l tests: More tests.
3228         * modules/log10l-tests (Files): Add tests/test-log10l.h,
3229         tests/minus-zero.h, tests/randoml.c.
3230         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
3231         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
3232         (main): Invoke test_function.
3233
3234         log10f tests: More tests.
3235         * modules/log10f-tests (Files): Add tests/test-log10.h,
3236         tests/minus-zero.h, tests/randomf.c.
3237         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
3238         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
3239         (main): Invoke test_function.
3240
3241         log10 tests: More tests.
3242         * tests/test-log10.h: New file.
3243         * modules/log10-tests (Files): Add tests/test-log10.h,
3244         tests/minus-zero.h, tests/randomd.c.
3245         (Makefile.am): Add randomd.c to test_log10_SOURCES.
3246         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
3247         (main): Invoke test_function.
3248
3249 2012-03-31  Simon Josefsson  <simon@josefsson.org>
3250
3251         fflush: Fix syntax error.
3252         * lib/fflush.c: Include unused-parameter.h, needed for
3253         _GL_UNUSED_PARAMETER.
3254         * modules/fflush (Depends-on): Add snippet/unused-parameter.
3255
3256 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
3257
3258         regex: pacify GCC when compiling GRUB
3259         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
3260         a diagnostic.  Reported by Vladimir Serbinenko in
3261         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
3262
3263 2012-03-29  Eric Blake  <eblake@redhat.com>
3264
3265         stdio: don't assume gets any more
3266         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
3267         support.
3268         * modules/stdio (Makefile.am): Likewise.
3269         * lib/stdio-read.c (gets): Likewise.
3270         * tests/test-stdio-c++.cc: Likewise.
3271         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
3272         * lib/stdio.in.h (gets): Make warning occur in more places.
3273         * doc/posix-functions/gets.texi (gets): Update documentation.
3274         Reported by Christer Solskogen.
3275
3276         maint.mk: fix syntax checks without exclusions
3277         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
3278         Reported by Daniel P. Berrange.
3279
3280         strerror_r: avoid compiler warning
3281         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
3282         level.
3283
3284         fflush: avoid compiler warning
3285         * lib/fflush.c (update_fpos_cache): Mark variables that are
3286         potentially unused.
3287
3288 2012-03-25  Bruno Haible  <bruno@clisp.org>
3289
3290         Tests for module 'localeconv'.
3291         * modules/localeconv-tests: New file.
3292         * tests/test-localeconv.c: New file.
3293
3294         New module 'localeconv'.
3295         * lib/locale.in.h (localeconv): New declaration.
3296         * lib/localeconv.c: New file.
3297         * m4/localeconv.m4: New file.
3298         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
3299         REPLACE_LOCALECONV.
3300         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
3301         REPLACE_LOCALECONV.
3302         * modules/localeconv: New file.
3303         * modules/nl_langinfo (Depends-on): Add localeconv.
3304         * modules/human (Depends-on): Likewise.
3305         * doc/posix-functions/localeconv.texi: Mention the new module.
3306
3307 2012-03-25  Bruno Haible  <bruno@clisp.org>
3308
3309         locale: Provide a complete 'struct lconv'.
3310         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
3311         'struct lconv' does not contain int_p_cs_precedes.
3312         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
3313         * doc/posix-headers/locale.texi: Update.
3314
3315         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
3316         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
3317         * doc/posix-headers/locale.texi: Update.
3318
3319         locale: Provide a working 'struct lconv'.
3320         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
3321         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
3322         'struct lconv' does not even contain decimal_point.
3323         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
3324         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
3325         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
3326         * doc/posix-headers/locale.texi: Mention the problems with
3327         'struct lconv'.
3328         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
3329
3330 2012-03-24  Bruno Haible  <bruno@clisp.org>
3331
3332         Enable common subexpression optimization in GCC.
3333         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
3334         macros.
3335         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
3336         GCC attribute 'const'.
3337         (uc_locale_language): Declare with GCC attribute 'pure'.
3338         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
3339         with GCC attribute 'const'.
3340         * lib/unictype.in.h (uc_is_general_category_withtable,
3341         uc_combining_class, uc_combining_class_name,
3342         uc_combining_class_long_name, uc_bidi_class_name,
3343         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
3344         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
3345         uc_decimal_value, uc_digit_value, uc_numeric_value,
3346         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
3347         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
3348         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
3349         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
3350         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
3351         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
3352         Declare with GCC attribute 'const'.
3353         (uc_general_category_name, uc_general_category_long_name,
3354         uc_general_category_byname, uc_general_category,
3355         uc_is_general_category, uc_combining_class_byname,
3356         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
3357         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
3358         Declare with GCC attribute 'pure'.
3359         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
3360         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
3361         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
3362         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
3363         with GCC attribute 'pure'.
3364         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
3365         'const'.
3366         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
3367         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
3368         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
3369         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
3370         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
3371         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
3372         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
3373         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
3374         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
3375         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
3376         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
3377         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
3378         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
3379         GCC attribute 'pure'.
3380         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
3381         'const'.
3382         * lib/uniwidth.in.h (uc_width): Simplify declaration.
3383         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
3384         u32_strwidth): Declare with GCC attribute 'pure'.
3385
3386         Enable common subexpression optimization in GCC.
3387         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3388         (alphasort): Declare with GCC attribute 'pure'.
3389         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3390         (atoll): Declare with GCC attribute 'pure'.
3391         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
3392         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
3393         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
3394         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3395         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
3396         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
3397         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
3398
3399 2012-03-24  Bruno Haible  <bruno@clisp.org>
3400
3401         gnulib-tool: Avoid unintended error output from 'cmp'.
3402         * gnulib-tool (func_add_file, func_update_file, func_import): Use
3403         "cmp -s", not "cmp > /dev/null".
3404
3405 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3406
3407         gnulib-tool: fix imprecise comments w.r.t. an automake bug
3408
3409         It's not just Automake versions < 1.9b that creates an empty
3410         pkgdatadir at installation time if pkgdata_DATA is specified
3411         to empty; modern automake versions do this as well, at least
3412         until automake 1.11.4 (not yet released at the moment of writing,
3413         but soon to appear).  That behaviour was generally considered a
3414         feature rather than a bug, at least until this discussion:
3415         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
3416
3417         See also automake bugs #10997 and #11030.
3418
3419         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
3420         reference to relevant automake bug numbers.
3421         (func_emit_tests_Makefile_am): Likewise.
3422
3423 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
3424
3425         announce-gen: use Digest::SHA when possible
3426         * build-aux/announce-gen: Use Digest::SHA when possible, falling
3427         back to Digest::SHA1 if necessary.
3428
3429 2012-03-20  Jim Meyering  <meyering@redhat.com>
3430
3431         tests: avoid gcc warnings about argv vs. const initializers
3432         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
3433         warnings about discarding 'const' qualifier from pointer target type.
3434         * tests/test-posix_spawn2.c (main): Likewise.
3435
3436 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
3437
3438         README-release: simplify slightly
3439         * top/README-release: Run "git checkout master" only once.
3440
3441 2012-03-15  Mark Wielaard  <mark@klomp.org>
3442
3443         git-merge-changelog: add specific example on how to use with hg.
3444         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
3445
3446 2012-03-18  Mark Wielaard  <mark@klomp.org>
3447
3448         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
3449
3450 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
3451
3452         git-version-gen: don't let "prefix" envvar cause trouble
3453         * build-aux/git-version-gen (prefix): Initialize properly,
3454         so as not to use a value specified via the environment.
3455         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
3456
3457 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
3458
3459         regex: diagnose too-large repeat counts in EREs
3460         Previously, the code did not diagnose the too-large repeat count
3461         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
3462         as if it were 'b\{1000000000}', which is unexpected.
3463         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
3464         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
3465         is a reasonable one for this problem.  Another option would be to
3466         create a new REG_OVERFLOW error for repeat counts that are too large.
3467         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
3468         count is too large, so that the caller can distinguish the two cases.
3469         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
3470         "Too large" return code, and that repeat counts are one example of this.
3471
3472 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
3473
3474         doc: some glibc x32 integer width issues
3475         * doc/posix-headers/sys_types.texi (sys/types.h):
3476         * doc/posix-headers/time.texi (time.h):
3477         Mention that glibc x32 does not conform to POSIX in a couple of
3478         areas related to integer widths.
3479
3480 2012-03-15  Bruno Haible  <bruno@clisp.org>
3481
3482         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
3483         * lib/fma.c (VOLATILE): New macro.
3484         (FUNC): Use it to work around a GCC compiler bug.
3485
3486 2012-03-13  Bruno Haible  <bruno@clisp.org>
3487
3488         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3489         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
3490         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
3491         REPLACE_HYPOTL to 1.
3492         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
3493
3494 2012-03-13  Bruno Haible  <bruno@clisp.org>
3495
3496         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3497         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
3498         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
3499         REPLACE_REMAINDERL to 1.
3500         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
3501         bug.
3502
3503 2012-03-13  Bruno Haible  <bruno@clisp.org>
3504
3505         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3506         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
3507         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
3508         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
3509         too big rounding errors.
3510         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
3511         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
3512         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
3513         (Depends-on): Update conditions.
3514         * tests/test-sqrtl.c (my_ldexpl): New function.
3515         (main): Add test of a particular value.
3516         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
3517
3518 2012-03-13  Pádraig Brady  <P@draigBrady.com>
3519
3520         doc: Update timer_* platform portability notes.
3521         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
3522         that always return ENOSYS.
3523         * doc/posix-functions/timer_delete.texi: Likewise.
3524         * doc/posix-functions/timer_gettime.texi: Likewise.
3525         * doc/posix-functions/timer_settime.texi: Likewise.
3526
3527 2012-03-13  Bruno Haible  <bruno@clisp.org>
3528
3529         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
3530         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
3531         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
3532         REPLACE_CBRTL to 1.
3533         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
3534
3535 2012-03-13  Bruno Haible  <bruno@clisp.org>
3536
3537         remainderl: Avoid compilation error on AIX >= 5.2.
3538         * lib/math.in.h (remainderl): Undefine macro from the system header.
3539
3540 2012-03-13  Bruno Haible  <bruno@clisp.org>
3541
3542         Avoid compilation errors with MSVC option -fp:strict.
3543         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
3544         * lib/cbrtf.c: Likewise.
3545         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
3546
3547 2012-03-12  Bruno Haible  <bruno@clisp.org>
3548
3549         uninorm: Don't crash in out-of-memory conditions.
3550         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
3551         gracefully.
3552         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
3553         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
3554
3555 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
3556
3557         quote: fix syntax-check
3558         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
3559         also exports quote_quoting_options.
3560
3561 2012-03-12  Simon Josefsson  <simon@josefsson.org>
3562
3563         Collapse list of copyright years to ranges.  See
3564         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
3565         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
3566         build-aux/csharpexec.sh.in, build-aux/gnupload,
3567         build-aux/install-reloc, build-aux/javacomp.sh.in,
3568         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
3569         build-aux/move-if-change, build-aux/reloc-ldflags,
3570         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
3571
3572 2012-03-11  Bruno Haible  <bruno@clisp.org>
3573
3574         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
3575         * m4/log2f-ieee.m4: New file.
3576         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
3577         whether log2f works with a minus zero argument. Replace it if not.
3578         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
3579         (Depends-on): Add log2-ieee.
3580         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
3581         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
3582
3583         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
3584         * m4/log2-ieee.m4: New file.
3585         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
3586         whether log2 works with a minus zero argument. Replace it if not.
3587         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
3588         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
3589         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
3590
3591         Tests for module 'log2l-ieee'.
3592         * modules/log2l-ieee-tests: New file.
3593         * tests/test-log2l-ieee.c: New file.
3594
3595         New module 'log2l-ieee'.
3596         * modules/log2l-ieee: New file.
3597
3598         Tests for module 'log2-ieee'.
3599         * modules/log2-ieee-tests: New file.
3600         * tests/test-log2-ieee.c: New file.
3601
3602         New module 'log2-ieee'.
3603         * modules/log2-ieee: New file.
3604
3605         Tests for module 'log2f-ieee'.
3606         * modules/log2f-ieee-tests: New file.
3607         * tests/test-log2f-ieee.c: New file.
3608         * tests/test-log2-ieee.h: New file.
3609
3610         New module 'log2f-ieee'.
3611         * modules/log2f-ieee: New file.
3612
3613 2012-03-11  Bruno Haible  <bruno@clisp.org>
3614
3615         Tests for module 'log2l'.
3616         * modules/log2l-tests: New file.
3617         * tests/test-log2l.c: New file.
3618
3619         New module 'log2l'.
3620         * lib/math.in.h (log2l): New declaration.
3621         * lib/log2l.c: New file.
3622         * m4/log2l.m4: New file.
3623         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
3624         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
3625         REPLACE_LOG2L.
3626         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
3627         REPLACE_LOG2L.
3628         * modules/log2l: New file.
3629         * tests/test-math-c++.cc: Check the declaration of log2l.
3630         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
3631         and OSF/1 problems.
3632
3633 2012-03-11  Bruno Haible  <bruno@clisp.org>
3634
3635         Tests for module 'log2f'.
3636         * modules/log2f-tests: New file.
3637         * tests/test-log2f.c: New file.
3638
3639         New module 'log2f'.
3640         * lib/math.in.h (log2f): New declaration.
3641         * lib/log2f.c: New file.
3642         * m4/log2f.m4: New file.
3643         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
3644         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
3645         REPLACE_LOG2F.
3646         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
3647         REPLACE_LOG2F.
3648         * modules/log2f: New file.
3649         * tests/test-math-c++.cc: Check the declaration of log2f.
3650         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
3651         and OSF/1 and Cygwin problems.
3652
3653 2012-03-11  Bruno Haible  <bruno@clisp.org>
3654
3655         Tests for module 'log2'.
3656         * modules/log2-tests: New file.
3657         * tests/test-log2.c: New file.
3658         * tests/test-log2.h: New file.
3659
3660         New module 'log2'.
3661         * lib/math.in.h (log2): New declaration.
3662         * lib/log2.c: New file.
3663         * m4/log2.m4: New file.
3664         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
3665         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
3666         REPLACE_LOG2.
3667         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
3668         REPLACE_LOG2.
3669         * modules/log2: New file.
3670         * tests/test-math-c++.cc: Check the declaration of log2.
3671         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
3672         and OSF/1 and Cygwin problems.
3673
3674 2012-03-11  Bruno Haible  <bruno@clisp.org>
3675
3676         exp2* tests: More tests.
3677         * tests/test-exp2.h (test_function): Test all integral arguments that
3678         don't need to overflow or denormalized numbers.
3679         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
3680         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
3681         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
3682
3683 2012-03-10  Bruno Haible  <bruno@clisp.org>
3684
3685         log1pl-ieee: Work around test failure on AIX 7.1.
3686         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
3687
3688         log1pl-ieee: Work around test failure on IRIX 6.5.
3689         * m4/log1pl-ieee.m4: New file.
3690         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
3691         test whether log1pl works with a minus zero argument. Replace it if
3692         not.
3693         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
3694         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
3695         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
3696         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
3697         (Depends-on): Update conditions.
3698         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3699         m4/signbit.m4.
3700         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
3701         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
3702
3703         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
3704         * m4/log1pf-ieee.m4: New file.
3705         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
3706         test whether log1pf works with a minus zero argument. Replace it if
3707         not.
3708         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
3709         m4/signbit.m4.
3710         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
3711         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
3712
3713         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
3714         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
3715         (configure.ac): Require gl_FUNC_LOG1PF.
3716
3717         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
3718         * m4/log1p-ieee.m4: New file.
3719         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
3720         whether log1p works with a minus zero argument. Replace it if not.
3721         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
3722         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
3723         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
3724         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
3725         (Depends-on): Update conditions.
3726         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3727         m4/signbit.m4.
3728         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
3729         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
3730
3731         Tests for module 'log1pl-ieee'.
3732         * modules/log1pl-ieee-tests: New file.
3733         * tests/test-log1pl-ieee.c: New file.
3734
3735         New module 'log1pl-ieee'.
3736         * modules/log1pl-ieee: New file.
3737
3738         Tests for module 'log1p-ieee'.
3739         * modules/log1p-ieee-tests: New file.
3740         * tests/test-log1p-ieee.c: New file.
3741
3742         New module 'log1p-ieee'.
3743         * modules/log1p-ieee: New file.
3744
3745         Tests for module 'log1pf-ieee'.
3746         * modules/log1pf-ieee-tests: New file.
3747         * tests/test-log1pf-ieee.c: New file.
3748         * tests/test-log1p-ieee.h: New file.
3749
3750         New module 'log1pf-ieee'.
3751         * modules/log1pf-ieee: New file.
3752
3753 2012-03-10  Bruno Haible  <bruno@clisp.org>
3754
3755         Tests for module 'log1pl'.
3756         * modules/log1pl-tests: New file.
3757         * tests/test-log1pl.c: New file.
3758
3759         New module 'log1pl'.
3760         * lib/math.in.h (log1pl): New declaration.
3761         * lib/log1pl.c: New file.
3762         * m4/log1pl.m4: New file.
3763         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
3764         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
3765         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
3766         * modules/log1pl: New file.
3767         * tests/test-math-c++.cc: Check the declaration of log1pl.
3768         * doc/posix-functions/log1pl.texi: Mention the new module.
3769
3770 2012-03-10  Bruno Haible  <bruno@clisp.org>
3771
3772         Tests for module 'log1pf'.
3773         * modules/log1pf-tests: New file.
3774         * tests/test-log1pf.c: New file.
3775
3776         New module 'log1pf'.
3777         * lib/math.in.h (log1pf): New declaration.
3778         * lib/log1pf.c: New file.
3779         * m4/log1pf.m4: New file.
3780         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
3781         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
3782         REPLACE_LOG1PF.
3783         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
3784         REPLACE_LOG1PF.
3785         * modules/log1pf: New file.
3786         * tests/test-math-c++.cc: Check the declaration of log1pf.
3787         * doc/posix-functions/log1pf.texi: Mention the new module.
3788
3789 2012-03-10  Bruno Haible  <bruno@clisp.org>
3790
3791         log1p tests: More tests.
3792         * tests/test-log1p.h: New file.
3793         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
3794         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
3795         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
3796         (main): Invoke test_function.
3797
3798         log1p: Provide replacement for Minix and MSVC.
3799         * lib/math.in.h (log1p): New declaration.
3800         * lib/log1p.c: New file.
3801         * m4/log1p.m4: New file.
3802         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
3803         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
3804         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
3805         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
3806         (Depends-on): Add math, isnand, log, round.
3807         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
3808         HAVE_LOG1P is 0.
3809         * tests/test-math-c++.cc: Check the declaration of log1p.
3810         * doc/posix-functions/log1p.texi: Mention the replacement.
3811
3812 2012-03-10  Bruno Haible  <bruno@clisp.org>
3813
3814         math tests: Small simplification.
3815         * tests/test-exp.h (test_function): Use the same err_bound for
3816         'double' on platforms with sizeof (long double) == sizeof (double)
3817         than on platforms with sizeof (long double) > sizeof (double).
3818         * tests/test-exp2.h (test_function): Likewise.
3819         * tests/test-expm1.h (test_function): Likewise.
3820         * tests/test-log.h (test_function): Likewise.
3821
3822 2012-03-10  Bruno Haible  <bruno@clisp.org>
3823
3824         Fix some comments.
3825         * lib/expl.c: Fix an ambiguous comment.
3826         * lib/expm1.c: Likewise.
3827         * lib/expm1l.c: Likewise.
3828         * lib/exp2.c: Likewise.
3829         * lib/exp2l.c: Likewise.
3830
3831 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
3832
3833         regex: allow inclusion of <regex.h> before <limits.h>
3834         Without this patch, portable programs had to include <limits.h> before
3835         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
3836         I ran into this problem with a test version of GNU grep on Solaris 8.
3837         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
3838         This is done conditionally so that this change can be merged
3839         back to glibc.
3840         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
3841         using the included regex.
3842
3843         fts: depend on fdopendir
3844         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
3845         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
3846         problem was introduced when fdopendir was split out.
3847
3848 2012-03-10  Bruno Haible  <bruno@clisp.org>
3849
3850         Remove unused variables.
3851         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
3852         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3853
3854 2012-03-10  Bruno Haible  <bruno@clisp.org>
3855
3856         isnanf-nolibm: Fix last commit.
3857         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
3858
3859         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
3860         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
3861
3862 2012-03-10  Bruno Haible  <bruno@clisp.org>
3863
3864         logf-ieee: Work around test failure on NetBSD 5.1.
3865         * m4/logf-ieee.m4: New file.
3866         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
3867         whether logf works with a negative argument. Replace it if not.
3868         * lib/logf.c (logf): For negative arguments, return NaN.
3869         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
3870         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
3871         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
3872
3873         logf-ieee: Work around test failure on Solaris 9.
3874         * modules/logf-ieee (Depends-on): Add log-ieee.
3875         (configure.ac): Require gl_FUNC_LOGF.
3876
3877         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3878         * m4/log-ieee.m4: New file.
3879         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
3880         log works with a negative argument. Replace it if not.
3881         * lib/log.c (log): For negative arguments, return NaN.
3882         * modules/log-ieee (Files): Add m4/log-ieee.m4.
3883         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
3884         * doc/posix-functions/log.texi: Mention the log-ieee module.
3885
3886         Tests for module 'logl-ieee'.
3887         * modules/logl-ieee-tests: New file.
3888         * tests/test-logl-ieee.c: New file.
3889
3890         New module 'logl-ieee'.
3891         * modules/logl-ieee: New file.
3892
3893         Tests for module 'log-ieee'.
3894         * modules/log-ieee-tests: New file.
3895         * tests/test-log-ieee.c: New file.
3896
3897         New module 'log-ieee'.
3898         * modules/log-ieee: New file.
3899
3900         Tests for module 'logf-ieee'.
3901         * modules/logf-ieee-tests: New file.
3902         * tests/test-logf-ieee.c: New file.
3903         * tests/test-log-ieee.h: New file.
3904
3905         New module 'logf-ieee'.
3906         * modules/logf-ieee: New file.
3907
3908 2012-03-10  Bruno Haible  <bruno@clisp.org>
3909
3910         log: Fix bug introduced on 2012-03-09.
3911         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
3912
3913 2012-03-10  Pádraig Brady  <P@draigBrady.com>
3914
3915         timer-time: link explicitly with pthreads on glibc
3916         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3917         to support static linking, when newer glibc is
3918         detected, as that contains pthread emulation of
3919         POSIX timer functions where required.
3920         * modules/timer-time: Depend on threadlib to
3921         pull in the appropriate library to link.
3922
3923 2012-03-10  Bruno Haible  <bruno@clisp.org>
3924
3925         log* tests: More tests.
3926         * tests/test-log.h: New file.
3927         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
3928         (main): Invoke test_function.
3929         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
3930         (main): Invoke test_function.
3931         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
3932         (main): Invoke test_function.
3933         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3934         tests/randomd.c.
3935         (Makefile.am): Add randomd.c to test_log_SOURCES.
3936         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3937         tests/randomf.c.
3938         (Makefile.am): Add randomf.c to test_logf_SOURCES.
3939         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3940         tests/randoml.c.
3941         (Depends-on): Add 'float'.
3942         (Makefile.am): Add randoml.c to test_logl_SOURCES.
3943
3944 2012-03-09  Bruno Haible  <bruno@clisp.org>
3945
3946         logl: Work around OSF/1 5.1 bug.
3947         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
3948         * lib/logl.c (logl): If logl exists, use it and provide just the
3949         workaround.
3950         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
3951         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
3952         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
3953         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
3954         * modules/logl (configure.ac): Consider REPLACE_LOGL.
3955         (Depends-on): Update conditions.
3956         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
3957
3958 2012-03-09  Bruno Haible  <bruno@clisp.org>
3959
3960         logf: Work around OSF/1 5.1 bug.
3961         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
3962         * lib/logf.c (logf): If logf exists, use it and provide just the
3963         workaround.
3964         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
3965         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
3966         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
3967         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
3968         * modules/logf (configure.ac): Consider REPLACE_LOGF.
3969         (Depends-on): Update conditions.
3970         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
3971
3972 2012-03-09  Bruno Haible  <bruno@clisp.org>
3973
3974         log: Work around OSF/1 5.1 bug.
3975         * lib/math.in.h (log): New declaration.
3976         * lib/log.c: New file.
3977         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
3978         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
3979         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
3980         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
3981         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
3982         * modules/log (Files): Add lib/log.c.
3983         (Depends-on): Add math.
3984         (configure.ac): If REPLACE_LOG is 1, compile an override.
3985         * tests/test-math-c++.cc: Check the declaration of log.
3986         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
3987
3988 2012-03-09  Jim Meyering  <meyering@redhat.com>
3989
3990         readtokens.c: adjust wording in a comment
3991         * lib/readtokens.c: Insert omitted "that" in a comment.
3992
3993 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3994
3995         modechange: add notations +40, 00440, etc.
3996         * lib/modechange.c (mode_compile): Support new notations
3997         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
3998
3999 2012-03-08  Bruno Haible  <bruno@clisp.org>
4000
4001         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
4002         * m4/exp2l-ieee.m4: New file.
4003         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
4004         test whether exp2l works with a NaN argument and with a negative
4005         infinity argument. Replace it if not.
4006         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
4007         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
4008         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
4009         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
4010         (Depends-on): Update conditions.
4011         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
4012         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
4013         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
4014
4015         Tests for module 'exp2l-ieee'.
4016         * modules/exp2l-ieee-tests: New file.
4017         * tests/test-exp2l-ieee.c: New file.
4018
4019         New module 'exp2l-ieee'.
4020         * modules/exp2l-ieee: New file.
4021
4022         Tests for module 'exp2-ieee'.
4023         * modules/exp2-ieee-tests: New file.
4024         * tests/test-exp2-ieee.c: New file.
4025
4026         New module 'exp2-ieee'.
4027         * modules/exp2-ieee: New file.
4028
4029         Tests for module 'exp2f-ieee'.
4030         * modules/exp2f-ieee-tests: New file.
4031         * tests/test-exp2f-ieee.c: New file.
4032         * tests/test-exp2-ieee.h: New file.
4033
4034         New module 'exp2f-ieee'.
4035         * modules/exp2f-ieee: New file.
4036
4037 2012-03-08  Bruno Haible  <bruno@clisp.org>
4038
4039         Tests for module 'exp2l'.
4040         * modules/exp2l-tests: New file.
4041         * tests/test-exp2l.c: New file.
4042
4043         New module 'exp2l'.
4044         * lib/math.in.h (exp2l): New declaration.
4045         * lib/exp2l.c: New file.
4046         * lib/expl-table.c: New file, extracted from lib/expl.c.
4047         * lib/expl.c (gl_expl_table): New declaration.
4048         (expl): Remove expl_table. Update reference.
4049         * m4/exp2l.m4: New file.
4050         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
4051         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
4052         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
4053         * modules/exp2l: New file.
4054         * modules/expl (Files): Add lib/expl-table.c.
4055         (configure.ac): Compile also expl-table.c.
4056         * tests/test-math-c++.cc: Check the declaration of exp2l.
4057         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
4058         problem.
4059
4060 2012-03-08  Bruno Haible  <bruno@clisp.org>
4061
4062         Tests for module 'exp2f'.
4063         * modules/exp2f-tests: New file.
4064         * tests/test-exp2f.c: New file.
4065
4066         New module 'exp2f'.
4067         * lib/math.in.h (exp2f): New declaration.
4068         * lib/exp2f.c: New file.
4069         * m4/exp2f.m4: New file.
4070         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
4071         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
4072         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
4073         * modules/exp2f: New file.
4074         * tests/test-math-c++.cc: Check the declaration of exp2f.
4075         * doc/posix-functions/exp2f.texi: Mention the new module and the
4076         IRIX problem.
4077
4078 2012-03-08  Bruno Haible  <bruno@clisp.org>
4079
4080         Tests for module 'exp2'.
4081         * modules/exp2-tests: New file.
4082         * tests/test-exp2.c: New file.
4083         * tests/test-exp2.h: New file.
4084
4085         New module 'exp2'.
4086         * lib/math.in.h (exp2): New declaration.
4087         * lib/exp2.c: New file.
4088         * m4/exp2.m4: New file.
4089         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
4090         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
4091         REPLACE_EXP2.
4092         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
4093         REPLACE_EXP2.
4094         * modules/exp2: New file.
4095         * tests/test-math-c++.cc: Check the declaration of exp2.
4096         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
4097         and OpenBSD problems.
4098
4099 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
4100
4101         savedir: fix comment typo
4102         * lib/savedir.c (savedirstream): Fix typo in comment.
4103
4104 2012-03-08  Bruno Haible  <bruno@clisp.org>
4105
4106         test-readtokens.c: use const; remove unwarranted cast
4107         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
4108
4109 2012-03-08  Bruno Haible  <bruno@clisp.org>
4110
4111         fmal: Avoid compilation error on AIX.
4112         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
4113         AIX 5.2..7.1.
4114
4115 2012-03-08  Bruno Haible  <bruno@clisp.org>
4116
4117         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
4118         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
4119         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
4120         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
4121         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
4122         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
4123         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
4124
4125 2012-03-08  Bruno Haible  <bruno@clisp.org>
4126
4127         remainderf: Override buggy system function on IRIX 6.5.
4128         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
4129         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
4130         when it exists.
4131         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
4132
4133 2012-03-08  Jim Meyering  <meyering@redhat.com>
4134
4135         test-readtokens.c: avoid const-related compilation warnings
4136         * tests/test-readtokens.c: Avoid const-related compilation warnings.
4137
4138 2012-03-07  Jim Meyering  <meyering@redhat.com>
4139             Bruno Haible  <bruno@clisp.org>
4140
4141         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
4142         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
4143         tests/randomd.c.
4144         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
4145         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
4146         tests/randoml.c.
4147         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
4148
4149 2012-03-07  Bruno Haible  <bruno@clisp.org>
4150
4151         expm1l: Avoid compilation error on AIX.
4152         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
4153         AIX 5.2..7.1.
4154
4155 2012-03-07  Bruno Haible  <bruno@clisp.org>
4156
4157         expm1l: Don't override undeclared system function on IRIX 6.5.
4158         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
4159         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
4160         it exists. Set HAVE_DECL_EXPM1L.
4161         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
4162         HAVE_EXPM1L.
4163         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
4164         HAVE_EXPM1L.
4165         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
4166
4167 2012-03-07  Bruno Haible  <bruno@clisp.org>
4168
4169         remainderl: Don't override undeclared system function on IRIX 6.5.
4170         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
4171         HAVE_REMAINDERL.
4172         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
4173         declared when it exists. Set HAVE_DECL_REMAINDERL.
4174         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
4175         not HAVE_REMAINDERL.
4176         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
4177         HAVE_REMAINDERL.
4178         * doc/posix-functions/remainderl.texi: Mention missing declaration
4179         problem.
4180
4181 2012-03-07  Bruno Haible  <bruno@clisp.org>
4182
4183         rintf: Don't override undeclared system function on IRIX 6.5.
4184         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
4185         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
4186         exists. Set HAVE_DECL_RINTF.
4187         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
4188         HAVE_RINTF.
4189         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
4190         HAVE_RINTF.
4191         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
4192
4193 2012-03-07  Bruno Haible  <bruno@clisp.org>
4194
4195         roundl: Avoid compilation error on AIX.
4196         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
4197         AIX 5.2..7.1.
4198
4199 2012-03-07  Bruno Haible  <bruno@clisp.org>
4200
4201         roundl: Don't override undeclared system function on IRIX 6.5.
4202         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
4203         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
4204         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
4205         * modules/roundl (configure.ac): For replacement code, test
4206         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
4207         (Depends-on): Update conditions.
4208         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
4209
4210 2012-03-07  Bruno Haible  <bruno@clisp.org>
4211
4212         roundf: Don't override undeclared system function on IRIX 6.5.
4213         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
4214         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
4215         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
4216         * modules/roundf (configure.ac): For replacement code, test
4217         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
4218         (Depends-on): Update conditions.
4219         * modules/roundf-ieee (Depends-on): Update conditions.
4220         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
4221
4222 2012-03-07  Bruno Haible  <bruno@clisp.org>
4223
4224         round: Don't override undeclared system function on IRIX 6.5.
4225         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
4226         argument.
4227         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
4228         also when it is not declared. Set HAVE_ROUND. For replacement code,
4229         test HAVE_ROUND, not HAVE_DECL_ROUND.
4230         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
4231         not HAVE_DECL_ROUND.
4232         (Depends-on): Update conditions.
4233         * modules/round-ieee (Depends-on): Update conditions.
4234         * doc/posix-functions/round.texi: Mention the IRIX problem.
4235
4236 2012-03-07  Bruno Haible  <bruno@clisp.org>
4237
4238         copysignf: Don't override undeclared system function on IRIX 6.5.
4239         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
4240         HAVE_COPYSIGNF.
4241         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
4242         declared when it exists. Set HAVE_DECL_COPYSIGNF.
4243         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
4244         not HAVE_COPYSIGNF.
4245         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
4246         HAVE_COPYSIGNF.
4247         * doc/posix-functions/copysignf.texi: Mention missing declaration
4248         problem.
4249
4250 2012-03-07  Jim Meyering  <meyering@redhat.com>
4251
4252         readtokens: add tests
4253         * modules/readtokens-tests: New file.
4254         * tests/test-readtokens.c: New file.
4255
4256 2012-03-07  Jim Meyering  <meyering@redhat.com>
4257
4258         quotearg: the module must now include quote.h
4259         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
4260         So must the module.
4261         * modules/quotearg (Files): Add quote.h.
4262
4263 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
4264
4265         readtokens: avoid core dumps with unusual calling patterns
4266         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
4267         * lib/readtokens.c: Include limits.h.
4268         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
4269         (readtoken): Don't cache the delimiters; the cache code was buggy
4270         if !delim && saved_delim, or if the new n_delim differs from the old.
4271         Also, it wasn't thread-safe.
4272
4273 2012-03-07  Bruno Haible  <bruno@clisp.org>
4274
4275         quote: Adhere to common module description layout.
4276         * modules/quote (Makefile.am): Add back empty section.
4277
4278 2012-03-06  Akim Demaille  <demaille@gostai.com>
4279
4280         quote: fuse into quotearg
4281         This patch is made for the benefit of Bison.
4282         quote does not leave the choice of the quoting style to the user.
4283         quoting_style provides poor customizability, yet quoting_options,
4284         which is very rich, is hidden inside quotearg.c.  So in order to
4285         allow quote customization, move its implementation to quotearg.c.
4286         * lib/quote.c: Remove.
4287         * modules/quote: Adjust.
4288         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
4289         warning: provide all the members of literal structs.
4290         (quote_quoting_options): New.
4291         (quote, quote_n): Import implementation from quote.c.
4292         * lib/quote.h: Import the comments from quote.c.
4293         (quote_quoting_options): New.
4294
4295 2012-03-06  Bruno Haible  <bruno@clisp.org>
4296
4297         Tests for module 'expm1l-ieee'.
4298         * modules/expm1l-ieee-tests: New file.
4299         * tests/test-expm1l-ieee.c: New file.
4300
4301         New module 'expm1l-ieee'.
4302         * modules/expm1l-ieee: New file.
4303
4304         Tests for module 'expm1f-ieee'.
4305         * modules/expm1f-ieee-tests: New file.
4306         * tests/test-expm1f-ieee.c: New file.
4307
4308         New module 'expm1f-ieee'.
4309         * modules/expm1f-ieee: New file.
4310
4311         Tests for module 'expm1-ieee'.
4312         * modules/expm1-ieee-tests: New file.
4313         * tests/test-expm1-ieee.c: New file.
4314         * tests/test-expm1-ieee.h: New file.
4315
4316         New module 'expm1-ieee'.
4317         * modules/expm1-ieee: New file.
4318         * m4/expm1-ieee.m4: New file.
4319         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
4320         whether expm1 works with a minus zero argument. Replace it if not.
4321         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
4322         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
4323         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
4324         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
4325         (Depends-on): Update conditions.
4326         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
4327         AIX problem.
4328
4329 2012-03-06  Bruno Haible  <bruno@clisp.org>
4330
4331         Work around expm1f bug on IRIX 6.5.
4332         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
4333         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
4334         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
4335         not work.
4336         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
4337         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
4338         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
4339         (Depends-on): Update conditions.
4340         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
4341
4342 2012-03-06  Bruno Haible  <bruno@clisp.org>
4343
4344         Tests for module 'expm1l'.
4345         * modules/expm1l-tests: New file.
4346         * tests/test-expm1l.c: New file.
4347
4348         New module 'expm1l'.
4349         * lib/math.in.h (expm1l): New declaration.
4350         * lib/expm1l.c: New file.
4351         * m4/expm1l.m4: New file.
4352         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
4353         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
4354         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
4355         * modules/expm1l: New file.
4356         * tests/test-math-c++.cc: Check the declaration of expm1l.
4357         * doc/posix-functions/expm1l.texi: Mention the new module.
4358
4359 2012-03-06  Bruno Haible  <bruno@clisp.org>
4360
4361         Tests for module 'expm1f'.
4362         * modules/expm1f-tests: New file.
4363         * tests/test-expm1f.c: New file.
4364
4365         New module 'expm1f'.
4366         * lib/math.in.h (expm1f): New declaration.
4367         * lib/expm1f.c: New file.
4368         * m4/expm1f.m4: New file.
4369         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
4370         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
4371         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
4372         * modules/expm1f: New file.
4373         * tests/test-math-c++.cc: Check the declaration of expm1f.
4374         * doc/posix-functions/expm1f.texi: Mention the new module.
4375
4376 2012-03-06  Bruno Haible  <bruno@clisp.org>
4377
4378         Tests for module 'expm1'.
4379         * modules/expm1-tests: New file.
4380         * tests/test-expm1.c: New file.
4381         * tests/test-expm1.h: New file.
4382
4383         New module 'expm1'.
4384         * lib/math.in.h (expm1): New declaration.
4385         * lib/expm1.c: New file.
4386         * m4/expm1.m4: New file.
4387         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
4388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
4389         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
4390         * modules/expm1: New file.
4391         * tests/test-math-c++.cc: Check the declaration of expm1.
4392         * doc/posix-functions/expm1.texi: Mention the new module.
4393
4394 2012-03-06  Bruno Haible  <bruno@clisp.org>
4395
4396         math: Ensure declarations of math functions.
4397         * modules/acosf (Depends-on): Add 'extensions'.
4398         * modules/asinf (Depends-on): Likewise.
4399         * modules/atan2f (Depends-on): Likewise.
4400         * modules/atanf (Depends-on): Likewise.
4401         * modules/cbrt (Depends-on): Likewise.
4402         * modules/cbrtf (Depends-on): Likewise.
4403         * modules/cbrtl (Depends-on): Likewise.
4404         * modules/copysignf (Depends-on): Likewise.
4405         * modules/copysignl (Depends-on): Likewise.
4406         * modules/cosf (Depends-on): Likewise.
4407         * modules/coshf (Depends-on): Likewise.
4408         * modules/expf (Depends-on): Likewise.
4409         * modules/fabsf (Depends-on): Likewise.
4410         * modules/fabsl (Depends-on): Likewise.
4411         * modules/fmaf (Depends-on): Likewise.
4412         * modules/fmal (Depends-on): Likewise.
4413         * modules/fmodf (Depends-on): Likewise.
4414         * modules/fmodl (Depends-on): Likewise.
4415         * modules/frexpf (Depends-on): Likewise.
4416         * modules/frexpl (Depends-on): Likewise.
4417         * modules/hypot (Depends-on): Likewise.
4418         * modules/hypotf (Depends-on): Likewise.
4419         * modules/hypotl (Depends-on): Likewise.
4420         * modules/ldexpf (Depends-on): Likewise.
4421         * modules/ldexpl (Depends-on): Likewise.
4422         * modules/log10f (Depends-on): Likewise.
4423         * modules/log10l (Depends-on): Likewise.
4424         * modules/log1p (Depends-on): Likewise.
4425         * modules/logb (Depends-on): Likewise.
4426         * modules/logf (Depends-on): Likewise.
4427         * modules/modff (Depends-on): Likewise.
4428         * modules/modfl (Depends-on): Likewise.
4429         * modules/powf (Depends-on): Likewise.
4430         * modules/remainderf (Depends-on): Likewise.
4431         * modules/remainderl (Depends-on): Likewise.
4432         * modules/rintf (Depends-on): Likewise.
4433         * modules/rintl (Depends-on): Likewise.
4434         * modules/sinf (Depends-on): Likewise.
4435         * modules/sinhf (Depends-on): Likewise.
4436         * modules/sqrtf (Depends-on): Likewise.
4437         * modules/tanf (Depends-on): Likewise.
4438         * modules/tanhf (Depends-on): Likewise.
4439         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
4440         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
4441         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
4442         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
4443         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
4444         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
4445         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
4446         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
4447         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
4448         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
4449         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
4450         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
4451         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
4452         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
4453         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
4454         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
4455         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
4456         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4457         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
4458         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
4459         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
4460         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
4461         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
4462         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
4463         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
4464         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
4465         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
4466         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
4467         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
4468         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
4469         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4470         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
4471         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
4472         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4473         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
4474         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
4475         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
4476         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
4477         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
4478         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
4479         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
4480
4481 2012-03-06  Bruno Haible  <bruno@clisp.org>
4482
4483         math: Update module names in warnings.
4484         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
4485         tanl): Use specific module name in warn-on-use warning.
4486
4487 2012-03-06  Bruno Haible  <bruno@clisp.org>
4488
4489         expl: Simplify computation.
4490         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
4491
4492 2012-03-05  Bruno Haible  <bruno@clisp.org>
4493
4494         exp* tests: More tests.
4495         * tests/test-exp.h: New file.
4496         * tests/test-exp.c: Include <float.h> and test-exp.h.
4497         (main): Invoke test_function.
4498         * tests/test-expf.c: Include <float.h> and test-exp.h.
4499         (main): Invoke test_function.
4500         * tests/test-expl.c: Include <float.h> and test-exp.h.
4501         (main): Invoke test_function.
4502         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
4503         (Makefile.am): Add randomd.c to test_exp_SOURCES.
4504         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
4505         (Makefile.am): Add randomf.c to test_expf_SOURCES.
4506         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
4507         (Depends-on): Add 'float'.
4508         (Makefile.am): Add randoml.c to test_expl_SOURCES.
4509
4510         expl: Fix precision of computed result.
4511         * lib/expl.c: Completely rewritten.
4512         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
4513         (Maintainer): Add me.
4514         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
4515
4516 2012-03-05  Bruno Haible  <bruno@clisp.org>
4517
4518         cbrt* tests: More tests.
4519         * tests/test-cbrt.h: New file.
4520         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
4521         (main): Invoke test_function.
4522         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
4523         (main): Invoke test_function.
4524         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
4525         (main): Invoke test_function.
4526         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
4527         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
4528         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
4529         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
4530         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
4531         (Depends-on): Add 'float'.
4532         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
4533
4534 2012-03-05  Bruno Haible  <bruno@clisp.org>
4535
4536         hypot* tests: More tests.
4537         * tests/test-hypot.h: New file, partially extracted from
4538         tests/test-hypotl.c.
4539         * tests/test-hypot.c: Include test-hypot.h.
4540         (main): Invoke test_function.
4541         * tests/test-hypotf.c: Include test-hypot.h.
4542         (main): Invoke test_function.
4543         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
4544         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
4545         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
4546         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
4547         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
4548         tests/randomf.c.
4549         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
4550         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
4551         tests/randoml.c.
4552         (Depends-on): Add 'fpucw', 'float'.
4553         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
4554
4555 2012-03-05  Bruno Haible  <bruno@clisp.org>
4556
4557         fpucw: Doc about FreeBSD.
4558         * lib/fpucw.h: Mention FreeBSD in comments.
4559
4560 2012-03-04  Bruno Haible  <bruno@clisp.org>
4561
4562         sqrt* tests: More tests.
4563         * tests/test-sqrt.h: New file.
4564         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
4565         (main): Invoke test_function.
4566         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
4567         (main): Invoke test_function.
4568         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
4569         (main): Invoke test_function.
4570         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
4571         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
4572         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
4573         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
4574         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
4575         (Depends-on): Add 'float'.
4576         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
4577
4578 2012-03-04  Bruno Haible  <bruno@clisp.org>
4579
4580         remainder* tests: More tests.
4581         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
4582         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
4583         (main): Invoke test_function.
4584         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
4585         (main): Invoke test_function.
4586         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
4587         (main): Invoke test_function.
4588         * modules/remainder-tests (Files): Add tests/test-remainder.h,
4589         tests/randomd.c.
4590         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
4591         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
4592         tests/randomf.c.
4593         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
4594         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
4595         tests/randoml.c.
4596         (Depends-on): Add 'float'.
4597         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
4598
4599 2012-03-04  Bruno Haible  <bruno@clisp.org>
4600
4601         remainder, remainderf, remainderl: Fix computation for large quotients.
4602         * lib/remainder.c: Completely rewritten.
4603         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
4604         USE_FLOAT.
4605         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
4606         USE_LONG_DOUBLE.
4607         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
4608         isnand, isinf. Remove round, fma.
4609         * modules/remainderf (Files): Add lib/remainder.c.
4610         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
4611         Remove roundf, fmaf.
4612         * modules/remainderl (Files): Add lib/remainder.c.
4613         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
4614         isinf. Remove roundl, fmal.
4615         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
4616         REMAINDER_LIBM.
4617         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
4618         REMAINDERF_LIBM.
4619         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
4620         REMAINDERL_LIBM.
4621
4622 2012-03-04  Bruno Haible  <bruno@clisp.org>
4623
4624         fmod* tests: More tests.
4625         * tests/test-fmod.h (my_ldexp): New function.
4626         (test_function): Reduce amount of random numbers to test. Add tests
4627         of very large quotients x / y.
4628         * tests/test-fmod.c (MAX_EXP): New macro.
4629         * tests/test-fmodf.c (MAX_EXP): Likewise.
4630         * tests/test-fmodl.c (MAX_EXP): Likewise.
4631
4632 2012-03-04  Bruno Haible  <bruno@clisp.org>
4633
4634         fmod, fmodl: Fix computation for large quotients x / y.
4635         * lib/fmod.c: Completely rewritten.
4636         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
4637         USE_LONG_DOUBLE.
4638         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
4639         isnand. Remove fma.
4640         * modules/fmodl (Files): Add lib/fmod.c.
4641         (Depends-on): Add float, isfinite, signbit, fabsl,
4642         frexpl, ldexpl, isnanl. Remove fma.
4643         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
4644         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
4645
4646 2012-03-03  Bruno Haible  <bruno@clisp.org>
4647
4648         fmod* tests: More tests.
4649         * tests/test-fmod.h: New file.
4650         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
4651         (main): Invoke test_function.
4652         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
4653         (main): Invoke test_function.
4654         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
4655         (main): Invoke test_function.
4656         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
4657         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
4658         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
4659         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
4660         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
4661         (Depends-on): Add 'float'.
4662         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
4663
4664 2012-03-03  Bruno Haible  <bruno@clisp.org>
4665
4666         rint* tests: More tests.
4667         * tests/test-rint.h: New file, partially extracted from
4668         tests/test-rintl.c.
4669         * tests/test-rint.c: Include test-rint.h.
4670         (main): Invoke test_function.
4671         * tests/test-rintf.c: Include test-rint.h.
4672         (main): Invoke test_function.
4673         * tests/test-rintl.c: Include test-rint.h.
4674         (main): Invoke test_function.
4675         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
4676         (Makefile.am): Add randomd.c to test_rint_SOURCES.
4677         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
4678         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
4679         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
4680         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
4681
4682 2012-03-03  Bruno Haible  <bruno@clisp.org>
4683
4684         modf* tests: More tests.
4685         * tests/test-modf.h: New file.
4686         * tests/test-modf.c: Include <float.h> and test-modf.h.
4687         (main): Invoke test_function.
4688         * tests/test-modff.c: Include <float.h> and test-modf.h.
4689         (main): Invoke test_function.
4690         * tests/test-modfl.c: Include <float.h> and test-modf.h.
4691         (main): Invoke test_function.
4692         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
4693         (Makefile.am): Add randomd.c to test_modf_SOURCES.
4694         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
4695         (Makefile.am): Add randomf.c to test_modff_SOURCES.
4696         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
4697         (Depends-on): Add 'float'.
4698         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
4699
4700 2012-03-03  Bruno Haible  <bruno@clisp.org>
4701
4702         fabs* tests: More tests.
4703         * tests/test-fabs.h: New file, partially extracted from
4704         tests/test-fabsl.c.
4705         * tests/test-fabs.c (RANDOM): New macro.
4706         * tests/test-fabsf.c (RANDOM): New macro.
4707         * tests/test-fabsl.c (RANDOM): New macro.
4708         * modules/fabs-tests (Files): Add tests/randomd.c.
4709         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
4710         * modules/fabsf-tests (Files): Add tests/randomf.c.
4711         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
4712         * modules/fabsl-tests (Files): Add tests/randoml.c.
4713         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
4714
4715 2012-03-03  Bruno Haible  <bruno@clisp.org>
4716
4717         ldexp* tests: More tests.
4718         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
4719         * tests/test-ldexp.c (RANDOM): New macro.
4720         * tests/test-ldexpf.c (RANDOM): New macro.
4721         * tests/test-ldexpl.c (RANDOM): New macro.
4722         * modules/ldexp-tests (Files): Add tests/randomd.c.
4723         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
4724         * modules/ldexpf-tests (Files): Add tests/randomf.c.
4725         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
4726         * modules/ldexpl-tests (Files): Add tests/randoml.c.
4727         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
4728
4729 2012-03-03  Bruno Haible  <bruno@clisp.org>
4730
4731         frexp* tests: More tests.
4732         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
4733         * tests/test-frexp.c (RANDOM): New macro.
4734         * tests/test-frexpf.c (RANDOM): New macro.
4735         * tests/test-frexpl.c (RANDOM): New macro.
4736         * modules/frexp-tests (Files): Add tests/randomd.c.
4737         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
4738         * modules/frexpf-tests (Files): Add tests/randomf.c.
4739         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
4740         * modules/frexpl-tests (Files): Add tests/randoml.c.
4741         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
4742
4743 2012-03-03  Bruno Haible  <bruno@clisp.org>
4744
4745         Support for pseudo-random numbers in tests.
4746         * tests/randomf.c: New file.
4747         * tests/randomd.c: New file.
4748         * tests/randoml.c: New file.
4749         * tests/macros.h (randomf, randomd, randoml): New declarations.
4750
4751 2012-03-03  Bruno Haible  <bruno@clisp.org>
4752
4753         frexp* tests: Refactor.
4754         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
4755         * tests/test-frexp.c: Include and use it.
4756         * tests/test-frexpf.c: Likewise.
4757         * tests/test-frexpl.c: Likewise.
4758         * modules/frexp-tests (Files): Add tests/test-frexp.h.
4759         * modules/frexpf-tests (Files): Likewise.
4760         * modules/frexpl-tests (Files): Likewise.
4761
4762 2012-03-02  Jim Meyering  <meyering@redhat.com>
4763
4764         maint: don't specify XZ_OPT=-9ev in dist-related rule
4765         Using xz's -9 option is warranted only if you have a very large
4766         tarball (see xz's documentation for the sizes vs. presets), and
4767         requires 64MiB of memory at decompression time.
4768         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
4769         Automake's default of just "-e" is fine.  Override on a
4770         per-package basis by setting XZ_OPT e.g., in cfg.mk.
4771
4772 2012-03-01  Eric Blake  <eblake@redhat.com>
4773
4774         maint.mk: allow announcement for non-gnulib project
4775         * maint.mk (announcement): Skip gnulib version if not used.
4776
4777 2012-03-01  Jim Meyering  <meyering@redhat.com>
4778
4779         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
4780         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
4781         envvar settings cannot interfere.  Otherwise, setting envvars like
4782         prohibit=foo require=bar, etc. would cause spurious test failures.
4783
4784 2012-03-01  Eric Blake  <eblake@redhat.com>
4785
4786         maint.mk: add per-line exclusions to prohibitions
4787         * maint.mk (_sc_search_regexp): Add $exclude parameter.
4788         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
4789         (sc_const_long_option): Use it.
4790
4791 2012-03-01  Bruno Haible  <bruno@clisp.org>
4792
4793         Tests for module 'expl-ieee'.
4794         * modules/expl-ieee-tests: New file.
4795         * tests/test-expl-ieee.c: New file.
4796
4797         New module 'expl-ieee'.
4798         * modules/expl-ieee: New file.
4799
4800         Tests for module 'exp-ieee'.
4801         * modules/exp-ieee-tests: New file.
4802         * tests/test-exp-ieee.c: New file.
4803
4804         New module 'exp-ieee'.
4805         * modules/exp-ieee: New file.
4806
4807         Tests for module 'expf-ieee'.
4808         * modules/expf-ieee-tests: New file.
4809         * tests/test-expf-ieee.c: New file.
4810         * tests/test-exp-ieee.h: New file.
4811
4812         New module 'expf-ieee'.
4813         * modules/expf-ieee: New file.
4814
4815 2012-02-29  Bruno Haible  <bruno@clisp.org>
4816
4817         cbrtl-ieee: Work around test failure on IRIX 6.5.
4818         * m4/cbrtl-ieee.m4: New file.
4819         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
4820         test whether cbrtl works with a minus zero argument. Replace it if not.
4821         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
4822         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
4823         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
4824         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
4825         (Depends-on): Update conditions.
4826         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
4827         m4/signbit.m4.
4828         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
4829         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
4830         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
4831
4832         Tests for module 'cbrtl-ieee'.
4833         * modules/cbrtl-ieee-tests: New file.
4834         * tests/test-cbrtl-ieee.c: New file.
4835
4836         New module 'cbrtl-ieee'.
4837         * modules/cbrtl-ieee: New file.
4838
4839         Tests for module 'cbrt-ieee'.
4840         * modules/cbrt-ieee-tests: New file.
4841         * tests/test-cbrt-ieee.c: New file.
4842
4843         New module 'cbrt-ieee'.
4844         * modules/cbrt-ieee: New file.
4845
4846         Tests for module 'cbrtf-ieee'.
4847         * modules/cbrtf-ieee-tests: New file.
4848         * tests/test-cbrtf-ieee.c: New file.
4849         * tests/test-cbrt-ieee.h: New file.
4850
4851         New module 'cbrtf-ieee'.
4852         * modules/cbrtf-ieee: New file.
4853
4854 2012-02-29  Bruno Haible  <bruno@clisp.org>
4855
4856         cbrtf: Work around bug in IRIX 6.5 system function.
4857         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
4858         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
4859         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
4860         work.
4861         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
4862         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
4863         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
4864         (Depends-on): Update conditions.
4865         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
4866
4867 2012-02-29  Bruno Haible  <bruno@clisp.org>
4868
4869         Tests for module 'cbrtl'.
4870         * modules/cbrtl-tests: New file.
4871         * tests/test-cbrtl.c: New file.
4872
4873         New module 'cbrtl'.
4874         * lib/math.in.h (cbrtl): New declaration.
4875         * lib/cbrtl.c: New file.
4876         * m4/cbrtl.m4: New file.
4877         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
4878         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
4879         HAVE_DECL_CBRTL.
4880         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
4881         HAVE_DECL_CBRTL.
4882         * modules/cbrtl: New file.
4883         * tests/test-math-c++.cc: Check the declaration of cbrtl.
4884         * doc/posix-functions/cbrtl.texi: Mention the new module.
4885
4886 2012-02-29  Bruno Haible  <bruno@clisp.org>
4887
4888         Tests for module 'cbrtf'.
4889         * modules/cbrtf-tests: New file.
4890         * tests/test-cbrtf.c: New file.
4891
4892         New module 'cbrtf'.
4893         * lib/math.in.h (cbrtf): New declaration.
4894         * lib/cbrtf.c: New file.
4895         * m4/cbrtf.m4: New file.
4896         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
4897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
4898         HAVE_DECL_CBRTF.
4899         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
4900         HAVE_DECL_CBRTF.
4901         * modules/cbrtf: New file.
4902         * tests/test-math-c++.cc: Check the declaration of cbrtf.
4903         * doc/posix-functions/cbrtf.texi: Mention the new module.
4904
4905 2012-02-29  Bruno Haible  <bruno@clisp.org>
4906
4907         cbrt: Provide replacement on MSVC and Minix.
4908         * lib/math.in.h (cbrt): New declaration.
4909         * lib/cbrt.c: New file.
4910         * m4/cbrt.m4: New file.
4911         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
4912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
4913         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
4914         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
4915         (Depends-on): Add dependencies.
4916         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
4917         * tests/test-math-c++.cc: Check the declaration of cbrt.
4918         * doc/posix-functions/cbrt.texi: Mention that the module provides a
4919         replacement.
4920
4921 2012-02-29  Bruno Haible  <bruno@clisp.org>
4922
4923         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
4924         * m4/hypotl-ieee.m4: New file.
4925         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
4926         test whether hypotl works with mixed NaN and Infinity arguments.
4927         Replace it if not.
4928         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
4929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
4930         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
4931         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
4932         (Depends-on): Update conditions.
4933         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
4934         (Depends-on): Add hypot-ieee.
4935         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
4936         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
4937
4938         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
4939         * m4/hypotf-ieee.m4: New file.
4940         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
4941         test whether hypotf works with mixed NaN and Infinity arguments.
4942         Replace it if not.
4943         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
4944         (Depends-on): Add hypot-ieee.
4945         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
4946         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
4947
4948         hypot-ieee: Work around test failure on OSF/1 and native Windows.
4949         * lib/math.in.h (hypot): New declaration.
4950         * lib/hypot.c: New file.
4951         * m4/hypot-ieee.m4: New file.
4952         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
4953         whether hypot works with mixed NaN and Infinity arguments. Replace it
4954         if not.
4955         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
4956         REPLACE_HYPOT.
4957         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
4958         * modules/hypot (Files): Add lib/hypot.c.
4959         (Depends-on): Add dependencies.
4960         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
4961         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
4962         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
4963         * tests/test-math-c++.cc: Check the declaration of hypot.
4964         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
4965
4966         Tests for module 'hypotl-ieee'.
4967         * modules/hypotl-ieee-tests: New file.
4968         * tests/test-hypotl-ieee.c: New file.
4969
4970         New module 'hypotl-ieee'.
4971         * modules/hypotl-ieee: New file.
4972
4973         Tests for module 'hypot-ieee'.
4974         * modules/hypot-ieee-tests: New file.
4975         * tests/test-hypot-ieee.c: New file.
4976
4977         New module 'hypot-ieee'.
4978         * modules/hypot-ieee: New file.
4979
4980         Tests for module 'hypotf-ieee'.
4981         * modules/hypotf-ieee-tests: New file.
4982         * tests/test-hypotf-ieee.c: New file.
4983         * tests/test-hypot-ieee.h: New file.
4984
4985         New module 'hypotf-ieee'.
4986         * modules/hypotf-ieee: New file.
4987
4988 2012-02-29  Bruno Haible  <bruno@clisp.org>
4989
4990         Remove unused variables.
4991         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
4992         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4993         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
4994         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4995
4996 2012-02-29  Eric Blake  <eblake@redhat.com>
4997
4998         termios: fix pid_t always, not just for tcgetsid
4999         * doc/posix-headers/termios.texi (termios.h): Mention problem.
5000         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
5001         just when building tcgetsid.
5002
5003 2012-02-29  Bruno Haible  <bruno@clisp.org>
5004
5005         Tests for module 'hypotl'.
5006         * modules/hypotl-tests: New file.
5007         * tests/test-hypotl.c: New file.
5008
5009         New module 'hypotl'.
5010         * lib/math.in.h (hypotl): New declaration.
5011         * lib/hypotl.c: New file.
5012         * m4/hypotl.m4: New file.
5013         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
5014         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
5015         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
5016         * modules/hypotl: New file.
5017         * tests/test-math-c++.cc: Check the hypotl declaration.
5018         * doc/posix-functions/hypotl.texi: Mention the new module.
5019
5020 2012-02-29  Eric Blake  <eblake@redhat.com>
5021
5022         tcgetsid: fix cygwin header bug
5023         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
5024
5025         docs: update cygwin progress
5026         * doc/posix-functions/llround.texi (llround): Added in cygwin
5027         1.7.8.
5028         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
5029         * doc/glibc-functions/program_invocation_name.texi
5030         (program_invocation_name): Likewise.
5031         * doc/glibc-functions/program_invocation_short_name.texi
5032         (program_invocation_short_name): Likewise.
5033         * doc/glibc-functions/madvise.texi (madvise): Likewise.
5034         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
5035         Likewise.
5036         * doc/posix-functions/pthread_spin_destroy.texi
5037         (pthread_spin_destroy): Added in cygwin 1.7.10.
5038         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
5039         Likewise.
5040         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
5041         Likewise.
5042         * doc/posix-functions/pthread_spin_trylock.texi
5043         (pthread_spin_trylock): Likewise.
5044         * doc/posix-functions/pthread_spin_unlock.texi
5045         (pthread_spin_unlock): Likewise.
5046         * doc/posix-functions/pthread_setschedprio.texi
5047         (pthread_setschedprio): Likewise.
5048         * doc/posix-functions/pthread_attr_getstack.texi
5049         (pthread_attr_getstack): Likewise.
5050         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
5051         (pthread_attr_getstackaddr): Likewise.
5052         * doc/glibc-functions/pthread_getattr_np.texi
5053         (pthread_getattr_np): Likewise.
5054         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
5055         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
5056         * doc/posix-functions/clock_settime.texi (clock_settime):
5057         Likewise.
5058         * doc/posix-functions/pthread_attr_getguardsize.texi
5059         (pthread_attr_getguardsize): Likewise.
5060         * doc/posix-functions/pthread_attr_setguardsize.texi
5061         (pthread_attr_setguardsize): Likewise.
5062         * doc/posix-functions/pthread_attr_setstack.texi
5063         (pthread_attr_setstack): Likewise.
5064         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
5065         (pthread_attr_setstackaddr): Likewise.
5066         * doc/posix-functions/clock_getcpuclockid.texi
5067         (clock_getcpuclockid): Likewise.
5068         * doc/posix-functions/pthread_getcpuclockid.texi
5069         (pthread_getcpuclockid): Likewise.
5070         * doc/glibc-functions/error.texi (error): Likewise.
5071         * doc/glibc-functions/error_at_line.texi (error_at_line):
5072         Likewise.
5073         * doc/glibc-functions/error_message_count.texi
5074         (error_message_count): Likewise.
5075         * doc/glibc-functions/error_one_per_line.texi
5076         (error_one_per_line): Likewise.
5077         * doc/glibc-functions/error_print_progname.texi
5078         (error_print_progname): Likewise.
5079         * doc/posix-functions/pthread_condattr_getclock.texi
5080         (pthread_condattr_getclock): Likewise.
5081         * doc/posix-functions/pthread_condattr_setclock.texi
5082         (pthread_condattr_setclock): Likewise.
5083         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
5084         Likewise.
5085         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
5086         * doc/glibc-functions/getpt.texi (getpt): Likewise.
5087         * doc/glibc-functions/get_current_dir_name.texi
5088         (get_current_dir_name): Likewise.
5089         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
5090         Likewise.
5091         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
5092         wrong return type.
5093         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
5094         1.7.11.
5095
5096 2012-02-29  Bruno Haible  <bruno@clisp.org>
5097
5098         Tests for module 'hypotf'.
5099         * modules/hypotf-tests: New file.
5100         * tests/test-hypotf.c: New file.
5101
5102         New module 'hypotf'.
5103         * lib/math.in.h (hypotf): New declaration.
5104         * lib/hypotf.c: New file.
5105         * m4/hypotf.m4: New file.
5106         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
5107         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
5108         REPLACE_HYPOTF.
5109         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
5110         REPLACE_HYPOTF.
5111         * modules/hypotf: New file.
5112         * tests/test-math-c++.cc: Check the hypotf declaration.
5113         * doc/posix-functions/hypotf.texi: Mention the new module.
5114
5115         hypot: Prepare for hypotf module.
5116         * m4/hypot.m4: New file.
5117         * modules/hypot (Files): Add m4/hypot.m4.
5118         (configure.ac): Invoke gl_FUNC_HYPOT.
5119
5120 2012-02-29  Bruno Haible  <bruno@clisp.org>
5121
5122         hypot tests: More tests.
5123         * tests/test-hypot.c: Include <float.h>.
5124         (main): Add tests about overflow and underflow.
5125
5126 2012-02-29  Bruno Haible  <bruno@clisp.org>
5127
5128         math code: Add comments.
5129         * lib/acosl.c: Add comment about related glibc source files.
5130         * lib/asinl.c: Likewise.
5131         * lib/atanl.c: Likewise.
5132         * lib/expl.c: Likewise.
5133         * lib/logl.c: Likewise.
5134         * lib/sincosl.c: Likewise.
5135         * lib/sinl.c: Likewise.
5136         * lib/tanl.c: Likewise.
5137         * lib/trigl.c: Likewise.
5138         * lib/cosl.c: Likewise. Fix comments.
5139
5140 2012-02-28  Bruno Haible  <bruno@clisp.org>
5141
5142         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
5143         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
5144         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
5145         HUGE_VALL are defined.
5146         (numeric_equald): Renamed from numeric_equal.
5147         (numeric_equalf, numeric_equall): New functions.
5148         (main): Check also HUGE_VALF, HUGE_VALL.
5149         * modules/math-tests (Files): Add tests/macros.h.
5150         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
5151         HUGE_VALL.
5152
5153 2012-02-28  Bruno Haible  <bruno@clisp.org>
5154
5155         doc: Move ISO C11 feature notes into POSIX chapters.
5156         * doc/posix-functions/aligned_alloc.texi: Renamed from
5157         doc/glibc-functions/aligned_alloc.texi.
5158         * doc/posix-functions/quick_exit.texi: Renamed from
5159         doc/glibc-functions/quick_exit.texi.
5160         * doc/posix-headers/uchar.texi: Renamed from
5161         doc/glibc-headers/uchar.texi.
5162         * doc/posix-functions/c16rtomb.texi: Renamed from
5163         doc/glibc-functions/c16rtomb.texi.
5164         * doc/posix-functions/c32rtomb.texi: Renamed from
5165         doc/glibc-functions/c32rtomb.texi.
5166         * doc/posix-functions/mbrtoc16.texi: Renamed from
5167         doc/glibc-functions/mbrtoc16.texi.
5168         * doc/posix-functions/mbrtoc32.texi: Renamed from
5169         doc/glibc-functions/mbrtoc32.texi.
5170         * doc/gnulib.texi: Update.
5171         (Glibc uchar.h): Remove section.
5172         Suggested by Eric Blake.
5173
5174 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
5175
5176         stdnoreturn: port to MSVC better
5177         MSVC standard headers use __declspec(noreturn), so #define noreturn
5178         to empty on that platform.  Reported by Bruno Haible in
5179         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
5180         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
5181         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
5182
5183 2012-02-28  Bruno Haible  <bruno@clisp.org>
5184
5185         doc: Mention new glibc headers and functions.
5186         * doc/glibc-headers/uchar.texi: New file.
5187         * doc/glibc-functions/aligned_alloc.texi: New file.
5188         * doc/glibc-functions/c16rtomb.texi: New file.
5189         * doc/glibc-functions/c32rtomb.texi: New file.
5190         * doc/glibc-functions/clock_adjtime.texi: New file.
5191         * doc/glibc-functions/fanotify_init.texi: New file.
5192         * doc/glibc-functions/fanotify_mark.texi: New file.
5193         * doc/glibc-functions/inet6_opt_append.texi: New file.
5194         * doc/glibc-functions/inet6_opt_find.texi: New file.
5195         * doc/glibc-functions/inet6_opt_finish.texi: New file.
5196         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
5197         * doc/glibc-functions/inet6_opt_init.texi: New file.
5198         * doc/glibc-functions/inet6_opt_next.texi: New file.
5199         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
5200         * doc/glibc-functions/inet6_rth_add.texi: New file.
5201         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
5202         * doc/glibc-functions/inet6_rth_init.texi: New file.
5203         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
5204         * doc/glibc-functions/inet6_rth_segments.texi: New file.
5205         * doc/glibc-functions/inet6_rth_space.texi: New file.
5206         * doc/glibc-functions/login.texi: New file.
5207         * doc/glibc-functions/mbrtoc16.texi: New file.
5208         * doc/glibc-functions/mbrtoc32.texi: New file.
5209         * doc/glibc-functions/name_to_handle_at.texi: New file.
5210         * doc/glibc-functions/ntp_gettimex.texi: New file.
5211         * doc/glibc-functions/open_by_handle_at.texi: New file.
5212         * doc/glibc-functions/prlimit.texi: New file.
5213         * doc/glibc-functions/process_vm_readv.texi: New file.
5214         * doc/glibc-functions/process_vm_writev.texi: New file.
5215         * doc/glibc-functions/recvmmsg.texi: New file.
5216         * doc/glibc-functions/scandirat.texi: New file.
5217         * doc/glibc-functions/sendmmsg.texi: New file.
5218         * doc/glibc-functions/setns.texi: New file.
5219         * doc/glibc-functions/timespec_get.texi: New file.
5220         * doc/gnulib.texi: Include them.
5221         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
5222         sections.
5223         Reported by Eric Blake.
5224
5225 2012-02-28  Bruno Haible  <bruno@clisp.org>
5226
5227         Avoid compilation errors with MSVC option -fp:strict.
5228         * lib/floor.c: Use MSVC specific pragma fenv_access.
5229         * lib/ceil.c: Likewise.
5230         * lib/trunc.c: Likewise.
5231         * lib/round.c: Likewise.
5232         * lib/rint.c: Likewise.
5233         * lib/fma.c: Likewise.
5234         * lib/integer_length.c: Likewise.
5235         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5236         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5237         * tests/test-floor2.c: Likewise.
5238         * tests/test-floorf2.c: Likewise.
5239         * tests/test-ceil2.c: Likewise.
5240         * tests/test-ceilf2.c: Likewise.
5241         * tests/test-trunc2.c: Likewise.
5242         * tests/test-truncf2.c: Likewise.
5243         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5244
5245 2012-02-27  Bruno Haible  <bruno@clisp.org>
5246
5247         Tests for module 'sqrtl-ieee'.
5248         * modules/sqrtl-ieee-tests: New file.
5249         * tests/test-sqrtl-ieee.c: New file.
5250
5251         New module 'sqrtl-ieee'.
5252         * modules/sqrtl-ieee: New file.
5253
5254         Tests for module 'sqrt-ieee'.
5255         * modules/sqrt-ieee-tests: New file.
5256         * tests/test-sqrt-ieee.c: New file.
5257
5258         New module 'sqrt-ieee'.
5259         * modules/sqrt-ieee: New file.
5260
5261         Tests for module 'sqrtf-ieee'.
5262         * modules/sqrtf-ieee-tests: New file.
5263         * tests/test-sqrtf-ieee.c: New file.
5264         * tests/test-sqrt-ieee.h: New file.
5265
5266         New module 'sqrtf-ieee'.
5267         * modules/sqrtf-ieee: New file.
5268
5269 2012-02-27  Bruno Haible  <bruno@clisp.org>
5270
5271         remainderl-ieee: Work around test failure on OSF/1.
5272         * m4/remainderl-ieee.m4: New file.
5273         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
5274         present, test whether remainderl works with a zero second argument.
5275         Replace it if not.
5276         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
5277         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
5278         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
5279         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
5280         (Depends-on): Update conditions.
5281         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
5282         (Depends-on): Add remainder-ieee.
5283         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
5284         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
5285         module.
5286
5287         remainderf-ieee: Work around test failure on OSF/1.
5288         * m4/remainderf-ieee.m4: New file.
5289         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
5290         present, test whether remainderf works with a zero second argument.
5291         Replace it if not.
5292         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
5293         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
5294         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
5295         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
5296         (Depends-on): Update conditions.
5297         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
5298         (Depends-on): Add remainder-ieee.
5299         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
5300         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
5301         module.
5302
5303         remainder-ieee: Work around test failure on OSF/1.
5304         * m4/remainder-ieee.m4: New file.
5305         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
5306         present, test whether remainder works with a zero second argument.
5307         Replace it if not.
5308         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
5309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
5310         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
5311         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
5312         (Depends-on): Update dependencies.
5313         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
5314         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
5315         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
5316
5317         Tests for module 'remainderl-ieee'.
5318         * modules/remainderl-ieee-tests: New file.
5319         * tests/test-remainderl-ieee.c: New file.
5320
5321         New module 'remainderl-ieee'.
5322         * modules/remainderl-ieee: New file.
5323
5324         Tests for module 'remainder-ieee'.
5325         * modules/remainder-ieee-tests: New file.
5326         * tests/test-remainder-ieee.c: New file.
5327
5328         New module 'remainder-ieee'.
5329         * modules/remainder-ieee: New file.
5330
5331         Tests for module 'remainderf-ieee'.
5332         * modules/remainderf-ieee-tests: New file.
5333         * tests/test-remainderf-ieee.c: New file.
5334         * tests/test-remainder-ieee.h: New file.
5335
5336         New module 'remainderf-ieee'.
5337         * modules/remainderf-ieee: New file.
5338
5339 2012-02-27  Bruno Haible  <bruno@clisp.org>
5340
5341         modff, modfl: Fix configure syntax error.
5342         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
5343         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5344
5345 2012-02-27  Bruno Haible  <bruno@clisp.org>
5346
5347         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
5348         * m4/fmodl-ieee.m4: New file.
5349         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
5350         whether fmodl works with zero arguments. Replace it if not.
5351         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
5352         (Depends-on): Add fmod-ieee.
5353         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
5354         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
5355
5356         fmodf-ieee: Work around test failure on OSF/1.
5357         * m4/fmodf-ieee.m4: New file.
5358         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
5359         whether fmodf works with zero arguments. Replace it if not.
5360         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
5361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
5362         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
5363         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
5364         (Depends-on): Update dependencies.
5365         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
5366         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
5367         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
5368
5369         fmodf-ieee: Work around test failure on MSVC 9.
5370         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
5371         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
5372
5373         fmod-ieee: Work around test failures on OSF/1, mingw.
5374         * m4/fmod-ieee.m4: New file.
5375         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
5376         whether fmod works with zero arguments. Replace it if not.
5377         * lib/math.in.h (fmod): New declaration.
5378         * lib/fmod.c: New file.
5379         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
5380         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
5381         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
5382         * modules/fmod (Files): Add lib/fmod.c.
5383         (Depends-on): Add math, isinf, trunc, fma.
5384         (configure.ac): Arrange to compile lib/fmod.c if needed.
5385         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
5386         m4/signbit.m4.
5387         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
5388         * tests/test-math-c++.cc: Check the declaration of fmod.
5389         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
5390
5391         fmodl-ieee: Fix test failures.
5392         * lib/fmodl.c (fmodl): Treat Inf specially.
5393         * modules/fmodl (Depends-on): Add isinf.
5394
5395         Tests for module 'fmodl-ieee'.
5396         * modules/fmodl-ieee-tests: New file.
5397         * tests/test-fmodl-ieee.c: New file.
5398
5399         New module 'fmodl-ieee'.
5400         * modules/fmodl-ieee: New file.
5401
5402         Tests for module 'fmod-ieee'.
5403         * modules/fmod-ieee-tests: New file.
5404         * tests/test-fmod-ieee.c: New file.
5405
5406         New module 'fmod-ieee'.
5407         * modules/fmod-ieee: New file.
5408
5409         Tests for module 'fmodf-ieee'.
5410         * modules/fmodf-ieee-tests: New file.
5411         * tests/test-fmodf-ieee.c: New file.
5412         * tests/test-fmod-ieee.h: New file.
5413
5414         New module 'fmodf-ieee'.
5415         * modules/fmodf-ieee: New file.
5416
5417 2012-02-27  Bruno Haible  <bruno@clisp.org>
5418
5419         Tests for module 'rintl-ieee'.
5420         * modules/rintl-ieee-tests: New file.
5421         * tests/test-rintl-ieee.c: New file.
5422
5423         New module 'rintl-ieee'.
5424         * modules/rintl-ieee: New file.
5425
5426         Tests for module 'rint-ieee'.
5427         * modules/rint-ieee-tests: New file.
5428         * tests/test-rint-ieee.c: New file.
5429
5430         New module 'rint-ieee'.
5431         * modules/rint-ieee: New file.
5432
5433         Tests for module 'rintf-ieee'.
5434         * modules/rintf-ieee-tests: New file.
5435         * tests/test-rintf-ieee.c: New file.
5436         * tests/test-rint-ieee.h: New file.
5437
5438         New module 'rintf-ieee'.
5439         * modules/rintf-ieee: New file.
5440
5441 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
5442
5443         regex: re_search etc. should return -2 when memory exhausted
5444         This bug was uncovered when testing 'grep'.  Without the fix,
5445         re_search and friends return -1 when memory is exhausted, but -1
5446         means no match, and this causes grep to falsely report no-match
5447         instead of memory-exhaustion.  See
5448         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
5449         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
5450         trouble; this can occur if re_search_internal ran out of memory.
5451
5452 2012-02-26  Bruno Haible  <bruno@clisp.org>
5453
5454         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
5455         * m4/modfl-ieee.m4: New file.
5456         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
5457         whether modfl works with Inf. Replace it if not.
5458         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
5459         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
5460         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
5461         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
5462         (Depends-on): Update dependencies.
5463         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
5464         m4/signbit.m4.
5465         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
5466         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
5467
5468         modfl-ieee: Fix dependencies.
5469         * modules/modfl-ieee (Depends-on): Add modf-ieee.
5470
5471         modfl-ieee: Fix test failures.
5472         * lib/modfl.c (modfl): Treat NaN and Inf specially.
5473         * modules/modfl (Depends-on): Add isfinite, isinf.
5474
5475         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
5476         * m4/modff-ieee.m4: New file.
5477         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
5478         whether modff works with NaN and Inf. Replace it if not.
5479         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
5480         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
5481         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
5482         * modules/modff (configure.ac): Consider REPLACE_MODFF.
5483         (Depends-on): Update dependencies.
5484         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
5485         m4/signbit.m4.
5486         (Depends-on): Add modf-ieee.
5487         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
5488         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
5489
5490         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
5491         * m4/modf-ieee.m4: New file.
5492         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
5493         whether modf works with NaN and Inf. Replace it if not.
5494         * lib/math.in.h (modf): New declaration.
5495         * lib/modf.c: New file.
5496         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
5497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
5498         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
5499         * modules/modf (Files): Add lib/modf.c.
5500         (Depends-on): Add math, isfinite, trunc, isinf.
5501         (configure.ac): Addrange to compile lib/modf.c if needed.
5502         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
5503         m4/signbit.m4.
5504         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
5505         * tests/test-math-c++.cc: Check the declaration of modf.
5506         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
5507
5508         Tests for module 'modfl-ieee'.
5509         * modules/modfl-ieee-tests: New file.
5510         * tests/test-modfl-ieee.c: New file.
5511
5512         New module 'modfl-ieee'.
5513         * modules/modfl-ieee: New file.
5514
5515         Tests for module 'modf-ieee'.
5516         * modules/modf-ieee-tests: New file.
5517         * tests/test-modf-ieee.c: New file.
5518
5519         New module 'modf-ieee'.
5520         * modules/modf-ieee: New file.
5521
5522         Tests for module 'modff-ieee'.
5523         * modules/modff-ieee-tests: New file.
5524         * tests/test-modff-ieee.c: New file.
5525         * tests/test-modf-ieee.h: New file.
5526
5527         New module 'modff-ieee'.
5528         * modules/modff-ieee: New file.
5529
5530 2012-02-26  Bruno Haible  <bruno@clisp.org>
5531
5532         Tests for module 'fabsl-ieee'.
5533         * modules/fabsl-ieee-tests: New file.
5534         * tests/test-fabsl-ieee.c: New file.
5535
5536         New module 'fabsl-ieee'.
5537         * modules/fabsl-ieee: New file.
5538
5539         Tests for module 'fabs-ieee'.
5540         * modules/fabs-ieee-tests: New file.
5541         * tests/test-fabs-ieee.c: New file.
5542
5543         New module 'fabs-ieee'.
5544         * modules/fabs-ieee: New file.
5545
5546         Tests for module 'fabsf-ieee'.
5547         * modules/fabsf-ieee-tests: New file.
5548         * tests/test-fabsf-ieee.c: New file.
5549         * tests/test-fabs-ieee.h: New file.
5550
5551         New module 'fabsf-ieee'.
5552         * modules/fabsf-ieee: New file.
5553
5554 2012-02-26  Bruno Haible  <bruno@clisp.org>
5555
5556         Tests for module 'fmal-ieee'.
5557         * modules/fmal-ieee-tests: New file.
5558         * tests/test-fmal-ieee.c: New file.
5559
5560         New module 'fmal-ieee'.
5561         * modules/fmal-ieee: New file.
5562
5563         Tests for module 'fma-ieee'.
5564         * modules/fma-ieee-tests: New file.
5565         * tests/test-fma-ieee.c: New file.
5566
5567         New module 'fma-ieee'.
5568         * modules/fma-ieee: New file.
5569
5570         Tests for module 'fmaf-ieee'.
5571         * modules/fmaf-ieee-tests: New file.
5572         * tests/test-fmaf-ieee.c: New file.
5573         * tests/test-fma-ieee.h: New file.
5574
5575         New module 'fmaf-ieee'.
5576         * modules/fmaf-ieee: New file.
5577
5578 2012-02-26  Bruno Haible  <bruno@clisp.org>
5579
5580         Tests for module 'ldexpl-ieee'.
5581         * modules/ldexpl-ieee-tests: New file.
5582         * tests/test-ldexpl-ieee.c: New file.
5583
5584         New module 'ldexpl-ieee'.
5585         * modules/ldexpl-ieee: New file.
5586
5587         Tests for module 'ldexp-ieee'.
5588         * modules/ldexp-ieee-tests: New file.
5589         * tests/test-ldexp-ieee.c: New file.
5590
5591         New module 'ldexp-ieee'.
5592         * modules/ldexp-ieee: New file.
5593
5594         Tests for module 'ldexpf-ieee'.
5595         * modules/ldexpf-ieee-tests: New file.
5596         * tests/test-ldexpf-ieee.c: New file.
5597         * tests/test-ldexp-ieee.h: New file.
5598
5599         New module 'ldexpf-ieee'.
5600         * modules/ldexpf-ieee: New file.
5601
5602 2012-02-26  Bruno Haible  <bruno@clisp.org>
5603
5604         Refactor frexp*-ieee tests.
5605         * tests/test-frexp-ieee.h: New file.
5606         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
5607         (main): Just call test_function.
5608         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
5609         (main): Just call test_function.
5610         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
5611         (main): Just call test_function.
5612         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
5613         * modules/frexp-ieee-tests (Files): Likewise.
5614         * modules/frexpl-ieee-tests (Files): Likewise.
5615
5616         Tests for module 'frexpl-ieee'.
5617         * modules/frexpl-ieee-tests: New file.
5618         * tests/test-frexpl-ieee.c: New file.
5619
5620         New module 'frexpl-ieee'.
5621         * modules/frexpl-ieee: New file.
5622
5623         Tests for module 'frexp-ieee'.
5624         * modules/frexp-ieee-tests: New file.
5625         * tests/test-frexp-ieee.c: New file.
5626
5627         New module 'frexp-ieee'.
5628         * modules/frexp-ieee: New file.
5629
5630         Tests for module 'frexpf-ieee'.
5631         * modules/frexpf-ieee-tests: New file.
5632         * tests/test-frexpf-ieee.c: New file.
5633
5634         New module 'frexpf-ieee'.
5635         * modules/frexpf-ieee: New file.
5636
5637 2012-02-26  Bruno Haible  <bruno@clisp.org>
5638
5639         roundl-ieee tests: More tests.
5640         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5641         (main): Add tests for [MX] shaded specification in POSIX.
5642         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5643         (Depends-on): Add isnanl-nolibm.
5644
5645         round-ieee tests: More tests.
5646         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5647         (main): Add tests for [MX] shaded specification in POSIX.
5648         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5649         (Depends-on): Add isnand-nolibm.
5650
5651         roundf-ieee tests: More tests.
5652         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5653         (main): Add tests for [MX] shaded specification in POSIX.
5654         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5655         (Depends-on): Add isnanf-nolibm.
5656
5657         truncl-ieee tests: More tests.
5658         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5659         (main): Add tests for [MX] shaded specification in POSIX.
5660         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5661         (Depends-on): Add isnanl-nolibm.
5662
5663         trunc-ieee tests: More tests.
5664         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5665         (main): Add tests for [MX] shaded specification in POSIX.
5666         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5667         (Depends-on): Add isnand-nolibm.
5668
5669         truncf-ieee tests: More tests.
5670         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5671         (main): Add tests for [MX] shaded specification in POSIX.
5672         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5673         (Depends-on): Add isnanf-nolibm.
5674
5675         ceill-ieee tests: More tests.
5676         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5677         (main): Add tests for [MX] shaded specification in POSIX.
5678         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5679         (Depends-on): Add isnanl-nolibm.
5680
5681         ceil-ieee tests: More tests.
5682         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5683         (main): Add tests for [MX] shaded specification in POSIX.
5684         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5685         (Depends-on): Add isnand-nolibm.
5686
5687         ceilf-ieee tests: More tests.
5688         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5689         (main): Add tests for [MX] shaded specification in POSIX.
5690         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5691         (Depends-on): Add isnanf-nolibm.
5692
5693         floorl-ieee tests: More tests.
5694         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5695         (main): Add tests for [MX] shaded specification in POSIX.
5696         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5697         (Depends-on): Add isnanl-nolibm.
5698
5699         floor-ieee tests: More tests.
5700         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5701         (main): Add tests for [MX] shaded specification in POSIX.
5702         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5703         (Depends-on): Add isnand-nolibm.
5704
5705         floorf-ieee tests: More tests.
5706         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5707         (main): Add tests for [MX] shaded specification in POSIX.
5708         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5709         (Depends-on): Add isnanf-nolibm.
5710
5711 2012-02-26  Bruno Haible  <bruno@clisp.org>
5712
5713         fpieee: More comments.
5714         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
5715
5716 2012-02-25  Bruno Haible  <bruno@clisp.org>
5717
5718         Tests for module 'log10l'.
5719         * modules/log10l-tests: New file.
5720         * tests/test-log10l.c: New file.
5721         * tests/test-math-c++.cc: Check the declaration of log10l.
5722
5723         New module 'log10l'.
5724         * lib/math.in.h (log10l): New declaration.
5725         * lib/log10l.c: New file.
5726         * m4/log10l.m4: New file.
5727         * modules/log10l: New file.
5728         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
5729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
5730         HAVE_DECL_LOG10L.
5731         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
5732         HAVE_DECL_LOG10L.
5733         * doc/posix-functions/log10l.texi: Mention the new module.
5734
5735 2012-02-25  Bruno Haible  <bruno@clisp.org>
5736
5737         fmodl, remainder*: Avoid wrong results due to rounding errors.
5738         * lib/fmodl.c (fmodl): Correct the result if it is not within the
5739         expected bounds.
5740         * lib/remainderf.c (remainderf): Likewise.
5741         * lib/remainder.c (remainder): Likewise.
5742         * lib/remainderl.c (remainderl): Likewise.
5743
5744 2012-02-25  Bruno Haible  <bruno@clisp.org>
5745
5746         Tests for module 'remainderl'.
5747         * modules/remainderl-tests: New file.
5748         * tests/test-remainderl.c: New file.
5749         * tests/test-math-c++.cc: Check the declaration of remainderl.
5750
5751         New module 'remainderl'.
5752         * lib/math.in.h (remainderl): New declaration.
5753         * lib/remainderl.c: New file.
5754         * m4/remainderl.m4: New file.
5755         * modules/remainderl: New file.
5756         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
5757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
5758         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
5759         HAVE_REMAINDERL.
5760         * doc/posix-functions/remainderl.texi: Mention the new module.
5761
5762 2012-02-25  Bruno Haible  <bruno@clisp.org>
5763
5764         Tests for module 'remainderf'.
5765         * modules/remainderf-tests: New file.
5766         * tests/test-remainderf.c: New file.
5767         * tests/test-math-c++.cc: Check the declaration of remainderf.
5768
5769         New module 'remainderf'.
5770         * lib/math.in.h (remainderf): New declaration.
5771         * lib/remainderf.c: New file.
5772         * m4/remainderf.m4: New file.
5773         * modules/remainderf: New file.
5774         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
5775         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
5776         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
5777         HAVE_REMAINDERF.
5778         * doc/posix-functions/remainderf.texi: Mention the new module.
5779
5780 2012-02-25  Bruno Haible  <bruno@clisp.org>
5781
5782         remainder: Support for MSVC.
5783         * lib/math.in.h (remainder): New declaration.
5784         * lib/remainder.c: New file.
5785         * m4/remainder.m4: New file.
5786         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
5787         (Depends-on): Add math, round, fma.
5788         (configure.ac): Use results of gl_FUNC_REMAINDER.
5789         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
5790         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
5791         HAVE_DECL_REMAINDER.
5792         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
5793         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
5794         * tests/test-math-c++.cc: Check the declaration of remainder.
5795         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
5796         problems are fixed.
5797
5798 2012-02-25  Bruno Haible  <bruno@clisp.org>
5799
5800         Tests for module 'fmodl'.
5801         * modules/fmodl-tests: New file.
5802         * tests/test-fmodl.c: New file.
5803         * tests/test-math-c++.cc: Check the declaration of fmodl.
5804
5805         New module 'fmodl'.
5806         * lib/math.in.h (fmodl): New declaration.
5807         * lib/fmodl.c: New file.
5808         * m4/fmodl.m4: New file.
5809         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
5810         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
5811         REPLACE_FMODL.
5812         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
5813         REPLACE_FMODL.
5814         * modules/fmodl: New file.
5815         * doc/posix-functions/fmodl.texi: Mention the new module.
5816
5817 2012-02-25  Bruno Haible  <bruno@clisp.org>
5818
5819         Tests for module 'modfl'.
5820         * modules/modfl-tests: New file.
5821         * tests/test-modfl.c: New file.
5822         * tests/test-math-c++.cc: Check the declaration of modfl.
5823
5824         New module 'modfl'.
5825         * lib/math.in.h (modfl): New declaration.
5826         * lib/modfl.c: New file.
5827         * m4/modfl.m4: New file.
5828         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
5829         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
5830         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
5831         * modules/modfl: New file.
5832         * doc/posix-functions/modfl.texi: Mention the new module.
5833
5834 2012-02-25  Bruno Haible  <bruno@clisp.org>
5835
5836         Tests for module 'fabsl'.
5837         * modules/fabsl-tests: New file.
5838         * tests/test-fabsl.c: New file.
5839         * tests/test-math-c++.cc: Check the declaration of fabsl.
5840
5841         New module 'fabsl'.
5842         * lib/math.in.h (fabsl): New declaration.
5843         * lib/fabsl.c: New file.
5844         * m4/fabsl.m4: New file.
5845         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
5846         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
5847         REPLACE_FABSL.
5848         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
5849         REPLACE_FABSL.
5850         * modules/fabsl: New file.
5851         * doc/posix-functions/fabsl.texi: Mention the new module.
5852
5853 2012-02-25  Bruno Haible  <bruno@clisp.org>
5854
5855         fabs tests: More tests.
5856         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
5857         (zero): New variable.
5858         (main): Add tests for signed zero.
5859         * modules/fabs-tests (Files): Add tests/minus-zero.h.
5860
5861         fabsf tests: More tests.
5862         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
5863         (zero): New variable.
5864         (main): Add tests for signed zero.
5865         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
5866
5867 2012-02-24  Bruno Haible  <bruno@clisp.org>
5868
5869         atanl: Provide function definition on MSVC.
5870         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
5871         function pointer.
5872         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
5873
5874 2012-02-24  Bruno Haible  <bruno@clisp.org>
5875
5876         acosl: Provide function definition on MSVC.
5877         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
5878         function pointer.
5879         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
5880
5881 2012-02-24  Bruno Haible  <bruno@clisp.org>
5882
5883         asinl: Provide function definition on MSVC.
5884         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
5885         function pointer.
5886         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
5887
5888 2012-02-24  Bruno Haible  <bruno@clisp.org>
5889
5890         tanl: Provide function definition on MSVC.
5891         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
5892         function pointer.
5893         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
5894
5895 2012-02-24  Bruno Haible  <bruno@clisp.org>
5896
5897         cosl: Provide function definition on MSVC.
5898         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
5899         function pointer.
5900         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
5901
5902 2012-02-24  Bruno Haible  <bruno@clisp.org>
5903
5904         sinl: Provide function definition on MSVC.
5905         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
5906         function pointer.
5907         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
5908
5909 2012-02-24  Bruno Haible  <bruno@clisp.org>
5910
5911         logl: Provide function definition on MSVC.
5912         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
5913         function pointer.
5914         * lib/math.in.h (logl): Undefine if it does not exist as a function.
5915
5916 2012-02-24  Bruno Haible  <bruno@clisp.org>
5917
5918         expl: Provide function definition on MSVC.
5919         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
5920         function pointer.
5921         * lib/math.in.h (expl): Undefine if it does not exist as a function.
5922
5923 2012-02-24  Bruno Haible  <bruno@clisp.org>
5924
5925         sqrtl: Provide function definition on MSVC.
5926         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
5927         a function pointer.
5928         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
5929
5930 2012-02-24  Bruno Haible  <bruno@clisp.org>
5931
5932         ceill: Provide function definition on MSVC.
5933         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
5934         used as a function pointer.
5935         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
5936
5937 2012-02-24  Bruno Haible  <bruno@clisp.org>
5938
5939         floorl: Provide function definition on MSVC.
5940         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
5941         used as a function pointer.
5942         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
5943
5944 2012-02-24  Bruno Haible  <bruno@clisp.org>
5945
5946         ceilf: Provide function definition on MSVC.
5947         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
5948         used as a function pointer.
5949         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
5950
5951 2012-02-24  Bruno Haible  <bruno@clisp.org>
5952
5953         floorf: Provide function definition on MSVC.
5954         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
5955         used as a function pointer.
5956         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
5957
5958 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5959
5960         stdnoreturn: new module
5961         This implements a replacement for C11's <stdnoreturn.h>.
5962         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
5963         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
5964         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5965         * tests/test-stdnoreturn.c: New files.
5966
5967 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
5968
5969         regex: fix false multibyte matches in some regular expressions
5970         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
5971         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
5972         * lib/regex_internal.c (re_string_skip_chars):
5973         Fix miscomputation of remain_len that may cause incomplete
5974         multi-byte character and false match.
5975
5976 2012-02-24  Jim Meyering  <meyering@redhat.com>
5977
5978         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
5979         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
5980         uses with "==" *before* the call, e.g., 0 == strcmp (...)
5981         Remove now-unnecessary str''cmp obfuscation.
5982         Suggested by Akim Demaille.
5983
5984 2012-02-24  Bruno Haible  <bruno@clisp.org>
5985
5986         streq: Rename macro.
5987         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
5988         * NEWS: Mention the change.
5989         * lib/mbrtowc.c (mbrtowc): Update.
5990         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
5991         * lib/wcwidth.c (wcwidth): Update.
5992         Suggested by Akim Demaille and Jim Meyering.
5993
5994 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5995
5996         regex: fix typo in definition of MIN
5997         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
5998         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
5999
6000 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
6001             Bruno Haible  <bruno@clisp.org>
6002
6003         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
6004         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
6005         entries into a stack-allocated buffer directly.
6006         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
6007
6008 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
6009             Bruno Haible  <bruno@clisp.org>
6010
6011         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
6012
6013          - There were several instances of this pattern:
6014
6015              for (;;) {
6016                n = acl (f, GETACLCNT, 0, NULL);
6017                [ allocate an array A of size N ]
6018                if (acl (f, GETACL, n, a) == n)
6019                  break;
6020              }
6021
6022            This loop might never terminate if some other process is constantly
6023            manipulating the file's ACL.  The loop should be rewritten to
6024            terminate.
6025
6026          - The acl (... GETACLNT ...) call is merely an optimization; its value
6027            is merely a hint as to how big to make the array.  A better
6028            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
6029            and just guess a reasonably-big size, growing the size and trying
6030            again if it's not large enough.  This guarantees termination, and
6031            saves a system call.
6032
6033         * lib/acl-internal.h: Include <limits.h>.
6034         (MIN, SIZE_MAX): New macros.
6035         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
6036         a stack-allocated buffer, and use malloc if it does not fit. Don't
6037         use GETACLCNT.
6038         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
6039
6040 2012-02-19  Bruno Haible  <bruno@clisp.org>
6041
6042         acl: Fix endless loop on Solaris with vxfs.
6043         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
6044         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
6045         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
6046         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
6047         * tests/test-sameacls.c (main)[Solaris]: Likewise.
6048         Reported by Bill Jones in
6049         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
6050
6051 2012-02-19  Bruno Haible  <bruno@clisp.org>
6052
6053         acl: Fix copy-acl test failure on Solaris 11 2011-11.
6054         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
6055         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
6056         that this function returns 0 in some more cases.
6057
6058 2012-02-19  Bruno Haible  <bruno@clisp.org>
6059
6060         acl: Update doc references.
6061         * doc/acl-resources.txt: Update links to Solaris documentation.
6062
6063 2012-02-19  Bruno Haible  <bruno@clisp.org>
6064
6065         Fix test failure in many locales on Solaris 11.
6066         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
6067         'tr' arguments.
6068         * tests/test-pipe-filter-ii1.c (main): Likewise.
6069         * build-aux/bootstrap (check_versions): Run 'tr' command with range
6070         expressions in the C locale.
6071         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
6072         * m4/host-os.m4 (gl_HOST_OS): Likewise.
6073
6074 2012-02-19  Bruno Haible  <bruno@clisp.org>
6075
6076         gnulib-tool: Improve usage message.
6077         * gnulib-tool (func_usage): Move doc of --help and --version to the
6078         section "Operation modes".
6079
6080 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
6081
6082         README-release: make it easier to execute commands
6083         * top/README-release: break commands out on to separate lines.
6084
6085 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6086
6087         GNUmakefile: simplify detection of unconfigured trees
6088         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
6089         whether the tree make is being run from is already configured or
6090         not.  Related simplifications.
6091
6092 2012-02-13  Simon Josefsson  <simon@josefsson.org>
6093
6094         * gnulib-tool (func_usage): Document --help and --version.
6095
6096 2012-02-11  Jim Meyering  <meyering@redhat.com>
6097
6098         bootstrap: don't exit 0 upon gnulib-tool failure
6099         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
6100         its exit status, not 0.
6101
6102 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
6103
6104         README-release: various improvements
6105         * top/README-release: Give a command to push changes for the
6106         release.  Add "distcheck" to list of other pre-release checks.
6107         Fix instance of "make stable" which should be "make TYPE".
6108
6109 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
6110
6111         maint: replace FSF snail-mail addresses with URLs
6112         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
6113         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
6114         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
6115         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
6116         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
6117         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
6118         * lib/check-version.c, lib/check-version.h, lib/config.charset:
6119         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
6120         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
6121         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
6122         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
6123         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
6124         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
6125         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
6126         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
6127         * lib/glthread/thread.c, lib/glthread/thread.h:
6128         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
6129         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
6130         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
6131         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
6132         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
6133         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
6134         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
6135         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
6136         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
6137         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
6138         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
6139         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
6140         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
6141         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
6142         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
6143         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
6144         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
6145         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
6146         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
6147         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
6148         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
6149         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
6150         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
6151         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
6152         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
6153         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
6154         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
6155         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
6156         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
6157         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
6158         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
6159         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
6160         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
6161         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
6162         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
6163         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
6164         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
6165         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
6166         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
6167         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
6168         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
6169         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
6170         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
6171         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
6172         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
6173         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
6174         * tests/test-poll.c, tests/test-quotearg-simple.c:
6175         * tests/test-quotearg.c, tests/test-quotearg.h:
6176         * tests/test-round-ieee.c, tests/test-round1.c:
6177         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
6178         * tests/test-roundl-ieee.c, tests/test-roundl.c:
6179         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
6180         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
6181         * tests/test-strerror.c, tests/test-strerror_r.c:
6182         * tests/test-strsignal.c, tests/test-strverscmp.c:
6183         * tests/test-xmemdup0.c:
6184         Replace FSF snail mail addresses with URLs, as per GNU coding
6185         standards.  See glibc bug
6186         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
6187
6188 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6189
6190         README-release: capitalize a word and split a line
6191         * top/README-release: Fix punctuation and spacing.
6192
6193 2012-02-08  Akim Demaille  <demaille@gostai.com>
6194
6195         fatal-signal: use C prototypes (with explicit void).
6196         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
6197         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
6198
6199 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6200
6201         regex: spelling fix
6202         * lib/regexec.c: spelling fix
6203
6204         regex: rely on stdint.h for SIZE_MAX
6205         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
6206
6207 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6208
6209         regex: merge glibc changes
6210
6211         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
6212         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
6213         (init_word_char): Work even if bitset words are not exactly 32 or
6214         64 bits wide.  Don't assume there are no padding bits.
6215         * lib/regex.c [_LIBC]: Do not include <config.h>.
6216         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
6217         and -Wtype-limits.
6218         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
6219         needless disagreement with glibc.  All uses changed.  Define it to
6220         1 only if _GNU_SOURCE, to match glibc.
6221         (_REG_RM_NAME): Remove; no longer needed, since the names in
6222         question are now all protected by __USE_GNU.
6223         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
6224         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
6225         * lib/regex_internal.h (MIN): New macro.
6226
6227         2012-01-03 Ulrich Drepper <drepper@gmail.com>
6228         * lib/regcomp.c (init_word_char): Optimize regex a bit.
6229
6230         2011-12-30 Jakub Jelinek <jakub@redhat.com>
6231         * lib/regex_internal.c (re_string_fetch_byte_case):
6232         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
6233         is miscompiled, and it turns out it is because of an incorrect
6234         attribute on re_string_fetch_byte_case.  Unlike
6235         re_string_peek_byte_case, this one is really not pure, it modifies
6236         memory (increments pstr->cur_idx), and with the pure attribute GCC
6237         assumed it doesn't and it cached the presumed value of
6238         regexp->cur_idx in a variable across the
6239          for (;; ++i)
6240            {
6241              if (i >= BRACKET_NAME_BUF_SIZE)
6242                return REG_EBRACK;
6243              if (token->type == OP_OPEN_CHAR_CLASS)
6244                ch = re_string_fetch_byte_case (regexp);
6245              else
6246                ch = re_string_fetch_byte (regexp);
6247              if (re_string_eoi(regexp))
6248                return REG_EBRACK;
6249              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
6250                break;
6251              elem->opr.name[i] = ch;
6252            }
6253
6254         2011-11-29 Andreas Schwab <schwab@redhat.com>
6255         * lib/regcomp.c (build_equiv_class):
6256         Fix access after end of search string in regex matcher.
6257
6258         2011-11-12 Ulrich Drepper <drepper@redhat.com>
6259         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
6260
6261         2011-10-12 Ulrich Drepper <drepper@redhat.com>
6262         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
6263
6264         2011-10-11 Ulrich Drepper <drepper@redhat.com>
6265         * lib/regcomp.c (parse_branch, parse_sub_exp):
6266         More regex memory leak fixes and tests.
6267         (parse_sub_exp, parse_bracket_exp):
6268         Fix memory leak for some invalid regular expressions.
6269
6270         2011-05-28 Ulrich Drepper <drepper@gmail.com>
6271         * lib/regex_internal.c, lib/regexec.c:
6272         Fix unnecessary overallocation due to incomplete character.  When
6273         incomplete characters are found at the end of a string the code
6274         ran amok and allocated lots of memory.  Stricter limits are now in
6275         place.
6276
6277         2011-05-20 Reuben Thomas <rrt@sc3d.org>
6278         * lib/regex.h: Update documentation.
6279
6280         2011-05-16 Aharon Robbins <arnold@skeeve.com>
6281         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
6282
6283         2010-05-05 Andreas Schwab <schwab@redhat.com>
6284         * lib/regexec.c (find_collation_sequence_value):
6285         Fix lookup of collation sequence value during regexp matching.
6286
6287         2010-01-22 Ulrich Drepper <drepper@redhat.com>
6288         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
6289
6290         2008-01-16 Ulrich Drepper <drepper@redhat.com>
6291         * lib/regex.h: Cleanup namespace.
6292
6293         2007-11-26 Ulrich Drepper <drepper@redhat.com>
6294         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
6295
6296         2007-08-26 Ulrich Drepper <drepper@redhat.com>
6297         * lib/regex_internal.h: Prevent some declarations and definitions
6298         to be seen when used in tests.
6299
6300         2005-05-06 Ulrich Drepper <drepper@redhat.com>
6301         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
6302         __libc_lock_* macros if not _LIBC.
6303         (struct re_dfa_t): Add lock.
6304
6305 2012-02-07  Eric Blake  <eblake@redhat.com>
6306
6307         maint.mk: also prohibit lower-case @var@
6308         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
6309         lower case, like @top_srcdir@.
6310
6311 2012-02-04  Eric Blake  <eblake@redhat.com>
6312
6313         canonicalize: avoid uninitialized memory use
6314         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
6315         random '/' left in dest.
6316         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
6317
6318 2012-02-04  Bruno Haible  <bruno@clisp.org>
6319
6320         isatty: Fix test failure of ptsname_r on native Windows.
6321         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
6322         and don't set errno.
6323         (isatty): Test first whether fd is valid. Set errno when returning 0.
6324
6325 2012-02-04  Bruno Haible  <bruno@clisp.org>
6326
6327         spawn-pipe tests: Fix a NULL program name in a diagnostic.
6328         * tests/test-spawn-pipe-main.c: Include progname.h.
6329         (main): Invoke set_program_name.
6330         * modules/spawn-pipe-tests (Depends-on): Add progname.
6331
6332         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
6333         * tests/test-nonblocking-socket-main.c: Include progname.h.
6334         (main): Invoke set_program_name.
6335         * modules/nonblocking-socket-tests (Depends-on): Add progname.
6336
6337         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
6338         * tests/test-nonblocking-pipe-main.c: Include progname.h.
6339         (main): Invoke set_program_name.
6340         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
6341
6342 2012-02-04  Eric Blake  <eblake@redhat.com>
6343
6344         canonicalize-lgpl: fix // handling
6345         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
6346
6347         canonicalize: fix // handling
6348         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
6349         /// to //, since only // is special.
6350
6351 2012-02-04  Bruno Haible  <bruno@clisp.org>
6352
6353         ioctl: Fix test failure on native Windows.
6354         * lib/ioctl.c: Include msvc-nothrow.h.
6355         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
6356
6357 2012-02-04  Bruno Haible  <bruno@clisp.org>
6358
6359         fsync: Avoid test failure on native Windows.
6360         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
6361         read-only.
6362
6363 2012-02-04  Bruno Haible  <bruno@clisp.org>
6364
6365         sys_select: Avoid syntax error on OpenBSD 5.0.
6366         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
6367         currently being included, just include the system's <sys/select.h>.
6368
6369 2012-02-04  Bruno Haible  <bruno@clisp.org>
6370
6371         sys_select: Avoid syntax error on OpenBSD 5.0.
6372         * lib/sys_select.in.h: Include <signal.h> only after the include_next
6373         <sys/select.h>, not before.
6374         Reported by Jiri B <jirib@devio.us>.
6375
6376 2012-02-04  Bruno Haible  <bruno@clisp.org>
6377
6378         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
6379         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
6380         global variables.
6381         * tests/test-get-rusage-data.c (main): Likewise.
6382         Reported by Jim Meyering.
6383
6384 2012-02-04  Bruno Haible  <bruno@clisp.org>
6385
6386         stdioext: Fix last commit.
6387         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
6388
6389 2012-02-03  Bruno Haible  <bruno@clisp.org>
6390
6391         stdioext: Add tentative support for Plan9.
6392         * lib/stdio-impl.h: Include <errno.h>.
6393         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
6394         * lib/freadable.c (freadable): Likewise.
6395         * lib/fwritable.c (fwritable): Likewise.
6396         * lib/fbufmode.c (fbufmode): Likewise.
6397         * lib/freading.c (freading): Likewise.
6398         * lib/fwriting.c (fwriting): Likewise.
6399         * lib/freadptr.c (freadptr): Likewise.
6400         * lib/freadseek.c (freadptrinc): Likewise.
6401         * lib/freadahead.c (freadahead): Likewise.
6402         * lib/fpurge.c (fpurge): Likewise.
6403         * lib/fseeko.c (rpl_fseeko): Likewise.
6404         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
6405         Reported by Jens Staal <staal1978@gmail.com>.
6406
6407 2012-02-02  Jim Meyering  <meyering@redhat.com>
6408
6409         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
6410         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
6411         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
6412         not even to try to add the attribute.  Instead, add a pragma to suppress
6413         the suggestion/warning.
6414
6415 2012-01-31  Karl Berry  <karl@gnu.org>
6416
6417         setstate doc: typo.
6418         * doc/posix-functions/setstate.texi (setstate): { not (.
6419
6420 2012-01-31  Bruno Haible  <bruno@clisp.org>
6421
6422         popen: Make more robust on Windows.
6423         * lib/popen.c: On native Windows, use the _popen based code even if
6424         HAVE_POPEN is set.
6425         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
6426         environment variable on native Windows.
6427
6428 2012-01-30  Bruno Haible  <bruno@clisp.org>
6429
6430         pclose: Fix typo.
6431         * lib/stdio.in.h (pclose): Fix typo in warning message.
6432
6433 2012-01-30  Bruno Haible  <bruno@clisp.org>
6434
6435         doc about getlogin_r, setstate.
6436         * doc/posix-functions/getlogin_r.texi: List the incompatible
6437         declaration problem under "not fixed by gnulib".
6438         * doc/posix-functions/setstate.texi: Mention incompatible declaration
6439         problem on Solaris 11 and other platforms.
6440
6441 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
6442             Bruno Haible  <bruno@clisp.org>
6443
6444         poll tests: Make test more robust.
6445         * tests/test-poll.c: Include macros.h.
6446         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
6447         return value of various I/O operations.
6448         * modules/poll-tests (Files): Add tests/macros.h.
6449
6450 2012-01-30  Bruno Haible  <bruno@clisp.org>
6451
6452         sys_stat: Fix support for mingw64 and MSVC.
6453         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
6454         header files already do it.
6455         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
6456         stat itself.
6457         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
6458
6459 2012-01-30  Bruno Haible  <bruno@clisp.org>
6460
6461         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
6462         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
6463         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
6464
6465 2012-01-29  Bruno Haible  <bruno@clisp.org>
6466
6467         quotearg: Fix test failure on MacOS X 10.5.
6468         * tests/test-quotearg-simple.c: Include localcharset.h.
6469         (main): If the locale encoding is not ASCII, bypass the tests of
6470         locale_quoting_style and clocale_quoting_style.
6471         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
6472
6473 2012-01-29  Jim Meyering  <meyering@redhat.com>
6474
6475         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
6476         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
6477         detect uses of canonicalize_file_name.
6478
6479 2012-01-28  Bruno Haible  <bruno@clisp.org>
6480
6481         test-framework-sh: Fix test failure with AIX 7.1 diff.
6482         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
6483         in column 1, like 'diff -c' does.
6484         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
6485         whether 'diff -u' is used. Instead, test whether the output contains
6486         some '@' character.
6487
6488 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
6489
6490         strtoimax: eliminate need for stdint.h, inttypes.h checks
6491         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
6492         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
6493         the prerequisites for a recently-introduced strtoimax test.
6494         I guess this might cause strtoimax to be replaced when not
6495         strictly necessary on older hosts, but this shouldn't introduce
6496         any bugs and it should make Emacs 'configure' faster on typical
6497         modern hosts.  Problem discovered when importing the latest gnulib
6498         to an Emacs test version.
6499         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
6500
6501 2012-01-28  Bruno Haible  <bruno@clisp.org>
6502
6503         sys_time: Override 'struct timeval' on some native Windows platforms.
6504         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
6505         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
6506         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
6507         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
6508         needs to be overridden.
6509         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
6510         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
6511         * tests/test-sys_select.c: Check that the tv_sec member has the same
6512         size as a 'time_t'.
6513         * tests/test-sys_time.c: Likewise.
6514         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
6515         is set, set also REPLACE_GETTIMEOFDAY.
6516         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
6517         convert the resulting 'struct timeval' before returning.
6518         * lib/select.c: Include <sys/time.h>.
6519         (select, timeval): Undefine at the right place.
6520         * modules/select (Depends-on): Add sys_time.
6521         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
6522         some Windows platforms.
6523         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
6524
6525 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
6526
6527         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
6528         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
6529         an integer.
6530         * lib/fcntl.c (dupfd): Likewise.
6531         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
6532
6533 2012-01-28  Bruno Haible  <bruno@clisp.org>
6534
6535         fcntl: Avoid compilation error on native Windows.
6536         * modules/fcntl (Depends-on): Add 'close'.
6537
6538 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
6539
6540         select, poll, isatty: Avoid warnings on x86_64 mingw64.
6541         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
6542         pointer to an integer.
6543         * lib/poll.c (IsConsoleHandle): Likewise.
6544         * lib/isatty.c (IsConsoleHandle): Likewise.
6545
6546 2012-01-28  Jim Meyering  <meyering@redhat.com>
6547
6548         doc: clarify README-release
6549         * top/README-release: Clarify: you should make a point to have
6550         the latest stable versions of build tools in your PATH, and the
6551         reference to buildreq is solely for its list of tool names, not
6552         for its minimal-functional version numbers.
6553         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
6554
6555         maint.mk: use more readable (yet functionally equivalent) quoting
6556         It is common to quote a single quote in a single quoted string like
6557         this:  '...'\''...'.  Unless you know the idiom, that looks like
6558         gibberish, so prefer to double-quote the string when possible.
6559         Then you can use a more readable, lone single quote: "...'..."
6560         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
6561         "don't" is more readable than the equivalent 'don'\''t'.
6562         (sc_cast_of_x_alloc_return_value): Likewise.
6563         (sc_cast_of_alloca_return_value): Likewise.
6564         (sc_makefile_path_separator_check): Similar: use ":" in '...',
6565         rather than '\'':'\''.
6566
6567 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6568
6569         stdalign: relax _Alignof and tighten _Alignas test
6570         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
6571         as it was too strict: alignof must divide offsetof, but it need
6572         not equal offsetof.  Inspired by Joseph S. Myers's comment
6573         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
6574         Conversely, tighten the _Alignas test a bit, as the resulting
6575         alignment must be exactly 8.
6576
6577 2012-01-27  Bruno Haible  <bruno@clisp.org>
6578
6579         stdalign: Document the last change.
6580         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
6581
6582 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6583
6584         stdalign: check that alignof and offsetof are consistent
6585         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
6586         Problem reported for gnulib by Richard W.M. Jones in
6587         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
6588
6589 2012-01-27  Jim Meyering  <meyering@redhat.com>
6590
6591         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
6592         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
6593         convert a sequence with gaps to the minimal containing range.
6594         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
6595         * tests/test-update-copyright.sh: Test for this.
6596         The FSF confirmed it is ok to do this, assuming there is at
6597         least one significant change per year in the affected range:
6598         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
6599
6600 2012-01-26  Bruno Haible  <bruno@clisp.org>
6601
6602         pipe2: refine doc about thread-safety
6603         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
6604         multithread-safety problem.
6605         * doc/glibc-functions/accept4.texi: Likewise.
6606
6607 2012-01-26  Bruno Haible  <bruno@clisp.org>
6608
6609         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
6610         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
6611         In the test program, include <fcntl.h>, for O_RDONLY.
6612
6613 2012-01-26  Eric Blake  <eblake@redhat.com>
6614
6615         pipe2: document lack of thread-safety in replacement
6616         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
6617         issue in replacement.
6618         * doc/glibc-functions/accept4.texi (accept4): Likewise.
6619         Based on a report by Eric Wong.
6620
6621 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
6622             Bruno Haible  <bruno@clisp.org>
6623
6624         malloca: Avoid warnings on x86_64 mingw64.
6625         * lib/malloca.c: Include <stdint.h>.
6626         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
6627         * modules/malloca (Depends-on): Add stdint.
6628         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
6629
6630 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
6631
6632         obstack: remove __STDC__ conditionals
6633         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
6634         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
6635         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
6636         m4/include_next.m4 as the only gnulib-maintained places that still
6637         refer to __STDC__.
6638
6639 2012-01-24  Bruno Haible  <bruno@clisp.org>
6640
6641         havelib: Modern quoting.
6642         * build-aux/config.rpath: Quote 'like this', not `like this', as per
6643         the recent change to the GNU coding standards.
6644
6645 2012-01-24  Bruno Haible  <bruno@clisp.org>
6646
6647         stdint: Improve support for Android.
6648         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
6649         Reported by Simon Josefsson <simon@josefsson.org>.
6650
6651 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6652
6653         doc: omit trailing empty lines from INSTALL etc.
6654         * doc/Makefile (INSTALL): Omit trailing empty lines.
6655         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
6656         omit trailing empty lines.  This simplifies the build procedure.
6657
6658 2012-01-23  Jim Meyering  <meyering@redhat.com>
6659
6660         tests: avoid spurious warnings about gl_sockets_startup
6661         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
6662         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
6663         reporting a "statement with no effect".
6664         * tests/test-accept.c (main): Mark as "(void)".
6665         * tests/test-accept4.c (main): Likewise.
6666         * tests/test-bind.c (main): Likewise.
6667         * tests/test-connect.c (main): Likewise.
6668         * tests/test-getpeername.c (main): Likewise.
6669         * tests/test-getsockname.c (main): Likewise.
6670         * tests/test-getsockopt.c (main): Likewise.
6671         * tests/test-listen.c (main): Likewise.
6672         * tests/test-recv.c (main): Likewise.
6673         * tests/test-recvfrom.c (main): Likewise.
6674         * tests/test-send.c (main): Likewise.
6675         * tests/test-sendto.c (main): Likewise.
6676         * tests/test-setsockopt.c (main): Likewise.
6677         * tests/test-shutdown.c (main): Likewise.
6678
6679 2012-01-21  Bruno Haible  <bruno@clisp.org>
6680
6681         locale-fr.m4: Fix for Android.
6682         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
6683         failure of the test program on Bionic libc.
6684
6685 2012-01-21  Jim Meyering  <meyering@redhat.com>
6686
6687         bootstrap: fail when bootstrap_post_import_hook fails
6688         Otherwise, it's far too easy to miss diagnostics emitted
6689         between gnulib-tool's output and that of running configure.
6690         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
6691
6692 2012-01-17  Jim Meyering  <meyering@redhat.com>
6693
6694         maint: enable sc_trailing_blank
6695         * build-aux/pmccabe.css: Remove trailing blanks.
6696         * doc/acl-cygwin.txt: Likewise.
6697         * doc/gnu-oids.texi: Likewise
6698         * cfg.mk: Enable sc_trailing_blank.
6699         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
6700
6701 2012-01-17  Jim Meyering  <meyering@redhat.com>
6702
6703         maint: enable sc_prohibit_openat_without_use
6704         * cfg.mk: Enable sc_prohibit_openat_without_use.
6705         Exempt lib/selinux-at.c.
6706
6707 2012-01-17  Jim Meyering  <meyering@redhat.com>
6708
6709         maint: enable sc_prohibit_cloexec_without_use
6710         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
6711         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
6712
6713 2012-01-17  Jim Meyering  <meyering@redhat.com>
6714
6715         maint: enable sc_prohibit_intprops_without_use
6716         * cfg.mk: Enable sc_prohibit_intprops_without_use
6717         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
6718
6719 2012-01-17  Jim Meyering  <meyering@redhat.com>
6720
6721         maint: enable sc_prohibit_hash_pjw_without_use
6722         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
6723         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
6724         to match any use of \<hash_pjw\>, i.e., not necessarily with a
6725         following " (".
6726
6727 2012-01-17  Jim Meyering  <meyering@redhat.com>
6728
6729         maint: enable double-word-prohibiting rule
6730         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
6731         Exempt three files.
6732
6733 2012-01-17  Jim Meyering  <meyering@redhat.com>
6734
6735         maint: remove empty lines at EOF, but excluding modules/*
6736         Apply syntax rules at home as well as abroad.  Most changes
6737         were induced by running this:
6738           make srcdir=. _build-aux=build-aux -f top/maint.mk \
6739             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
6740             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
6741         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
6742         Exempt modules/* and two binary files.
6743         Also exempt doc/INSTALL*, per request from Bruno Haible.
6744         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
6745         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
6746         * doc/Copyright/request-assign.future: Likewise.
6747         * doc/Copyright/request-disclaim.changes: Likewise.
6748         * doc/INSTALL: Likewise.
6749         * doc/INSTALL.ISO: Likewise.
6750         * doc/INSTALL.UTF-8: Likewise.
6751         * doc/acl-cygwin.txt: Likewise.
6752         * doc/acl-resources.txt: Likewise.
6753         * doc/fdl-1.2.texi: Likewise.
6754         * doc/fdl-1.3.texi: Likewise.
6755         * doc/fdl.texi: Likewise.
6756         * lib/argp-pin.c: Likewise.
6757         * lib/round.c: Likewise.
6758         * lib/unicase/u16-totitle.c: Likewise.
6759         * lib/unictype/block_test.c: Likewise.
6760         * lib/uninorm/canonical-decomposition.c: Likewise.
6761         * m4/README: Likewise.
6762         * m4/relocatable-lib.m4: Likewise.
6763         * tests/test-isnand-nolibm.c: Likewise.
6764         * tests/test-isnand.c: Likewise.
6765         * tests/uninorm/NormalizationTest.txt: Likewise.
6766
6767 2012-01-17  Jim Meyering  <meyering@redhat.com>
6768
6769         maint: add framework to run syntax-check rules against gnulib sources
6770         * cfg.mk: New file, to disable all currently-failing tests.
6771         We'll enable them one by one, as they are made to pass.
6772         * Makefile (sc_maint): New rule.
6773
6774 2012-01-21  Bruno Haible  <bruno@clisp.org>
6775
6776         stdint: Add support for Android.
6777         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
6778         include the system's <stdint.h>.
6779         Reported by Simon Josefsson <simon@josefsson.org>.
6780
6781 2012-01-19  Jim Meyering  <meyering@redhat.com>
6782
6783         bootstrap: add bootstrap_post_import_hook
6784         Bison does still need something like the gnulib_mk_hook whose
6785         invocation I had to remove along with slurp in commit 767ccd40.
6786         Technically, we could get along without it, but doing so would
6787         have required living with a warning and a mandatory post-bootstrap
6788         automake rerun.
6789         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
6790         (bootstrap_post_import_hook): New function.
6791         Invoke it after gnulib-tool --import and before autoreconf.
6792
6793 2012-01-18  Jim Meyering  <meyering@redhat.com>
6794
6795         gitlog-to-changelog: don't use "no_"-prefixed variable name
6796         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
6797         to enable both --cluster and --no-cluster.  Change variable name,
6798         s/\$no_cluster/$cluster/, and reverse usage to match.
6799
6800         gitlog-to-changelog: use "||", not "or" in expressions
6801         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
6802         expressions.
6803
6804 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
6805
6806         gitlog-to-changelog: new option --no-cluster
6807         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
6808         clustering of adjacent commit messages.
6809
6810 2012-01-17  Jim Meyering  <meyering@redhat.com>
6811
6812         maint: spell file systems with two words, not one
6813         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
6814         two words, not one.
6815
6816 2012-01-16  Jim Meyering  <meyering@redhat.com>
6817
6818         bootstrap: add a FIXME comment to ensure we eventually remove the hack
6819         * build-aux/bootstrap (gnulib_tool_options): Add comment.
6820
6821 2012-01-16  Eric Blake  <eblake@redhat.com>
6822
6823         bootstrap: cater to autoconf 2.59
6824         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
6825         is not available.
6826
6827         bootstrap: properly check for libtool
6828         * build-aux/bootstrap (libtoolize): Also run libtool when older
6829         usage is detected.
6830
6831 2012-01-15  Bruno Haible  <bruno@clisp.org>
6832
6833         Improve support for MSVC 9.
6834         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
6835         clashes on MSVC.
6836         * lib/fcntl.in.h: Likewise.
6837         * lib/stdlib.in.h: Likewise.
6838         * lib/sys_stat.in.h: Likewise.
6839
6840 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6841
6842         gnupload: we hold the master copy of this script now
6843         For motivation and more information, see:
6844         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
6845         * build-aux/gnupload: Make it clear in the heading comments that the
6846         master copy of this file is maintained by gnulib.  Since we are at
6847         it, bump its copyright year and ...
6848         ($scriptversion): ... the date in its version.
6849         ($usage): Patches and bug reports should be sent to the gnulib list,
6850         not the automake one.
6851         * config/srclist.txt: Don't try to sync 'gnupload' from automake
6852         anymore.
6853
6854 2012-01-15  Bruno Haible  <bruno@clisp.org>
6855
6856         Fix module 'random'.
6857         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
6858         initstate, setstate are declared.
6859
6860 2012-01-14  Bruno Haible  <bruno@clisp.org>
6861
6862         Tests for module 'random'.
6863         * modules/random-tests: New file.
6864         * tests/test-random.c: New file, based on tests/test-random_r.c.
6865
6866         New module 'random'.
6867         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
6868         declarations.
6869         * lib/random.c: New file, based on glibc/stdlib/random.c.
6870         * m4/random.m4: New file.
6871         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
6872         HAVE_RANDOM.
6873         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
6874         * modules/random: New file.
6875         * config/srclist.txt: Add an entry for random.c.
6876         * doc/posix-functions/random.texi: Mention the 'random' module.
6877         * doc/posix-functions/initstate.texi: Likewise.
6878         * doc/posix-functions/setstate.texi: Likewise.
6879         * doc/posix-functions/srandom.texi: Likewise.
6880
6881 2012-01-12  Bruno Haible  <bruno@clisp.org>
6882
6883         random_r: Use common idioms.
6884         * lib/random_r.c: Include <stdlib.h> first.
6885
6886         random_r: Override incompatible API on AIX, OSF/1.
6887         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
6888         Override the system function if REPLACE_RANDOM_R is 1.
6889         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
6890         and OSF/1, set REPLACE_RANDOM_R.
6891         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
6892         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
6893         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
6894         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
6895         * doc/glibc-functions/random_r.texi: Likewise.
6896         * doc/glibc-functions/setstate_r.texi: Likewise.
6897
6898         random_r: Support for MSVC 9.
6899         * lib/random_r.c: Include stdint.h, not inttypes.h.
6900
6901 2012-01-12  Eric Blake  <eblake@redhat.com>
6902
6903         inet_ntop: guard extra work by IF_LINT
6904         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
6905         better code generation when not checking for warnings.
6906         Suggested by Paul Eggert and Jim Meyering.
6907
6908         strptime: fix regression on mingw
6909         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
6910         Fix regression.  Reported by Bruno Haible.
6911
6912 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
6913             Bruno Haible  <bruno@clisp.org>
6914
6915         copy-file: add error-code-returning variant.
6916         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
6917         (qcopy_file_preserving): New declaration.
6918         * lib/copy-file.c (qcopy_file_preserving): Renamed from
6919         copy_file_preserving. Change return type to 'int'. Don't emit an error
6920         message here.
6921         (copy_file_preserving): New function.
6922         * tests/test-copy-file.c: Include <stdlib.h>.
6923         (main): Test qcopy_file_preserving if the environment variable
6924         NO_STDERR_OUTPUT is set.
6925         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
6926         with NO_STDERR_OUTPUT
6927         * tests/test-copy-file-2.sh: Likewise.
6928
6929 2012-01-10  Bruno Haible  <bruno@clisp.org>
6930
6931         copy-file: Use 'quote' module consistently.
6932         * lib/copy-file.c (copy_file_preserving): Use quote().
6933
6934         copy-file: Refactor.
6935         * lib/copy-file.c: Include quote.h.
6936         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
6937         message here.
6938         * modules/copy-file (Depends-on): Add quote.
6939
6940         acl: Export qcopy_acl.
6941         * lib/acl.h (qcopy_acl): New declaration.
6942         * lib/copy-acl.c (qcopy_acl): Make non-static.
6943
6944         acl: Rename a local variable.
6945         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
6946
6947         acl: Align return values of copy_acl and qcopy_acl.
6948         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
6949         maybe < -1.
6950
6951 2012-01-11  Eric Blake  <eblake@redhat.com>
6952
6953         strptime: silence gcc warnings
6954         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
6955         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
6956         Reported by Daniel P. Berrange.
6957
6958         inet_ntop: silence gcc warning
6959         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
6960         Reported by Daniel P. Berrange.
6961
6962 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
6963
6964         getloadavg test: skip the test on GNU/Linux without /proc mounted
6965         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
6966         file.  When /proc is not mounted, it always fails with ENOENT.
6967         * tests/test-getloadavg.c (main): Treat ENOENT return code from
6968         getloadavg(3) the same way as ENOSYS and ENOTSUP.
6969
6970 2012-01-10  Bruno Haible  <bruno@clisp.org>
6971
6972         regex: Avoid link error on MSVC 9.
6973         * modules/regex (Depends-on): Add wctype.
6974
6975 2012-01-10  Bruno Haible  <bruno@clisp.org>
6976
6977         doc: Mention --with-tests option.
6978         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
6979         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
6980         --with-tests.
6981         Reported by Reuben Thomas.
6982
6983 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
6984
6985         users.txt: order package names lexicographically.
6986         * users.txt: Order package names lexicographically.
6987
6988 2012-01-10  Jim Meyering  <meyering@redhat.com>
6989
6990         maint.mk: fix description in comment
6991         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
6992
6993         ignore-value: remove deprecated ignore_ptr function
6994         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
6995         * NEWS: Note this.
6996
6997 2012-01-09  Jim Meyering  <meyering@redhat.com>
6998
6999         test-init.sh: avoid a subshell
7000         * tests/test-init.sh: Remove protective subshell.
7001         Suggested by Bernhard Voelker.  While a subshell is normally
7002         required to protect against older shells (Solaris, FreeBSD) that
7003         warn about a missing program before performing redirection, the
7004         shell-selection tests performed by init.sh probably exclude any
7005         offending shell.
7006
7007 2012-01-08  Bruno Haible  <bruno@clisp.org>
7008
7009         setlocale tests: Avoid test failure on Solaris 11 2011-11.
7010         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
7011         variable.
7012
7013 2012-01-08  Bruno Haible  <bruno@clisp.org>
7014
7015         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
7016         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
7017         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
7018         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
7019         macro.
7020         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
7021         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
7022         * lib/spawn_faction_addopen.c: Add workaround implementation if
7023         HAVE_WORKING_POSIX_SPAWN.
7024         * modules/spawn (Makefile): Substitute
7025         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
7026         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
7027         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
7028         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
7029         (Depends-on): Update conditions.
7030         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
7031         the Solaris 11 bug.
7032
7033 2012-01-08  Bruno Haible  <bruno@clisp.org>
7034
7035         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
7036         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
7037         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
7038         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
7039         macro.
7040         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
7041         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
7042         * lib/spawn_faction_adddup2.c: Add workaround implementation if
7043         HAVE_WORKING_POSIX_SPAWN.
7044         * modules/spawn (Makefile): Substitute
7045         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
7046         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
7047         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
7048         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
7049         (Depends-on): Update conditions.
7050         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
7051         the Solaris 11 bug.
7052
7053 2012-01-08  Bruno Haible  <bruno@clisp.org>
7054
7055         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
7056         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
7057         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
7058         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
7059         HAVE_WORKING_POSIX_SPAWN.
7060         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
7061         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
7062         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
7063         * lib/spawn_faction_addclose.c: Add workaround implementation if
7064         HAVE_WORKING_POSIX_SPAWN.
7065         * modules/spawn (Makefile): Substitute
7066         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
7067         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
7068         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
7069         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
7070         (Depends-on): Update conditions.
7071         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
7072         the Solaris 11 bug.
7073
7074 2012-01-08  Bruno Haible  <bruno@clisp.org>
7075
7076         doc: Update for Solaris 11 2011-11.
7077         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
7078         * m4/printf.m4: Update comments.
7079
7080 2012-01-08  Bruno Haible  <bruno@clisp.org>
7081
7082         mktime: Avoid compilation error on Solaris 11.
7083         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
7084
7085 2012-01-08  Bruno Haible  <bruno@clisp.org>
7086
7087         doc: Small fix.
7088         * doc/posix-headers/nl_types.texi: Correct platforms list.
7089
7090 2012-01-08  Simon Josefsson  <simon@josefsson.org>
7091
7092         Add lgpl-3.0 module.
7093         * MODULES.html.sh (Support for building documentation): Add
7094         lgpl-3.0.
7095         * modules/lgpl-3.0: New file.
7096
7097 2012-01-08  Jim Meyering  <meyering@redhat.com>
7098
7099         select.c: indent with spaces, not TABs
7100         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
7101
7102 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7103
7104         quotearg: do not use grave accent for left quote
7105         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
7106         locale_quoting_style.
7107         (quotearg_buffer_restyled): Fix example.
7108         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
7109
7110 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7111
7112         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
7113         Most programs do not have translation catalogs for English and much
7114         less separate catalogs for British and American English.  Drop the
7115         suggestion to translators about these two, and provide it
7116         automatically for Unicode locales.  Like most programs, even those
7117         using American English, we use single quotation marks.  This conflicts
7118         with the American typographic convention, but works better when you
7119         cite the entire error message within double quotes.  It also tries not
7120         to clash with established practice and with what non-gnulib programs
7121         will usually do.
7122         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
7123         using an UTF-8 or GB-18030 locale.  The list of other locales with
7124         quotes was provided by Bruno Haible.
7125         (quotearg_buffer_restyled): Adjust instructions to translators.
7126         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
7127         text, since this would be wrong when using Unicode.
7128         * modules/quotearg: Depend on c-strcaseeq.
7129
7130 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7131
7132         quotearg: fix Wikipedia link
7133         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
7134
7135 2012-01-07  Simon Josefsson  <simon@josefsson.org>
7136
7137         Fix for mingw with MSVC9.
7138         * m4/ld-version-script.m4: Check that compiler rejects version
7139         scripts with syntax errors.  Reported by Bruno Haible
7140         <bruno@clisp.org>.
7141
7142 2012-01-06  Bruno Haible  <bruno@clisp.org>
7143
7144         Talk about "native Windows API", not "Woe32".
7145         * lib/accept4.c: Update comments to mention native Windows.
7146         * lib/execute.c: Likewise.
7147         * lib/fatal-signal.c: Likewise.
7148         * lib/localcharset.c: Likewise.
7149         * lib/nanosleep.c: Likewise.
7150         * lib/nl_langinfo.c: Likewise.
7151         * lib/pclose.c: Likewise.
7152         * lib/pipe-filter-gi.c: Likewise.
7153         * lib/pipe-filter-ii.c: Likewise.
7154         * lib/pipe.c: Likewise.
7155         * lib/pipe2.c: Likewise.
7156         * lib/popen.c: Likewise.
7157         * lib/progreloc.c: Likewise.
7158         * lib/relocatable.c: Likewise.
7159         * lib/sigaction.c: Likewise.
7160         * lib/sigprocmask.c: Likewise.
7161         * lib/spawn-pipe.h: Likewise.
7162         * lib/spawn-pipe.c: Likewise.
7163         * lib/spawni.c: Likewise.
7164         * lib/stat-time.h: Likewise.
7165         * lib/w32spawn.h: Likewise.
7166         * tests/test-isatty.c: Likewise.
7167         * lib/config.charset: More comments.
7168         * doc/gnulib-intro.texi: Mention native Windows.
7169         * doc/posix-functions/_Exit_C99.texi: Likewise.
7170         * doc/posix-headers/fcntl.texi: Likewise.
7171
7172 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
7173
7174         argp: Avoid crash if translator uses % characters in a translation.
7175         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
7176         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
7177
7178 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
7179
7180         doc: C11 and C++11 are now official
7181         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
7182         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
7183         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
7184         * modules/stdalign:
7185         Replace references to draft C1X to C11, and to draft C++0X to C++11.
7186
7187 2012-01-06  Bruno Haible  <bruno@clisp.org>
7188
7189         uc-is-grapheme-break tests: Tweak.
7190         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
7191         message.
7192
7193 2012-01-06  Bruno Haible  <bruno@clisp.org>
7194
7195         test-init.sh: correct the test for diff -u
7196         * tests/test-init.sh: Also redirect stdout to /dev/null.
7197
7198 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
7199
7200         Use ', not `, for quoting output.
7201         * build-aux/announce-gen (usage, sizes, print_news_deltas)
7202         (print_changelog_deltas, get_tool_versions, main program):
7203         * build-aux/git-version-gen:
7204         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
7205         * build-aux/move-if-change (help):
7206         * build-aux/useless-if-before-free (usage, main program):
7207         * check-module (parse_module_file, usage)
7208         (find_included_lib_files, check_module):
7209         * lib/argmatch.c (main) [TEST]:
7210         * lib/argp-help.c (_help):
7211         * lib/getopt1.c (main) [TEST]:
7212         * lib/git-merge-changelog.c (usage):
7213         * lib/xstrtol-error.c (xstrtol_error):
7214         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
7215         * m4/argz.m4 (gl_FUNC_ARGZ):
7216         * m4/bison.m4 (gl_BISON):
7217         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
7218         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
7219         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
7220         * m4/fpending.m4 (gl_PREREQ_FPENDING):
7221         * m4/gc-random.m4 (gl_GC_RANDOM):
7222         * m4/intl.m4 (gt_CHECK_DECL):
7223         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
7224         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
7225         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
7226         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
7227         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
7228         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
7229         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
7230         * tests/test-dirname.c (main):
7231         * tests/test-getpass.c (main):
7232         * tests/test-iconvme.c (main):
7233         * tests/test-parse-datetime.c (LOG):
7234         * tests/test-xstrtoimax.sh:
7235         * tests/test-xstrtol.sh:
7236         * tests/test-xstrtoll.sh:
7237         * tests/test-xstrtoumax.sh:
7238         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
7239         * top/GNUmakefile (abort-due-to-no-makefile):
7240         Quote 'like this', not `like this', as per the recent change to
7241         the GNU coding standards.
7242
7243 2012-01-05  Bruno Haible  <bruno@clisp.org>
7244
7245         strtoimax: Don't force a replacement on systems where intmax_t is int.
7246         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
7247         'intmax_t' is not larger than 'int'.
7248         Reported by Pádraig Brady <P@draigBrady.com>.
7249
7250 2012-01-05  Bruno Haible  <bruno@clisp.org>
7251
7252         doc: Mention NetBSD bugs.
7253         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
7254         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
7255
7256 2012-01-05  Bruno Haible  <bruno@clisp.org>
7257
7258         strtoumax tests: Enhance tests.
7259         * tests/test-strtoumax.c (main): Add tests for large values.
7260
7261 2012-01-05  Bruno Haible  <bruno@clisp.org>
7262
7263         strtoimax: Work around AIX 5.1 bug.
7264         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
7265         definition.
7266         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
7267         Set HAVE_STRTOIMAX.
7268         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
7269         REPLACE_STRTOIMAX.
7270         * modules/inttypes-incomplete (Makefile.am): Substitute
7271         REPLACE_STRTOIMAX.
7272         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
7273         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
7274         (Depends-on): Update conditions.
7275         * tests/test-strtoimax.c (main): Add tests for large values.
7276         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
7277
7278 2012-01-05  Bruno Haible  <bruno@clisp.org>
7279
7280         inttypes: Modernize.
7281         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
7282         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
7283         (Makefile.am): Update inttypes.h rule.
7284
7285 2012-01-05  Jim Meyering  <meyering@redhat.com>
7286
7287         init.sh: don't waste a subshell just to redirect stderr
7288         * tests/init.sh: In testing for diff -u and diff -c, use a
7289         stderr-redirecting exec inside `...` rather than a subshell.
7290
7291         test-init.sh: avoid failure on HP-UX 11.00
7292         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
7293         resolves to diff -c or cmp.  Reported by Bruno Haible.
7294
7295 2012-01-05  Bruno Haible  <bruno@clisp.org>
7296
7297         Tests for module 'strtoull'.
7298         * modules/strtoull-tests: New file.
7299         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
7300
7301 2012-01-05  Bruno Haible  <bruno@clisp.org>
7302
7303         Tests for module 'strtoll'.
7304         * modules/strtoll-tests: New file.
7305         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
7306
7307 2012-01-05  Bruno Haible  <bruno@clisp.org>
7308
7309         Tests for module 'strtoul'.
7310         * modules/strtoul-tests: New file.
7311         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
7312
7313 2012-01-05  Bruno Haible  <bruno@clisp.org>
7314
7315         Tests for module 'strtol'.
7316         * modules/strtol-tests: New file.
7317         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
7318
7319 2012-01-04  Jim Meyering  <meyering@redhat.com>
7320
7321         test-init.sh: accommodate Solaris 5.10's different diff -u output
7322         * tests/test-init.sh: Also exempt @@ lines from the comparison
7323         of diff output, since Solaris 5.10 and GNU diff formats differ.
7324         Reported by Stefano Lattarini.
7325
7326 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7327
7328         test-posixtm: don't assume signed integer wraparound
7329         * tests/test-posixtm.c (main): Don't assume wraparound semantics
7330         after signed integer overflow.  Inspired by (though it may not
7331         fix) Bruno Haible's bug report in
7332         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
7333
7334         Spell out "Windows 9x" and "Windows XP".
7335         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
7336         "Windows 9x" and "WinXP" with "Windows XP".
7337
7338 2012-01-04  Jim Meyering  <meyering@redhat.com>
7339
7340         test-vc-list-files-cvs.sh: remove obsolete comment
7341         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
7342         double exit.  Now that's all encapsulated via skip_ and Exit.
7343
7344 2012-01-04  Bruno Haible  <bruno@clisp.org>
7345
7346         Talk about "native Windows API", not "Win32".
7347         * lib/classpath.c: Update comments to mention native Windows.
7348         * lib/csharpexec.c: Likewise.
7349         * lib/dup2.c: Likewise.
7350         * lib/error.c: Likewise.
7351         * lib/fcntl.c: Likewise.
7352         * lib/filename.h: Likewise.
7353         * lib/findprog.c: Likewise.
7354         * lib/get-rusage-as.c: Likewise.
7355         * lib/get-rusage-data.c: Likewise.
7356         * lib/getpagesize.c: Likewise.
7357         * lib/javaexec.c: Likewise.
7358         * lib/msvc-inval.c: Likewise.
7359         * lib/msvc-nothrow.c: Likewise.
7360         * lib/nanosleep.c: Likewise.
7361         * lib/nonblocking.c: Likewise.
7362         * lib/printf-parse.c: Likewise.
7363         * lib/setlocale.c: Likewise.
7364         * lib/sigaction.c: Likewise.
7365         * lib/strerror_r.c: Likewise.
7366         * lib/tmpdir.c: Likewise.
7367         * lib/vasnprintf.c: Likewise.
7368         * lib/w32spawn.h: Likewise.
7369         * lib/waitpid.c: Likewise.
7370         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
7371         * m4/locale-ar.m4: Likewise.
7372         * m4/locale-fr.m4: Likewise.
7373         * m4/locale-ja.m4: Likewise.
7374         * m4/locale-tr.m4: Likewise.
7375         * m4/locale-zh.m4: Likewise.
7376         * m4/printf.m4: Likewise.
7377         * tests/test-cloexec.c: Likewise.
7378         * tests/test-copy-acl.sh: Likewise.
7379         * tests/test-copy-file.sh: Likewise.
7380         * tests/test-file-has-acl.sh: Likewise.
7381         * tests/test-set-mode-acl.sh: Likewise.
7382         * tests/test-dup-safer.c: Likewise.
7383         * tests/test-dup2.c: Likewise.
7384         * tests/test-dup3.c: Likewise.
7385         * tests/test-fcntl.c: Likewise.
7386         * tests/test-nonblocking-pipe.h: Likewise.
7387         * tests/test-nonblocking-socket.h: Likewise.
7388         * tests/test-pipe.c: Likewise.
7389         * tests/test-pipe2.c: Likewise.
7390         * tests/test-spawn-pipe-child.c: Likewise.
7391         * doc/acl-resources.txt: Likewise.
7392         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7393         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
7394         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
7395         * lib/localcharset.c: Update comments to mention native Windows.
7396         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7397         * lib/localename.c: Likewise.
7398         * lib/progreloc.c: Likewise.
7399         * lib/relocatable.c: Likewise.
7400         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7401         (windows_compute_revents): Renamed from win32_compute_revents.
7402         (windows_compute_revents_socket): Renamed from
7403         win32_compute_revents_socket.
7404         * lib/select.c: Update comments to mention native Windows.
7405         (windows_poll_handle): Renamed from win32_poll_handle.
7406         * m4/threadlib.m4: Update comments to mention native Windows.
7407         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
7408         --enable-threads=windows instead of --enable-threads=win32. Set
7409         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
7410         * lib/glthread/lock.h: Update comments to mention native Windows.
7411         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
7412         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
7413         USE_WIN32_THREADS.
7414         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
7415         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
7416         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
7417         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
7418         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
7419         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
7420         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
7421         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
7422         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
7423         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
7424         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
7425         * tests/test-tls.c: Likewise.
7426         Rationale:
7427         Microsoft renamed the "Win32 API" to "Windows API", as it is available
7428         on both 32-bit and 64-bit Windows systems.
7429         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
7430         line of distinction is between "native Windows" on one side and Unix/
7431         POSIX systems on the other side. More details in
7432         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
7433         Suggested by Paul Eggert.
7434
7435 2012-01-03  Bruno Haible  <bruno@clisp.org>
7436
7437         isatty: Support for MSVC 9.
7438         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
7439         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
7440         (_isatty_nothrow): New function.
7441         (isatty): Use it instead of _isatty.
7442         (IsConsoleHandle): Add comment, from Paolo Bonzini.
7443         * lib/poll.c (IsConsoleHandle): Likewise.
7444         * lib/select.c (IsConsoleHandle): Likewise.
7445         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
7446         (gl_PREREQ_ISATTY): New macro.
7447         * modules/isatty (Depends-on): Add msvc-inval.
7448         (configure.ac): Invoke gl_PREREQ_ISATTY.
7449
7450 2012-01-03  Jim Meyering  <meyering@redhat.com>
7451
7452         maint.mk: remove temporary transition aid from over 1.5 years ago
7453         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
7454         purpose was to aid in the transition (avoiding silent malfunction)
7455         from that old name to the new _sc_search_regexp.  This shim was
7456         added by commit 219c504b.
7457
7458         init.sh: do not try to accommodate compare arguments starting with "-"
7459         * tests/init.sh (compare_dev_null_): Do not try to accommodate
7460         compare arguments that start with "-".  Besides, we do not worry
7461         about this when invoking diff or cmp; why start now with sed?
7462         Using "--" to separate options from argument would trigger sed
7463         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
7464         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
7465
7466 2012-01-02  Bruno Haible  <bruno@clisp.org>
7467
7468         Enhance tests for module 'isatty'.
7469         * modules/isatty-tests (Depends-on): Add pipe-posix.
7470         * tests/test-isatty.c: Include <fcntl.h>.
7471         (DEV_NULL): New macro.
7472         (main): Test the resut of isatty() also on regular files, pipes, and
7473         /dev/null.
7474
7475         New module 'isatty'.
7476         * lib/unistd.in.h (isatty): New declaration.
7477         * lib/isatty.c: New file, based on an idea of
7478         Bastien Roucariès <roucaries.bastien@gmail.com>.
7479         * m4/isatty.m4: New file.
7480         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
7481         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
7482         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
7483         REPLACE_ISATTY.
7484         * modules/isatty: New file.
7485         * doc/posix-functions/isatty.texi: Mention the new module.
7486         Suggested by Paolo Bonzini.
7487
7488 2012-01-02  Bruno Haible  <bruno@clisp.org>
7489
7490         canonicalize: Tweak 2011-12-29 commit.
7491         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
7492         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
7493
7494 2012-01-02  Jim Meyering  <meyering@redhat.com>
7495
7496         gitlog-to-changelog: describe input syntax in --help output
7497         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
7498
7499         gitlog-to-changelog: fix typo in --help: show backslash before email @
7500         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
7501         in sources, but not in actual output.
7502
7503 2011-12-30  Jim Meyering  <meyering@redhat.com>
7504
7505         gitlog-to-changelog: don't malfunction when name contains %-directive
7506         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
7507         in a name string cause trouble.  E.g., with a user name of "%s",
7508         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
7509
7510 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
7511
7512         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
7513         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
7514         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
7515         the "  (tiny change)" notation that is appended to the standard
7516         ChangeLog "date  name  email" header line.
7517
7518 2012-01-01  Jim Meyering  <meyering@redhat.com>
7519
7520         test-framework-sh: init.sh: fix "make dist" failure
7521         When using gnulib-tool's --with-tests option and any module that
7522         depends on test-framework-sh, "make dist" would fail due to the
7523         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
7524         in the gltests directory, and not in the gllib/ directory.
7525         One way to work around that is to move the EXTRA_DIST += init.sh
7526         from the primary module to the -tests one:
7527         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
7528         * modules/test-framework-sh (Makefile.am): ...not here.
7529         Reported by Tom G. Christensen in
7530         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
7531
7532         version-etc: update copyright year reported by --version
7533         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
7534
7535 2011-12-31  Pádraig Brady  <P@draigBrady.com>
7536
7537         canonicalize: only stat() if required
7538         * lib/canonicalize.c (canonicalize_filename_mode):
7539         Avoid calling l?stat() when both CAN_MISSING,
7540         and CAN_NOLINKS are set, as we neither need
7541         to resolve symlinks or test component existence.
7542
7543 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
7544
7545         doc: cover st_ino issues once; add OpenVMS etc.
7546         * doc/posix-functions/stat.texi (stat):
7547         * doc/posix-functions/lstat.texi (lstat):
7548         * doc/posix-functions/fstatat.texi (fstatat):
7549         * doc/posix-functions/fstat.texi (fstat):
7550         Move general 'struct stat' stuff to sys_stat.texi,
7551         leaving behind a pointer.
7552         * doc/posix-headers/sys_stat.texi (sys/stat.h):
7553         Merge duplicate info about 'struct stat' problems into here.
7554         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
7555         and suggest partial workarounds.
7556
7557         same-inode: port to OpenVMS
7558         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
7559         three st_ino values.
7560
7561 2011-12-30  Pádraig Brady  <P@draigBrady.com>
7562
7563         canonicalize: fix references to stat() and lstat()
7564         * lib/canonicalize.c (canonicalize_filename_mode):
7565         Ensure references always resolve to a replacement
7566         function if required (even via a macro).
7567
7568 2011-12-30  Jim Meyering  <meyering@redhat.com>
7569
7570         gitlog-to-changelog: remove a little duplication
7571         * build-aux/gitlog-to-changelog (main): Grep @lines once,
7572         rather than twice.
7573
7574 2011-12-29  Pádraig Brady  <P@draigBrady.com>
7575
7576         canonicalize: add support for not resolving symlinks
7577         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
7578         indicate we don't want to follow symlinks.  Also
7579         provide CAN_MODE_MASK to aid setting these existing
7580         mutually exclusive values.
7581         * lib/canonicalize.c (canonicalize_filename_mode):
7582         Extract the flags from can_mode parameter, which
7583         are currently just used to select between stat()
7584         and lstat().  Also ensure that mutually exclusive
7585         values are flagged immediately as invalid.
7586         * tests/test-canonicalize.c: Verify symlinks are
7587         not followed, and that invalid flag combinations
7588         are diagnosed.
7589
7590 2011-12-25  Jim Meyering  <meyering@redhat.com>
7591
7592         gitlog-to-changelog: do not clump multi-paragraph entries
7593         Identical header lines (date,name,email+coauthors) are suppressed,
7594         thus putting all entries with those same characteristics under
7595         a single header.  However, when a log entry consists of two or
7596         more paragraphs, it may not be clear where it starts and ends.
7597         This change makes it so that such an entry is always separated
7598         from others by a header line, even when that header would
7599         otherwise be suppressed.
7600         * build-aux/gitlog-to-changelog: Implement the above.
7601         Inspired by a related request from Stefano Lattarini in
7602         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
7603
7604 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7605
7606         announce-gen: fix `cmd' typo in diagnostic
7607         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
7608         diagnostic: a missing '$' meant that the command was not output.
7609
7610 2011-12-23  Jim Meyering  <meyering@redhat.com>
7611
7612         test-framework-sh: distribute init.sh
7613         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
7614         Otherwise, "make -C gnulib-tests check" (at least in grep) would
7615         fail due to the lack of init.sh.
7616
7617         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
7618         * modules/atexit-tests: Rather than listing tests/init.sh,
7619         now that there's a module for it, simply depend on that new module.
7620         * modules/closein-tests: Likewise.
7621         * modules/exclude-tests: Likewise.
7622         * modules/getcwd-tests: Likewise.
7623         * modules/perror-tests: Likewise.
7624         * modules/pread-tests: Likewise.
7625         * modules/pwrite-tests: Likewise.
7626         * modules/vc-list-files-tests: Likewise.
7627         * modules/verify-tests: Likewise.
7628         * modules/xalloc-die-tests: Likewise.
7629         * modules/xstrtoimax-tests: Likewise.
7630         * modules/xstrtol-tests: Likewise.
7631         * modules/xstrtoll-tests: Likewise.
7632         * modules/xstrtoumax-tests: Likewise.
7633         * modules/yesno-tests: Likewise.
7634
7635 2011-12-22  Jim Meyering  <meyering@redhat.com>
7636
7637         test-framework-sh: add minimal tests of init.sh's compare function
7638         * modules/test-framework-sh-tests: New file.
7639         * tests/test-init.sh: New file.
7640
7641         test-framework-sh: new module
7642         * modules/test-framework-sh: New file.
7643         * MODULES.html.sh (Support for maintaining and releasing projects):
7644         List it.
7645
7646         init.sh: do not emit simulated diff output to stderr
7647         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
7648
7649 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7650
7651         .gitignore: ignore gnulib.dvi and regex.info
7652         * doc/.gitignore:add gnulib.dvi and regex.info
7653
7654 2011-12-22  Jim Meyering  <meyering@redhat.com>
7655
7656         init.sh: correct previous change
7657         * tests/init.sh (compare): My previous change was wrong.
7658         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
7659
7660         init.sh: avoid unwarranted test failure when using "set -e"
7661         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
7662         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
7663         a use like "compare exp out" would get evoke an unconditional failure.
7664
7665 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
7666
7667         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
7668         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
7669         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
7670         autoreconf that did not.
7671         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
7672         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
7673
7674 2011-12-17  Jim Meyering  <meyering@redhat.com>
7675
7676         bootstrap: remove some now-unneeded code
7677         This script arose back when gnulib-tool was young.
7678         Since then, it has seen improvements that render much of this
7679         script unnecessary.  In particular, it can now make symlinks
7680         to the files it uses.  Also, I no longer see as much value in
7681         marking files as read-only via comments.
7682         If you relied on the symlink-creation feature of the preceding
7683         version of this script, you can get most of that functionality
7684         by adding the --symlink option to the definition of
7685         gnulib_tool_option_extras in your bootstrap.conf file.
7686         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
7687         Run autopoint and libtoolize *before* gnulib-tool.
7688         After it, run an abbreviated autoreconf, rather than a loop around
7689         all tools.
7690         (slirp, bt_mark_as_generated): Remove functions.
7691
7692 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7693
7694         ftoastr: fix typo
7695         * lib/ftoastr.h: Fix misspelling in comment.
7696
7697 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
7698
7699         * top/README-release: fix punctuation.
7700
7701 2011-12-17  Jim Meyering  <meyering@redhat.com>
7702
7703         bootstrap: correct the recent buildreq change
7704         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
7705         had no effect.
7706         * build-aux/bootstrap (buildreq): Bracket each search term with
7707         "*...*", so that the shell "case" statement works as intended.
7708         Add comments.
7709
7710 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
7711
7712         build: let bootstrap resort to wget when downloading .po files
7713         * build-aux/bootstrap (download_po_files): Fallback to wget when
7714         downloading the .po files via rsync fails.  This is necessary to
7715         bootstrap from behind a strict firewall.
7716
7717 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7718
7719         stdint: don't assume C++11 when compiling with g++
7720         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
7721         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
7722         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
7723         work also in C++ before C++11, as that improperly inhibits
7724         generating a substitute stdint.h for that case.
7725
7726 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7727
7728         alloca: protect comment from gnulib-tool
7729         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
7730         that gnulib-tool doesn't think it's a license, and munge it to
7731         say "GCC version 3".
7732
7733 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
7734
7735         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
7736         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
7737         $(abs_top_builddir) instead of $(top_builddir).
7738
7739 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
7740
7741         strftime-tests: also test nanoseconds
7742         * tests/test-strftime.c (T): Add a test of %N.
7743
7744 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
7745
7746         inttypes, stdint: add C++11 support
7747         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
7748         when including inttypes.h and stdint.h.  Support this change to
7749         the standard.
7750         * doc/posix-headers/inttypes.texi (inttypes.h):
7751         * doc/posix-headers/stdint.texi (stdint.h): Document this.
7752         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
7753         Define if not defined already, for the benefit of pre-C++11 hosts.
7754         Define the standard format macros (e.g., PRId8) always.
7755         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
7756         Likewise, if __cpluspus.  Define the standard constant and limit
7757         macros (e.g., INT8_C, INT8_MAX) always.
7758         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
7759         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
7760         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
7761         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
7762         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
7763         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
7764         Likewise.
7765
7766 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
7767
7768         nonblocking tests: Fix test failure on Linux/PPC.
7769         Suggested by Prerna Saxena in
7770         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
7771         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
7772         Set to 1100000.
7773
7774 2011-12-12  Jim Meyering  <meyering@redhat.com>
7775
7776         argmatch: don't hard-code `' when listing valid option arguments
7777         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
7778         use the quote function to add quotes.  Use fputs rather than
7779         fprintf for the format string with no format directive.
7780
7781 2011-12-07  Eric Blake  <eblake@redhat.com>
7782
7783         bootstrap: detect tools required by gnulib-tool
7784         * build-aux/bootstrap (buildreq): Provide minimum implicit
7785         dependencies.
7786         * DEPENDENCIES: Mention patch as a prereq.
7787
7788 2011-12-04  Bruno Haible  <bruno@clisp.org>
7789
7790         sethostname: Port to Windows platforms.
7791         * lib/sethostname.c: Provide an alternate implementation for Windows
7792         platforms.
7793         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
7794         (main): Skip the test if sethostname() fails with EPERM. On Windows
7795         platforms, don't check the result of gethostname().
7796
7797 2011-12-04  Bruno Haible  <bruno@clisp.org>
7798             Jim Meyering  <meyering@redhat.com>
7799
7800         tests: Avoid spurious error message on platforms without mktemp program.
7801         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
7802
7803 2011-12-04  Bruno Haible  <bruno@clisp.org>
7804
7805         sethostname: Fix documentation.
7806         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
7807         "not fixed" section.
7808
7809 2011-12-03  Bruno Haible  <bruno@clisp.org>
7810
7811         gnulib-tool: Verify that the License field is present and non-empty.
7812         * gnulib-tool (func_get_license_raw): New function, extracted from
7813         func_get_license.
7814         (func_get_license): Use it. Warn if the module is not a test module and
7815         has no license.
7816         Suggested by Jim Meyering.
7817
7818 2011-12-03  Bruno Haible  <bruno@clisp.org>
7819
7820         sethostname tests: Fix link error on mingw.
7821         * tests/test-sethostname1.c: New file, extracted from
7822         tests/test-sethostname.c.
7823         * tests/test-sethostname2.c: New file, extracted from
7824         tests/test-sethostname.c.
7825         * tests/test-sethostname.c: Remove file.
7826         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
7827         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
7828         (Depends-on): Add gethostname.
7829         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
7830         Link the latter with $(GETHOSTNAME_LIB).
7831
7832         sethostname tests: Fix compilation error on mingw.
7833         * tests/test-sethostname.c: Don't include <sys/types.h>.
7834         (geteuid): Use a dummy value without uid_t.
7835         * modules/sethostname-tests (Depends-on): Remove sys_types.
7836
7837         sethostname tests: Avoid a gcc warning.
7838         * tests/test-sethostname.c (main): Remove an unused variable.
7839
7840         Tweak last commit.
7841         * modules/sethostname-tests (Files): Sort by decreasing importance.
7842         (configure.ac): Check for geteuid.
7843         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
7844         the test when there's nothing to test. Drop an unnecessary cast.
7845         Improve an error message. Verify that the final sethostname() call
7846         succeeds.
7847
7848 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7849
7850         Add a test suite for the sethostname module.
7851         * modules/sethostname-tests: New file.  A test program
7852         for the sethostname module.
7853         * tests/test-sethostname.c: Likewise.
7854
7855 2011-12-03  Bruno Haible  <bruno@clisp.org>
7856
7857         Tweak last commit.
7858         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
7859         Fix preprocessor directives indentation. Fix typos.
7860         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
7861         * modules/unistd (Makefile): Likewise.
7862
7863 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7864
7865         Integrate the sethostname module into unistd.
7866         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
7867         into the unistd.h header.
7868         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
7869         preprocessor directives.
7870         * modules/unistd: Setup the Makefile substitutions of the
7871         SETHOSTNAME preprocessor directives.
7872
7873 2011-12-03  Bruno Haible  <bruno@clisp.org>
7874
7875         Tweak last commit.
7876         * lib/sethostname.c: Don't include <string.h>.
7877         (sethostname): No need to copy the argument string to the stack. Don't
7878         call clearerr. Preserve errno when fprintf failed.
7879         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
7880         Don't invoke AC_REPLACE_FUNCS.
7881         * modules/sethostname (Link): Remove empty section.
7882         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
7883         failure problem.
7884
7885 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7886
7887         New module 'sethostname'.
7888         * lib/sethostname.c (sethostname): New file.  Provide sethostname
7889         for systems that lack it.
7890         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
7891         sethostname declaration and function.
7892         * modules/sethostname: New file.  Define the sethostname module.
7893
7894 2011-12-03  Bruno Haible  <bruno@clisp.org>
7895
7896         Tweak last commit.
7897         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
7898
7899 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7900
7901         Split the HOST_NAME_MAX detection into a separate m4 macro.
7902         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
7903         macro so it can be used by the pending sethostname module.
7904
7905 2011-12-03  Bruno Haible  <bruno@clisp.org>
7906
7907         Fix module descriptions syntax.
7908         * modules/argv-iter (License): Fix syntax.
7909         * modules/di-set (License): Likewise.
7910         * modules/ino-map (License): Likewise.
7911         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
7912
7913 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7914
7915         stdalign: port to Clang 3.0
7916         Problem reported by Simon Josefsson in
7917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
7918         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
7919         which has <stdalign.h> but which does not define alignof.
7920         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
7921
7922 2011-12-01  Eric Blake  <eblake@redhat.com>
7923
7924         mktempd: silence dd usage
7925         * build-aux/mktempd (rand_bytes): Silence dd.
7926
7927 2011-11-30  Simon Josefsson  <simon@josefsson.org>
7928
7929         manywarnings: Don't mention gcc version in docstring.
7930         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
7931         Jim Meyering <meyering@redhat.com>.
7932
7933 2011-11-30  Jim Meyering  <meyering@redhat.com>
7934
7935         hash: mark a few floating point constants with "f" suffix
7936         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
7937         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
7938         floating point constants with "f", since they're destined to be
7939         saved/used as "float"s.
7940
7941 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
7942
7943         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
7944         * tests/test-float.c (test_long_double): Correct and re-enable the
7945         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
7946
7947 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
7948
7949         Avoid subtracting two pointers that don't point into the same block.
7950         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
7951         only pointers into the same memory block are subtracted. We cannot
7952         assume that sizeof (ptrdiff_t) == sizeof (void *).
7953
7954 2011-11-29  Eric Blake  <eblake@redhat.com>
7955
7956         maint.mk: add syntax check for use of compare from init.sh
7957         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
7958         moved here from coreutils.
7959
7960         manywarnings: drop -Wunsuffixed-float-constants
7961         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
7962         '1.0D', which is the only way to silence this warning for 'double'.
7963
7964 2011-11-29  Jim Meyering  <meyering@redhat.com>
7965
7966         hash: mark compute_bucket_size with the pure attribute
7967         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
7968
7969         quotearg, propername: correct pragma guard expression
7970         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
7971         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
7972
7973 2011-11-28  Jim Meyering  <meyering@redhat.com>
7974
7975         propername: do not mark proper_name with the const attribute
7976         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
7977         since it examines data pointed to by its parameter.
7978         * lib/propername.c (proper_name): Instead, add a pragma to suppress
7979         the suggestion from -Wsuggest-attribute=const.
7980
7981         propername: mark one more function as const
7982         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
7983
7984 2011-11-27  Jim Meyering  <meyering@redhat.com>
7985
7986         mark functions with const and pure attributes
7987
7988         Mark functions per suggestions from gcc-4.6 when using these options:
7989         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
7990         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
7991         Follow these guidelines: when possible, apply the attribute to
7992         an extern declaration, not to its definition.  Apply it to the
7993         definition only when the definition is static.
7994         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
7995         * lib/argv-iter.h (argv_iter_n_args): Likewise.
7996         * lib/base64.h (isbase64): Likewise.
7997         * lib/basename-lgpl.c (last_component, base_len): Likewise.
7998         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
7999         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
8000         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
8001         (c_tolower, c_toupper): Likewise.
8002         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
8003         * lib/chdir-long.c (find_non_slash): Likewise.
8004         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
8005         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
8006         * lib/file-type.h (file_type): Likewise.
8007         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
8008         * lib/filevercmp.c (verrevcmp): Likewise.
8009         * lib/freadahead.h (freadahead): Likewise.
8010         * lib/fts.c (fts_maxarglen): Likewise.
8011         * lib/hash-pjw.h (hash_pjw): Likewise.
8012         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
8013         * lib/hash.c (is_prime, next_prime): Likewise.
8014         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
8015         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
8016         (hash_table_ok, hash_get_first, hash_string): Likewise.
8017         (compute_bucket_size): Likewise.
8018         * lib/i-ring.h (i_ring_empty): Likewise.
8019         * lib/isnan.c (isnanl): Likewise.
8020         * lib/math.h (isnanl, rpl_isnanl): Likewise.
8021         * lib/memcasecmp.h (memcasecmp): Likewise.
8022         * lib/memchr2.h (memchr2): Likewise.
8023         * lib/memcmp2.h (memcmp2): Likewise.
8024         * lib/parse-datetime.y (lookup_zone): Likewise.
8025         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
8026         [!WINDOWS_SOCKETS]: Likewise.
8027         * lib/strnlen1.h (strnlen1): Likewise.
8028         * lib/uniwidth.in.h (uc_width): Likewise.
8029         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
8030         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
8031         (quoting_options_from_style): Add a comment.
8032         * lib/propername.h (proper_name): Add a comment.
8033
8034 2011-11-27  Bruno Haible  <bruno@clisp.org>
8035
8036         Remove unused macros from !_LIBC code in glibc-borrowed files.
8037         * lib/fnmatch.c (STRCOLL): Remove macro.
8038         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
8039         * lib/glob.c (__stat, __readdir64): Remove macros.
8040         * lib/tempname.c (__open64, __xstat64): Remove macros.
8041         Suggested by Paul Eggert.
8042
8043 2011-11-27  Bruno Haible  <bruno@clisp.org>
8044
8045         getcwd: Fix link error on MSVC 9.
8046         * modules/getcwd (Depends-on): Add readdir, rewinddir.
8047
8048 2011-11-27  Bruno Haible  <bruno@clisp.org>
8049
8050         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
8051         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
8052         HAVE_OPENDIR is 0.
8053         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
8054         HAVE_CLOSEDIR is 0.
8055         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
8056         is 0.
8057         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
8058
8059 2011-11-27  Bruno Haible  <bruno@clisp.org>
8060
8061         getcwd: Fix bug from 2011-08-17.
8062         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
8063         platforms that need it.
8064         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
8065         code of 4 to be a failure, not a success. This ensures that
8066         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
8067
8068 2011-11-27  Bruno Haible  <bruno@clisp.org>
8069
8070         binary-io tests: Avoid test failure on mingw when libtool is used.
8071         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
8072         Don't verify the size of t-bin-out1.tmp here.
8073         * tests/test-binary-io.sh: Verify it here.
8074         Reported by Simon Josefsson.
8075
8076 2011-11-26  Bruno Haible  <bruno@clisp.org>
8077
8078         Fix conflict between two instantiations of module 'unistd'.
8079         * gnulib-tool (func_emit_autoconf_snippet): Substitute
8080         ${include_guard_prefix} also in the autoconf snippet.
8081         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
8082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
8083         GNULIB_UNISTD_H_GETOPT.
8084         * modules/getopt-posix (configure.ac): Set the
8085         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
8086         * modules/getopt-gnu (configure.ac): Likewise.
8087         * modules/unistd (Makefile.am): Change the substitution value of
8088         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
8089         Reported by Simon Josefsson.
8090
8091 2011-11-25  Bruno Haible  <bruno@clisp.org>
8092
8093         pagealign_alloc: Doc and comments.
8094         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
8095         module.
8096         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
8097
8098 2011-11-25  Jim Meyering  <meyering@redhat.com>
8099
8100         test-update-copyright.sh: avoid false-positive failure
8101         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
8102         around false positive failure on Cygwin/Windows.  The latter was
8103         matching erroneously-created files with names like
8104         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
8105
8106 2011-11-25  Simon Josefsson  <simon@josefsson.org>
8107
8108         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
8109         * m4/valgrind-tests.m4: Check that the parameters that will be
8110         used works, not just a subset of them.  Reported by Bruno Haible
8111         <bruno@clisp.org>.
8112
8113 2011-11-24  Jim Meyering  <meyering@redhat.com>
8114
8115         test-stdalign.c: comment out long double tests
8116         * tests/test-stdalign.c: Don't try to reduce alignment of long double
8117         variables.  That provokes errors like this from gcc-4.7.0 20111124:
8118         error: '_Alignas' specifiers cannot reduce alignment of \
8119         'static_longdouble_alignas'.
8120
8121 2011-11-22  Jim Meyering  <meyering@redhat.com>
8122
8123         init.sh: make "compare /dev/null FILE" output more readable
8124         * tests/init.sh (compare_): Document the preferred order of arguments.
8125         (emit_diff_u_header_): New function.
8126         (compare_dev_null_): Emit a simulated diff, rather than just the
8127         contents of the unexpected file.  Suggestion from Bruno Haible.
8128
8129 2011-11-21  Jim Meyering  <meyering@redhat.com>
8130             Eric Blake  <eblake@redhat.com>
8131
8132         init.sh: work around OSF/1 5.1's mishandling of /dev/null
8133         * tests/init.sh: Make our compare function slightly more portable.
8134         Reported by Bruno Haible in
8135         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
8136
8137 2011-11-21  Simon Josefsson  <simon@josefsson.org>
8138
8139         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
8140         before using it, in code that ends up in config.h.
8141
8142 2011-11-20  Bruno Haible  <bruno@clisp.org>
8143
8144         getcwd: Work around getcwd bug on AIX 5..7.
8145         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
8146         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
8147         Use a different value for gl_cv_func_getcwd_path_max. Move the
8148         definition of HAVE_PARTLY_WORKING_GETCWD from here...
8149         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
8150         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
8151         Define HAVE_MINIMALLY_WORKING_GETCWD.
8152         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
8153         where it is not even minimally working, that is, on AIX.
8154         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
8155         m4/getcwd-path-max.m4.
8156         (main): Update exit code computation.
8157         * doc/posix-functions/getcwd.texi: Mention list of platforms where
8158         getcwd does not handle long file names.
8159
8160 2011-11-20  Bruno Haible  <bruno@clisp.org>
8161
8162         getcwd: Fix bug from 2009-09-10.
8163         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
8164         like "no".
8165
8166 2011-11-20  Simon Josefsson  <simon@josefsson.org>
8167
8168         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
8169
8170 2011-11-20  Bruno Haible  <bruno@clisp.org>
8171
8172         fma tests: Avoid shadowing local variables.
8173         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
8174         expected.
8175
8176 2011-11-20  Bruno Haible  <bruno@clisp.org>
8177
8178         copysignf tests: Fix.
8179         * tests/test-copysignf.c: Fix signature check.
8180
8181 2011-11-20  Bruno Haible  <bruno@clisp.org>
8182
8183         fma: Remove unused code.
8184         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
8185         unused macros.
8186
8187 2011-11-20  Bruno Haible  <bruno@clisp.org>
8188
8189         sethostname: Fix doc about AIX.
8190         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
8191         sethostname; it has it.
8192
8193         sethostname: Mention more portability problems.
8194         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
8195         problem.
8196         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
8197
8198 2011-11-19  Bruno Haible  <bruno@clisp.org>
8199
8200         Depend on module fcntl-h when AT_FDCWD is used.
8201         * modules/utimens (Depends-on): Add fcntl-h.
8202         * modules/areadlinkat (Depends-on): Likewise.
8203         * modules/areadlinkat-with-size (Depends-on): Likewise.
8204         * modules/faccessat (Depends-on): Likewise.
8205         * modules/fchmodat (Depends-on): Likewise.
8206         * modules/fchownat (Depends-on): Likewise.
8207         * modules/getcwd (Depends-on): Likewise.
8208         * modules/mkdirat (Depends-on): Likewise.
8209         * modules/mkfifoat (Depends-on): Likewise.
8210         * modules/readlinkat (Depends-on): Likewise.
8211         * modules/symlinkat (Depends-on): Likewise.
8212         * modules/dup2-tests (Depends-on): Likewise.
8213         * modules/fdutimensat-tests (Depends-on): Likewise.
8214         * modules/futimens-tests (Depends-on): Likewise.
8215
8216 2011-11-19  Bruno Haible  <bruno@clisp.org>
8217
8218         euidaccess: Update a comment.
8219         * lib/euidaccess.c: Update comment about platforms with faccessat.
8220
8221 2011-11-19  Bruno Haible  <bruno@clisp.org>
8222
8223         openat: Fix file list.
8224         * modules/openat (Files): Remove lib/at-func.c.
8225
8226 2011-11-19  Bruno Haible  <bruno@clisp.org>
8227
8228         fstatat: Simplify.
8229         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
8230         gnulib should define rpl_fstatat, there is a
8231         "#define fstatat rpl_fstatat" in <sys/stat.h>.
8232
8233 2011-11-19  Bruno Haible  <bruno@clisp.org>
8234
8235         Ensure 'inline' can be used in tests/test-utimens-common.h.
8236         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
8237         * modules/futimens-tests (configure.ac): Likewise.
8238         * modules/utimens-tests (configure.ac): Likewise.
8239         * modules/utimensat-tests (configure.ac): Likewise.
8240
8241 2011-11-19  Simon Josefsson  <simon@josefsson.org>
8242
8243         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
8244         not hash_insert0.
8245         (hash_insert_if_absent): Doc fix.
8246
8247 2011-11-19  Simon Josefsson  <simon@josefsson.org>
8248
8249         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
8250
8251 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8252
8253         test-getcwd: disambiguate exit status
8254         * tests/test-getcwd.c (test_long_name): Return 0..7.
8255         (main): Exit with an unambiguous exit status.  The old
8256         code yielded a mysterious mixture of two failure codes.
8257
8258         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
8259         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
8260         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
8261         rpl_fstatat or fstatat.  This should fix the other problem
8262         reported by Kai Habel in
8263         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
8264         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
8265         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
8266         and I reproduced it on a Solaris 8 host we still have in production.
8267
8268 2011-11-18  Jim Meyering  <meyering@redhat.com>
8269
8270         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
8271         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
8272         Add a sentence to the comment.
8273         (hash_insert0): New function that simply calls hash_insert_if_absent.
8274         * lib/hash.h (hash_insert_if_absent): Declare it.
8275         (hash_insert0): Add deprecation attribute.
8276         (_GL_ATTRIBUTE_DEPRECATED): Define.
8277         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
8278         not hash_insert0.
8279         * NEWS: Mention it, even though it's not really an incompatible change.
8280
8281 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
8282
8283         openat: avoid compilation failure due to lack of <errno.h> inclusion
8284         * lib/openat.c: Include <errno.h>.
8285
8286 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8287
8288         * modules/getcwd (Depends-on): Add fdopendir.
8289         This fixes one of the two problems reported by Kai Habel in
8290         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
8291
8292         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
8293         stdalign problem reported by Ian Beckwith in
8294         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
8295         * modules/crypto/gc-arcfour (Depends-on):
8296         Depend conditionally on crypto/arcfour.
8297         * modules/crypto/gc-arctwo (Depends-on):
8298         Depend conditionally on crypto/arctwo.
8299         * modules/crypto/gc-des (Depends-on):
8300         Depend conditionally on crypto/des.
8301         * modules/crypto/gc-hmac-md5 (Depends-on):
8302         Depend conditionally on crypto/hmac-md5.
8303         * modules/crypto/gc-hmac-sha1 (Depends-on):
8304         Depend conditionally on crypto/hmac-sha1.
8305         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
8306         * modules/crypto/gc-md4 (Depends-on):
8307         Depend conditionally on crypto/md4.
8308         * modules/crypto/gc-md5 (Depends-on):
8309         Depend conditionally on crypto/md5.
8310         * modules/crypto/gc-rijndael (Depends-on):
8311         Depend conditionally on crypto/rijndael.
8312         * modules/crypto/gc-sha1 (Depends-on):
8313         Depend conditionally on crypto/sha1.
8314         * modules/crypto/gc-arcfour:
8315         * modules/crypto/gc-arctwo:
8316         * modules/crypto/gc-des:
8317         * modules/crypto/gc-hmac-md5:
8318         * modules/crypto/gc-hmac-sha1:
8319         * modules/crypto/gc-md2:
8320         * modules/crypto/gc-md4:
8321         * modules/crypto/gc-md5:
8322         * modules/crypto/gc-rijndael:
8323         * modules/crypto/gc-sha1:
8324         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
8325         now that the conditional dependencies do the work for us.
8326
8327 2011-11-17  Jim Meyering  <meyering@redhat.com>
8328
8329         tests: factor st_ctime-comparison out of two headers
8330         * tests/test-utimens-common.h (ctime_compare): Define.
8331         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
8332         * tests/test-lutimens.h (test_lutimens): Likewise.
8333         * tests/test-utimens.h (test_utimens): Likewise.
8334
8335         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
8336         Invoke the test program via an init.sh-using wrapper.
8337         * tests/test-getcwd.sh: New file.
8338         * modules/getcwd-tests (Files): Add it.
8339         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
8340
8341 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
8342
8343         gitlog-to-changelog: support multi-author commits.
8344         The FSF cares about keeping track of all authors of patches to its
8345         projects, but Git doesn't provide obvious support for multi-author
8346         changesets. Consensus seems to be forming around the use of extra
8347         Signed-off-by inspired lines in the log message formatted as
8348         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
8349         multi-author commits between version control systems.
8350         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
8351         log message and output in standard ChangeLog multi-author format.
8352         Reported by Peter Rosin <peda@lysator.liu.se>
8353
8354 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
8355             Bruno Haible  <bruno@clisp.org>
8356
8357         Fix some modules' file list.
8358         * modules/fstatat (Files): Add m4/lstat.m4.
8359         * modules/openat (Files): Likewise.
8360         * modules/unlinkat (Files): Likewise.
8361
8362 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
8363
8364         maint.mk: fix tight-scope.mk generation in VPATH builds.
8365         * top/maint.mk (tight-scope.mk): Make sure to prefix file
8366         reference with $(srcdir) so that the file is found correctly even
8367         when running `make syntax-check' in a VPATH build.
8368
8369 2011-11-13  Bruno Haible  <bruno@clisp.org>
8370             Jim Meyering  <meyering@redhat.com>
8371
8372         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
8373         * tests/init.sh (compare): Remove "No differences encountered" or
8374         synonymous output from the 'diff' program.
8375
8376 2011-11-13  Bruno Haible  <bruno@clisp.org>
8377
8378         Makefile: Tweak indentation.
8379         * Makefile: Use tab as first character in every line that contains rule
8380         commands.
8381
8382 2011-11-13  Bruno Haible  <bruno@clisp.org>
8383
8384         Syntax check for copyright statements.
8385         * check-copyright: New file.
8386         * Makefile (sc_check_copyright): New rule.
8387
8388 2011-11-13  Simon Josefsson  <simon@josefsson.org>
8389
8390         * build-aux/git-version-gen: Add --prefix to configure the tag
8391         match string.
8392
8393 2011-11-13  Simon Josefsson  <simon@josefsson.org>
8394
8395         * build-aux/git-version-gen: Add --help and --version.
8396
8397 2011-11-12  Jim Meyering  <meyering@redhat.com>
8398
8399         revamp the other test-exclude?.sh scripts to use init.sh, too
8400         * tests/test-exclude1.sh: Use init.sh.
8401         * tests/test-exclude2.sh: Likewise.
8402         * tests/test-exclude3.sh: Likewise.
8403         * tests/test-exclude4.sh: Likewise.
8404         * tests/test-exclude5.sh: Likewise.
8405         * tests/test-exclude6.sh: Likewise.
8406         * tests/test-exclude7.sh: Likewise.
8407         * tests/test-exclude8.sh: Likewise.
8408         * modules/exclude-tests (Files): List init.sh.
8409
8410         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
8411         These shell scripts ignored failure of the binary test-exclude,
8412         so making the latter return 77 didn't cause them to be skipped.
8413         * tests/test-exclude5.sh: Exit with test-exclude's error status
8414         when that program fails.  Revamp to use init.sh.
8415         * tests/test-exclude2.sh: Likewise.
8416
8417         test-exclude: fix a typo
8418         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
8419
8420 2011-11-11  Bruno Haible  <bruno@clisp.org>
8421
8422         obstack: Fix compilation error on MSVC 9.
8423         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
8424
8425 2011-11-11  Jim Meyering  <meyering@redhat.com>
8426
8427         test-exclude: skip tests rather than failing on deficient systems
8428         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
8429         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
8430         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
8431         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
8432
8433 2011-11-10  Bruno Haible  <bruno@clisp.org>
8434
8435         ptsname_r test: Avoid gcc warning on glibc systems.
8436         * tests/test-ptsname_r.c (null_ptr): New function.
8437         (test_errors): Use it.
8438
8439 2011-11-10  Bruno Haible  <bruno@clisp.org>
8440
8441         ptsname_r: Avoid compilation error on OSF/1 5.1.
8442         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
8443         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
8444         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
8445         function is not declared or incompatibly declared.
8446         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
8447         * modules/ptsname_r (Depends-on, configure.ac): Update.
8448         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
8449
8450 2011-11-10  Bruno Haible  <bruno@clisp.org>
8451
8452         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
8453         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
8454         When cross-compiling, guess yes on all platforms except AIX.
8455         Reported by Ludovic Courtès <ludo@gnu.org>.
8456
8457 2011-11-09  Bruno Haible  <bruno@clisp.org>
8458
8459         ptsname_r tests: Fix bugs.
8460         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
8461         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
8462
8463 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
8464
8465         fstatat: work with cross-compilation
8466         Problem reported by Ludovic Courtès in
8467         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
8468         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
8469         "cross-compiling" and assume the bug is present.  Replace
8470         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
8471         an inverted sense, to be more conservative about our assumptions.
8472         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
8473
8474 2011-11-09  Bruno Haible  <bruno@clisp.org>
8475
8476         Improve MODULES.html output.
8477         * modules/mkfifoat (Description): Use the word "function".
8478         * modules/readlinkat (Description): Likewise.
8479         * modules/symlinkat (Description): Likewise.
8480
8481 2011-11-09  Eric Blake  <eblake@redhat.com>
8482
8483         ptsname_r-tests: new test module
8484         * modules/ptsname_r-tests: New module.
8485         * tests/test-ptsname_r.c: New file.
8486
8487         ptsname_r: new module
8488         * modules/ptsname_r: New module.
8489         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
8490         * lib/ptsname.c (__ptsname_r): Split...
8491         * lib/ptsname_r.c: ...into new file.
8492         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8493         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
8494         * modules/stdlib (Makefile.am): Substitute witnesses.
8495         * lib/stdlib.in.h (ptsname_r): Declare it.
8496         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
8497         * MODULES.html.sh (Misc): Likewise.
8498         * modules/ptsname (Depends-on): Alter dependency.
8499         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
8500
8501 2011-11-09  Jim Meyering  <meyering@redhat.com>
8502
8503         announce-gen: be more concise when there's only one URL+tarball
8504         * build-aux/announce-gen (get_tool_versions): When you distribute
8505         only one type of tarball, combine the first two "Here are..."
8506         sections and make the key-checking grammar independent of
8507         how many tarballs there are.
8508
8509 2011-11-09  Eric Blake  <eblake@redhat.com>
8510
8511         openpty: provide a stub on mingw
8512         * lib/pty.in.h (includes): Provide forward declarations.
8513         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
8514
8515         raise: fix mingw handling of SIGPIPE
8516         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
8517
8518 2011-11-08  Bruno Haible  <bruno@clisp.org>
8519
8520         More conditional dependencies.
8521         * modules/faccessat (Depends-on): Add conditions.
8522         * modules/fchmodat (Depends-on): Likewise.
8523         * modules/fchownat (Depends-on): Likewise.
8524         * modules/fstatat (Depends-on): Likewise.
8525         * modules/mkfifoat (Depends-on): Likewise.
8526         * modules/readlinkat (Depends-on): Likewise.
8527         * modules/symlinkat (Depends-on): Likewise.
8528         * modules/unlinkat (Depends-on): Likewise.
8529         * modules/utimensat (Depends-on): Likewise.
8530         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
8531         * modules/linkat (Depends-on): Refine the conditions.
8532         * modules/renameat (Depends-on): Likewise.
8533
8534 2011-11-08  Bruno Haible  <bruno@clisp.org>
8535
8536         faccessat: Move AC_LIBOBJ invocation to module description.
8537         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
8538         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
8539         invocation from here...
8540         * modules/faccessat (configure.ac): ... to here. Invoke
8541         gl_PREREQ_FACCESSAT.
8542
8543 2011-11-08  Bruno Haible  <bruno@clisp.org>
8544
8545         faccessat: Simplify autoconf macro.
8546         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
8547         gl_FUNC_EUIDACCESS.
8548
8549 2011-11-08  Bruno Haible  <bruno@clisp.org>
8550
8551         renameat: Fix dependencies.
8552         * modules/renameat (Depends-on): Add stdbool.
8553
8554 2011-11-08  Bruno Haible  <bruno@clisp.org>
8555
8556         mkfifoat: Fix module description.
8557         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
8558         not gl_UNISTD_MODULE_INDICATOR.
8559
8560 2011-11-08  Bruno Haible  <bruno@clisp.org>
8561
8562         fstatat: Remove unused dependency.
8563         * modules/fstatat (Depends-on): Remove fstat.
8564
8565 2011-11-08  Simon Josefsson  <simon@josefsson.org>
8566
8567         GNUmakefile: behave when Makefile is missing.
8568         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
8569
8570 2011-11-08  Bruno Haible  <bruno@clisp.org>
8571
8572         openat: Conditionalize dependencies.
8573         * lib/openat.c: Reduce the scope of some #includes.
8574         * modules/openat (Depends-on): Add conditions.
8575
8576 2011-11-07  Jim Meyering  <meyering@redhat.com>
8577
8578         maint.mk: extract GPG key ID without using a temporary file
8579         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
8580         without using a temporary file.  Based on a suggestion from Werner Koch
8581         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
8582
8583 2011-11-07  Eric Blake  <eblake@redhat.com>
8584
8585         grantpt: fix typo
8586         * lib/stdlib.in.h (grantpt): Check correct function.
8587
8588         maint.mk: silence new syntax check
8589         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
8590
8591 2011-11-06  Bruno Haible  <bruno@clisp.org>
8592
8593         Doc about floating-point and math API.
8594         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
8595         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
8596
8597 2011-11-06  Bruno Haible  <bruno@clisp.org>
8598
8599         stdalign tests: Skip the test when compiled by Sun C.
8600         * tests/test-stdalign.c (main): Skip the test on Sun C.
8601
8602 2011-11-06  Bruno Haible  <bruno@clisp.org>
8603
8604         ansi-c++-opt: Complete the 2011-06-05 change.
8605         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
8606         does not support namespaces, set the variable to "no", not to ":".
8607
8608 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
8609
8610         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
8611
8612 2011-11-06  Bruno Haible  <bruno@clisp.org>
8613
8614         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
8615         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
8616         (minus_zerol) [HP-UX]: New macro.
8617         (unary_minus) [HP-UX]: New function.
8618         (copysignl) [HP-UX]: Use unary_minus function.
8619
8620 2011-11-06  Bruno Haible  <bruno@clisp.org>
8621
8622         ldexp, ldexpf, ldexpl: Enhance tests.
8623         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
8624         and tests/test-ldexpl.c.
8625         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
8626         LDEXP, MIN_EXP, MAX_EXP): New macros.
8627         Include test-ldexp.h.
8628         (main): Just call test_function.
8629         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
8630         infinity.h, nan.h.
8631         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
8632         MAX_EXP): New macros.
8633         Include test-ldexp.h.
8634         (x, y): Remove variables.
8635         (main): Just call test_function.
8636         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
8637         infinity.h, nan.h.
8638         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
8639         MAX_EXP): New macros.
8640         Include test-ldexp.h.
8641         (x, y): Remove variables.
8642         (main): Just call test_function.
8643         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
8644         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
8645         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8646         (Depends-on): Add isnand-nolibm, signbit, float.
8647         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
8648         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8649         (Depends-on): Add isnanf-nolibm, signbit, float.
8650
8651 2011-11-06  Bruno Haible  <bruno@clisp.org>
8652
8653         math tests: Cosmetics.
8654         * tests/test-math-c++.cc: Reorder declarations.
8655
8656 2011-11-05  Bruno Haible  <bruno@clisp.org>
8657
8658         fma*: Simplify test.
8659         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
8660         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
8661
8662         Tests for module 'fmal'.
8663         * modules/fmal-tests: New file.
8664         * tests/test-fmal1.c: New file.
8665         * tests/test-fmal2.c: New file.
8666
8667         New module 'fmal'.
8668         * lib/math.in.h (fmal): New declaration.
8669         * lib/fmal.c: New file.
8670         * m4/fmal.m4: New file.
8671         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
8672         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
8673         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
8674         REPLACE_FMAL.
8675         * modules/fmal: New file.
8676         * doc/posix-functions/fmal.texi: Mention the new module and the various
8677         bugs.
8678
8679         Tests for module 'fmaf'.
8680         * modules/fmaf-tests: New file.
8681         * tests/test-fmaf1.c: New file.
8682         * tests/test-fmaf2.c: New file.
8683
8684         New module 'fmaf'.
8685         * lib/math.in.h (fmaf): New declaration.
8686         * lib/fmaf.c: New file.
8687         * m4/fmaf.m4: New file.
8688         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
8689         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
8690         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
8691         REPLACE_FMAF.
8692         * modules/fmaf: New file.
8693         * doc/posix-functions/fmaf.texi: Mention the new module and the various
8694         bugs.
8695
8696         Tests for module 'fma'.
8697         * modules/fma-tests: New file.
8698         * tests/test-fma1.c: New file.
8699         * tests/test-fma1.h: New file.
8700         * tests/test-fma2.c: New file.
8701         * tests/test-fma2.h: New file.
8702
8703         New module 'fma'.
8704         * lib/math.in.h (fma): New declaration.
8705         * lib/fma.c: New file.
8706         * m4/fma.m4: New file.
8707         * m4/fegetround.m4: New file.
8708         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
8709         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
8710         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
8711         REPLACE_FMA.
8712         * modules/fma: New file.
8713         * doc/posix-functions/fma.texi: Mention the new module and the various
8714         bugs.
8715
8716         Extend gl_MATHFUNC.
8717         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
8718         Support 'void' as argument type.
8719         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
8720
8721 2011-11-05  Jim Meyering  <meyering@redhat.com>
8722
8723         maint.mk: also prohibit inclusion of dirent.h without use
8724         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
8725
8726 2011-11-05  Bruno Haible  <bruno@clisp.org>
8727
8728         ldexpl tests: Avoid test failure on MSVC 9.
8729         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
8730         value. Needed in order to enforce the conversion from a value greater
8731         than LDBL_MAX to Infinity.
8732
8733 2011-11-05  Bruno Haible  <bruno@clisp.org>
8734
8735         New modules 'at-internal', 'openat-h', split off from module 'openat'.
8736         * modules/at-internal: New file, extracted from modules/openat.
8737         * modules/openat-h: New file.
8738         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
8739         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
8740         * modules/openat (Description): Add reference to POSIX function.
8741         (Files): Remove lib/openat.h, lib/openat-proc.c.
8742         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
8743         intprops, unistd.
8744         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
8745         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
8746         gl_FCNTL_MODULE_INDICATOR.
8747         (Include): Remove unistd.h, openat.h.
8748         * modules/areadlinkat (Files): Add lib/at-func.c.
8749         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8750         openat-die, openat-h, save-cwd.
8751         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
8752         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8753         openat-die, openat-h, save-cwd, unistd.
8754         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
8755         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8756         openat-h, save-cwd. Remove fcntl-h, openat.
8757         * modules/fchmodat (Files): Remove lib/openat.h.
8758         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8759         openat, stdbool, unistd.
8760         * modules/fchownat (Files): Remove lib/openat.h.
8761         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8762         openat, stdbool, sys_stat.
8763         * modules/fdopendir (Files): Remove lib/openat-priv.h,
8764         lib/openat-proc.c.
8765         (Depends-on): Add at-internal.
8766         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
8767         * modules/fstatat (Files): Remove lib/openat.h.
8768         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8769         stdbool, unistd.
8770         * modules/fts (Depends-on): Add openat-h.
8771         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
8772         openat.
8773         * modules/mkdirat (Files): Remove lib/openat.h.
8774         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8775         openat, stdbool, sys_stat.
8776         * modules/mkfifoat (Files): Add lib/at-func.c.
8777         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8778         openat-h, save-cwd. Remove fcntl-h, openat.
8779         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
8780         * modules/readlinkat (Files): Add lib/at-func.c.
8781         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8782         openat-h, save-cwd. Remove fcntl-h, openat.
8783         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
8784         openat.
8785         * modules/selinux-at (Files): Add lib/at-func.c.
8786         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8787         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
8788         * modules/symlinkat (Files): Add lib/at-func.c.
8789         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8790         openat-h, save-cwd. Remove fcntl-h, openat.
8791         * modules/unlinkat (Files): Remove lib/openat.h.
8792         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8793         stdbool.
8794         * modules/utimensat (Files): Add lib/at-func.c.
8795         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
8796         openat-die, openat-h, save-cwd.
8797         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
8798         * modules/fdutimensat-tests (Depends-on): Add openat.
8799         * modules/fstatat-tests (Depends-on): Add openat-h.
8800         * modules/readlinkat-tests (Depends-on): Add openat.
8801         * modules/symlinkat-tests (Depends-on): Add openat.
8802
8803 2011-11-05  Bruno Haible  <bruno@clisp.org>
8804
8805         openat: Include <stdbool.h>.
8806         * lib/openat.c: Include <stdbool.h>.
8807
8808 2011-11-04  Bruno Haible  <bruno@clisp.org>
8809
8810         fchownat, renameat, unlinkat: Fix dependencies.
8811         * modules/fchownat (Depends-on): Add fstatat.
8812         * modules/renameat (Depends-on): Likewise.
8813         * modules/unlinkat (Depends-on): Likewise.
8814
8815 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
8816
8817         openat: remove direct dependency on dirent
8818         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
8819         and hasn't been needed ever since fdopendir was split into its own
8820         module on 2009-08-31.
8821         * modules/openat (Depends-on): Remove dirent.
8822
8823 2011-11-04  Bruno Haible  <bruno@clisp.org>
8824
8825         renameat: Optimize code size.
8826         * modules/renameat (configure.ac): Don't compile at-func2.c if
8827         REPLACE_RENAMEAT is 1.
8828
8829 2011-11-04  Bruno Haible  <bruno@clisp.org>
8830
8831         openat tests: Fix file list.
8832         * modules/openat-tests (Files): Add tests/test-open.h.
8833
8834 2011-11-04  Bruno Haible  <bruno@clisp.org>
8835
8836         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
8837         * modules/fchmodat (Depends-on): Add openat-die.
8838         * modules/fchownat (Depends-on): Likewise.
8839         * modules/linkat (Depends-on): Likewise.
8840         * modules/renameat (Depends-on): Likewise.
8841         * modules/openat (Depends-on): Add dirent.
8842
8843 2011-11-04  Jim Meyering  <meyering@redhat.com>
8844
8845         at-func*.c: fix comments
8846         * lib/at-func2.c: Correct/improve first-line comment.
8847         * lib/at-func.c: Correct grammar in first-line comment.
8848
8849 2011-11-04  Bruno Haible  <bruno@clisp.org>
8850
8851         New module 'mkdirat', split off from module 'openat'.
8852         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
8853         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
8854         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
8855         * modules/mkdirat: New file, extracted from modules/openat.
8856         * modules/openat (Files): Remove lib/mkdirat.c.
8857         (Depends-on): Remove mkdir.
8858         (configure.ac): Remove AC_LIBOBJ of mkdirat.
8859         (Include): Remove <sys/stat.h>.
8860         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
8861         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
8862         tests/test-mkdir.h.
8863         (Depends-on): Remove ignore-value.
8864         (Makefile.am): Remove rules for test-mkdirat.
8865         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
8866         of module 'openat'.
8867         * NEWS: Mention the change.
8868
8869 2011-11-04  Bruno Haible  <bruno@clisp.org>
8870
8871         closedir: Avoid warning on mingw.
8872         * lib/closedir.c: Include <unistd.h>.
8873
8874 2011-11-04  Bruno Haible  <bruno@clisp.org>
8875
8876         New module 'fstatat', split off from module 'openat'.
8877         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
8878         defined.
8879         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
8880         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
8881         gl_FUNC_FSTATAT.
8882         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
8883         * modules/fstatat: New file, extracted from modules/openat.
8884         * modules/openat (Files): Remove lib/fstatat.c.
8885         (Depends-on): Remove lstat.
8886         (configure.ac): Remove AC_LIBOBJ of fstatat.
8887         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
8888         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
8889         tests/test-lstat.h, tests/test-stat.h.
8890         (Depends-on): Remove getcwd-lgpl.
8891         (Makefile.am): Remove rules for test-fstatat.
8892         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
8893         of module 'openat'.
8894         * NEWS: Mention the change.
8895         * modules/getcwd (Depends-on): Add fstatat.
8896         * modules/linkat (Depends-on): Likewise.
8897         * modules/mkfifoat-tests (Depends-on): Likewise.
8898         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
8899
8900 2011-11-03  Bruno Haible  <bruno@clisp.org>
8901
8902         New module 'unlinkat', split off from module 'openat'.
8903         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
8904         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
8905         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
8906         * modules/unlinkat: New file, extracted from modules/openat. Correct
8907         the dependency conditions.
8908         * modules/openat (Files): Remove lib/unlinkat.c.
8909         (Depends-on): Remove rmdir, unlink.
8910         (configure.ac): Remove AC_LIBOBJ of unlinkat.
8911         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
8912         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
8913         tests/test-rmdir.h, tests/test-unlink.h.
8914         (Depends-on): Remove unlinkdir.
8915         (Makefile.am): Remove rules for test-unlinkat.
8916         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
8917         of module 'openat'.
8918         * NEWS: Mention the change.
8919         * modules/linkat-tests (Depends-on): Add unlinkat.
8920         * modules/mkfifoat-tests (Depends-on): Likewise.
8921         * modules/readlinkat-tests (Depends-on): Likewise.
8922
8923 2011-11-02  Bruno Haible  <bruno@clisp.org>
8924
8925         New module 'fchmodat', split off from module 'openat'.
8926         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
8927         defined.
8928         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
8929         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
8930         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
8931         * modules/fchmodat: New file, extracted from modules/openat.
8932         * modules/openat (Files): Remove lib/fchmodat.c.
8933         (configure.ac): Remove AC_LIBOBJ of fchmodat.
8934         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
8935         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
8936         (Makefile.am): Remove rules for test-fchmodat.
8937         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
8938         of module 'openat'.
8939         * NEWS: Mention the change.
8940
8941 2011-11-02  Jim Meyering  <meyering@redhat.com>
8942
8943         putenv: indent #definition of "environ" to placate cppi
8944         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
8945
8946         gitlog-to-changelog: provide a ChangeLog-repair mechanism
8947         Git logs are often treated as immutable, because editing them
8948         changes the SHA1 checksums of all descendants.  Thus, errors in
8949         git logs tend to stay there forever.  However, when we generate
8950         a ChangeLog file -- typically for distribution -- from that git log,
8951         we can actually make corrections in the generated file.  The key
8952         lies in recording in machine-readable/applicable form the desired
8953         corrections.  See --help for description and an example.
8954         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
8955         (usage): Describe it; alphabetize option descriptions.
8956         (main): Honor the new option, carefully.
8957
8958 2011-11-01  Jim Meyering  <meyering@redhat.com>
8959
8960         gitlog-to-changelog: avoid an infloop
8961         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
8962         that ends up being empty.
8963
8964 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8965
8966         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
8967         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
8968         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
8969         contains (possibly-quoted) backslashes.  This should avoid
8970         all-too-common shell bugs if COMPLICATED contains backslashes in
8971         the "wrong" places.  Reported by David Evans in
8972         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
8973         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
8974         because we want ASCII ranges.  Is there some reason we don't use
8975         the C locale everywhere in this script?
8976         (func_module, top level): Avoid unwanted pathname expansion when
8977         $repo_url_prefix or $repo_url_suffix_repl contain shell
8978         metacharacters like '?' and '*'.
8979
8980 2011-11-01  Bruno Haible  <bruno@clisp.org>
8981
8982         fchownat: Improve description.
8983         * modules/fchownat (Description): Add link to function.
8984
8985 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8986
8987         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
8988         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
8989         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
8990         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
8991
8992 2011-11-01  Bruno Haible  <bruno@clisp.org>
8993
8994         alignof: Avoid collision with stdalign module.
8995         * lib/alignof.h (alignof): Remove macro.
8996         * NEWS: Mention the change.
8997         Reported by Paul Eggert.
8998
8999 2011-11-01  Bruno Haible  <bruno@clisp.org>
9000
9001         New module 'fchownat', split off from module 'openat'.
9002         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
9003         defined.
9004         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
9005         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
9006         invoke gl_FUNC_FCHOWNAT.
9007         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
9008         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
9009         * modules/fchownat: New file, extracted from modules/openat.
9010         * modules/openat (Files): Remove lib/fchownat.c.
9011         (Depends-on): Remove lchown.
9012         (configure.ac): Remove AC_LIBOBJ of fchownat.
9013         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
9014         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
9015         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
9016         (Depends-on): Remove mgetgroups, usleep, stat-time.
9017         (configure.ac): Remove test for getegid.
9018         (Makefile.am): Remove rules for test-fchownat.
9019         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
9020         of module 'openat'.
9021         * NEWS: Mention the change.
9022
9023 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
9024
9025         stdalign: port better to MSVC and to Sun C 5.11
9026         This fixes some of the problems reported by Bruno Haible in
9027         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
9028         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
9029         shortcomings of MSVC and of Sun C 5.11.
9030         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
9031         around __declspec arg.
9032         * modules/stdalign-tests (Files): Add tests/macros.h.
9033         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
9034         Include macros.h, for ASSERT.
9035         (DECLARE_ALIGNED): Remove.
9036         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
9037         to catch bug), and to 1 if not (simplifies the rest of the code).
9038         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
9039         (CHECK_AUTO): Remove.
9040         (CHECK_ALIGNED): Check only the alignment of the static vars,
9041         since auto var alignment isn't supported by Sun C 5.11.
9042         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
9043         ASSERT failures are easier to diagnose.
9044
9045 2011-10-31  Bruno Haible  <bruno@clisp.org>
9046
9047         doc about some IRIX 5.3 problems.
9048         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
9049         on IRIX 5.3.
9050         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
9051         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
9052         5.3.
9053         * doc/posix-functions/grantpt.texi: Likewise.
9054         * doc/posix-functions/unlockpt.texi: Likewise.
9055         * doc/posix-functions/lgamma.texi: Likewise.
9056         * doc/posix-functions/nextafter.texi: Likewise.
9057         * doc/posix-functions/remainder.texi: Likewise.
9058         * doc/posix-functions/select.texi: Mention misplaced declaration on
9059         IRIX 5.3.
9060         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9061
9062 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
9063
9064         gitlog-to-changelog: fix git-log invocation.
9065         git-log mishandles date strings before 1970-01-01 UTC, and there is
9066         no use to specify --since=1970-01-01 by default anyway.
9067         * build-aux/gitlog-to-changelog: By default, when no --since option
9068         was given, do not specify explicit --since option to git-log.
9069
9070 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
9071
9072         gitlog-to-changelog: new option --append-dot.
9073         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
9074         first non-blank line of each commit message terminated with a dot.
9075
9076 2011-10-30  Bruno Haible  <bruno@clisp.org>
9077
9078         ffsl, ffsll: Avoid compilation error due to 'restrict'.
9079         * lib/ffsl.h: Include <config.h>.
9080         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
9081
9082 2011-10-30  Jim Meyering  <meyering@redhat.com>
9083
9084         GNUmakefile: reenable "make syntax-check" for most projects
9085         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
9086         build-aux variable", "syntax-check" would do nothing but succeed with
9087         the "No version control files detected..." diagnostic (unless you
9088         happened to override _build-aux via cfg.mk).
9089         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
9090         to precede inclusion of maint.mk.  Otherwise, these variables would
9091         be used undefined in any project that does not override the default.
9092
9093 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
9094
9095         gitlog-to-changelog: treat a message with only blank lines as empty.
9096         * build-aux/gitlog-to-changelog: Move the code that removes leading and
9097         trailing blank lines before the code that issues a warning about an
9098         empty commit message.
9099
9100 2011-10-30  Jim Meyering  <meyering@redhat.com>
9101
9102         test-parse-datetime.c: avoid new DST-related false positive test failure
9103         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
9104         based on the time/date we'll convert, not the current time.
9105         Otherwise, the moment we cross a DST boundary like today's in
9106         Europe, (CEST to CET), that offset ends up being one hour off.
9107
9108 2011-10-27  Bruno Haible  <bruno@clisp.org>
9109
9110         fstat: Tweak documentation.
9111         * modules/fstat (Description): More precise description.
9112
9113 2011-10-27  Bruno Haible  <bruno@clisp.org>
9114
9115         Update documentation regarding 'largefile' module.
9116         * doc/posix-functions/fstat.texi: Tweak wording.
9117         * doc/posix-functions/opendir.texi: Mention that the module fixes the
9118         problems with huge directories and/or small ino_t types.
9119         * doc/posix-functions/readdir.texi: Likewise.
9120         * doc/posix-functions/rewinddir.texi: Likewise.
9121
9122 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
9123
9124         maint.mk: don't maintain a second build-aux variable.
9125         * maint.mk (build_aux): Removed.  The maintainer-makefile module
9126         depends on GNUmakefile, which already maintains a cfg.mk
9127         overridable $(_build-aux) for projects with a non-standard
9128         build-aux directory location, although without the $(srcdir)
9129         prefix.  Use that variable consistently instead of introducing a
9130         second one.  Adjust all call sites.
9131
9132 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9133
9134         Add stdalign module and use it in other modules.
9135         This is based on a previous proposal by Bruno Haible
9136         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
9137
9138         stdalign: new module
9139         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
9140         * modules/stdalign: New files.
9141         * MODULES.html.sh (c1x_core_properties): Add stdalign.
9142         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
9143
9144         stdalign-tests: new module
9145         * modules/stdalign-tests, tests/test-stdalign.c: New files.
9146
9147         argp: use stdalign
9148         * lib/argp-parse.c: Include <stdalign.h>.
9149         (alignof): Remove.
9150         * modules/argp (Depends-on): Add stdalign.
9151
9152         crypto libraries: use stdalign
9153         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
9154         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
9155         Do not include <stdlib.h> twice, in md4.c.
9156         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
9157         because we are accessing a pointer's bit-pattern, not a size.
9158         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
9159         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
9160         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
9161         * modules/crypto/sha512: Likewise.
9162
9163         sys_socket: use stdalign, not alignof
9164         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
9165         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
9166
9167 2011-10-27  Bruno Haible  <bruno@clisp.org>
9168
9169         raise test: Avoid a test failure on Linux/MIPS.
9170         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
9171         because 99 is a valid signal on Linux/MIPS.
9172
9173 2011-10-27  Bruno Haible  <bruno@clisp.org>
9174
9175         nonblocking tests: Fix test failure on Linux/MIPS.
9176         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
9177         Set to 270000.
9178
9179 2011-10-27  Bruno Haible  <bruno@clisp.org>
9180
9181         utimensat: Work around problem on Linux/hppa.
9182         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
9183         values.
9184         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
9185
9186 2011-10-25  Jim Meyering  <meyering@redhat.com>
9187
9188         maint.mk: fix a bug in sc_prohibit_stddef_without_use
9189         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
9190         after symbols like NULL, size_t, etc.
9191         Reported by Alfred M. Szmidt.
9192
9193         maint.mk: exempt ENODATA from a syntax-check rule
9194         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
9195         from the sc_prohibit_always-defined_macros syntax-check rule.
9196         Add a comment.  See this for more details:
9197         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
9198
9199 2011-10-23  Jim Meyering  <meyering@redhat.com>
9200
9201         fts: close parent dir FD before returning from post-traversal fts_read
9202         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
9203         unlink A, even though an FD open on A remained.  This is suboptimal
9204         (holding a file descriptor open longer than needed), but otherwise not
9205         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
9206         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
9207         that represents a real problem: it causes the removal of A to fail
9208         with e.g., "rm: cannot remove `A': Device or resource busy"
9209
9210         fts visits each directory twice and keeps a cache (fts_fd_ring) of
9211         directory file descriptors.  After completing the final, FTS_DP,
9212         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
9213         cache, but then proceeded to add a new FD to it via the subsequent
9214         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
9215         final file descriptor would be closed only via fts_close's call to
9216         fd_ring_clear.  Now, it is usually closed earlier, via the final
9217         FTS_DP-returning fts_read call.
9218         * lib/fts.c (restore_initial_cwd): New function, converted from
9219         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
9220         Update callers.
9221         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
9222         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
9223
9224 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
9225             Bruno Haible  <bruno@clisp.org>
9226             Jim Meyering  <jim@meyering.net>
9227
9228         readme-release: improve safety of release prep instructions.
9229         * README-release: Don't git pull all branches when only master
9230         is needed for the release process.
9231         Run make maintainer-clean before changing trees and merging.
9232         Don't try to run ./configure right after git pull in case files
9233         that influence the bootstrap process have changed, move the
9234         ./configure step to after running ./bootstrap.
9235         Don't bootstrap "one last time"... it's the first time!
9236
9237 2011-10-22  Bruno Haible  <bruno@clisp.org>
9238
9239         errno, strerror-override: Support for MSVC 10.
9240         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
9241         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
9242         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
9243         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
9244         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
9245         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
9246         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
9247         Assign values compatible with MSVC 10.
9248         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
9249         New macros.
9250         (GNULIB_defined_EWINSOCK): New macro.
9251         * lib/strerror-override.c (strerror_override): Update accordingly.
9252         * lib/strerror-override.h: Likewise.
9253         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
9254         longer equal to the corresponding errno value.
9255         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9256
9257 2011-10-22  Bruno Haible  <bruno@clisp.org>
9258
9259         perror: Recognize when test program crashes.
9260         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
9261         strerror, set gl_cv_func_perror_works to no.
9262         Reported by Daniel Richard G. <skunk@iskunk.org>.
9263
9264         perror: Fix indentation.
9265         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
9266
9267 2011-10-22  Bruno Haible  <bruno@clisp.org>
9268
9269         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
9270         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
9271         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
9272         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
9273         functions, not as a macro.
9274         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
9275         macros.
9276         (isfinite, isinf, isnan, signbit): Check overloaded functions and
9277         absence of macro.
9278         Suggested by Eric Blake.
9279         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9280
9281 2011-10-21  Bruno Haible  <bruno@clisp.org>
9282
9283         relocatable-prog-wrapper: Don't leave object files behind.
9284         * build-aux/install-reloc: Re-synchronize list of .o files to be
9285         removed with list of compilation units.
9286
9287 2011-10-20  Bruno Haible  <bruno@clisp.org>
9288
9289         openpty, posix_openpt: Remove code duplication.
9290         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
9291         * lib/openpty.c: Include <stdlib.h>.
9292         (openpty): Use posix_openpt on all platforms except IRIX.
9293         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
9294
9295 2011-10-20  Bruno Haible  <bruno@clisp.org>
9296
9297         unlockpt: Detect invalid argument.
9298         * lib/unlockpt.c: Include <fcntl.h>.
9299         (unlockpt): Check whether fd is valid, using fcntl().
9300         * modules/unlockpt (Depends-on): Add fcntl-h.
9301
9302 2011-10-20  Bruno Haible  <bruno@clisp.org>
9303
9304         openpty: Avoid compilation error on AIX 6.1.
9305         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
9306
9307 2011-10-20  Bruno Haible  <bruno@clisp.org>
9308
9309         posix_openpt: Support for OpenBSD.
9310         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
9311         (posix_openpt) [OpenBSD]: New code.
9312         * lib/grantpt.c: Include <fcntl.h>.
9313         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
9314         * modules/grantpt (Depends-on): Add fcntl-h.
9315
9316 2011-10-20  Bruno Haible  <bruno@clisp.org>
9317
9318         posix_openpt test: Coding style.
9319         * tests/test-posix_openpt.c: Use GNU coding style.
9320
9321 2011-10-20  Bruno Haible  <bruno@clisp.org>
9322
9323         grantpt: Support --avoid=pt_chown.
9324         * modules/grantpt (Files): Add lib/pty-private.h.
9325
9326 2011-10-20  Bruno Haible  <bruno@clisp.org>
9327
9328         posix_openpt: Fix autoconf macro.
9329         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
9330         unneeded check for _getpty.
9331
9332 2011-10-20  Bruno Haible  <bruno@clisp.org>
9333
9334         openpty: Update comments.
9335         * lib/openpty.c: Add comments about Minix.
9336
9337 2011-10-19  Eric Blake  <eblake@redhat.com>
9338
9339         openpty: relax license
9340         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
9341
9342         pt_chown: use configmake to simplify build
9343         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
9344
9345         ptsname and others: relax license
9346         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
9347         * modules/unlockpt (License): Likewise.
9348         * modules/pt_chown (License): Likewise.
9349         * modules/ptsname (License): Likewise.
9350         * modules/ttyname_r (License): Likewise.
9351
9352 2011-10-19  Jim Meyering  <meyering@redhat.com>
9353
9354         posix_openpt: remove spurious #endif
9355         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
9356
9357 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
9358
9359         maint.mk: Respect $(build_aux) in web-manual rule.
9360         * top/maint.mk (web-manual): Find gen-announce script in user's
9361         $(build_aux) directory instead of hard-coding 'build-aux'.
9362
9363 2011-10-19  Bruno Haible  <bruno@clisp.org>
9364
9365         posix_openpt: Fix compilation error.
9366         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
9367         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
9368         Mention the openpty module as an alternative.
9369
9370 2011-10-19  Bruno Haible  <bruno@clisp.org>
9371
9372         Support for old NeXTstep 3.3 frexp().
9373         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
9374         execution time of the test to 5 seconds.
9375         Reported by Daniel Richard G. <skunk@iskunk.org>.
9376
9377 2011-10-19  Bruno Haible  <bruno@clisp.org>
9378
9379         Support for old NeXTstep 3.3 sed.
9380         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
9381         part, use /.../, not \|...|. Escape periods in the header file name.
9382         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9383         Reported by Daniel Richard G. <skunk@iskunk.org>.
9384
9385 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
9386
9387         Support for old NeXTstep 3.3 gcc.
9388         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
9389         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
9390         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
9391         * lib/spawn.in.h (_Restrict_arr_): Likewise.
9392         * lib/regex.h (_Restrict_arr_): Likewise.
9393         * lib/regex_internal.h (re_token_t): Likewise.
9394         * lib/regexec.c (check_node_accept_bytes): Likewise.
9395         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
9396
9397 2011-10-18  Eric Blake  <eblake@redhat.com>
9398
9399         posix_openpt: new module
9400         * modules/posix_openpt: New module.
9401         * m4/posix_openpt.m4: New file.
9402         * lib/posix_openpt.c: Likewise.
9403         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9404         (gl_STDLIB_H_DEFAULTS): Set defaults.
9405         * modules/stdlib (Makefile.am): Substitute macros.
9406         * lib/stdlib.in.h (posix_openpt): Declare.
9407         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
9408         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
9409         * modules/posix_openpt-tests: New test module.
9410         * tests/test-posix_openpt.c: New test.
9411
9412 2011-10-15  Bruno Haible  <bruno@clisp.org>
9413
9414         xstrtoll: Fix compilation failure.
9415         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
9416         from lib/strtol.c.
9417         * doc/posix-headers/limits.texi: Mention missing numerical limits on
9418         some platforms.
9419         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9420
9421 2011-10-15  Bruno Haible  <bruno@clisp.org>
9422
9423         vasnprintf: Optimize bit search operation.
9424         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
9425         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
9426         gl_DOUBLE_EXPONENT_LOCATION.
9427         * modules/vasnprintf (Files): Add m4/exponentd.m4.
9428         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9429         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9430         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9431         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9432         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9433         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9434         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9435         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
9436
9437 2011-10-15  Bruno Haible  <bruno@clisp.org>
9438
9439         vasnprintf: Fix comments.
9440         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
9441
9442 2011-10-14  Bruno Haible  <bruno@clisp.org>
9443
9444         Tests for module 'integer_length_ll'.
9445         * modules/integer_length_ll-tests: New file.
9446         * tests/test-integer_length_ll.c: New file.
9447
9448         New module 'integer_length_ll'.
9449         * lib/integer_length_ll.c: New file.
9450         * modules/integer_length_ll: New file.
9451
9452 2011-10-14  Bruno Haible  <bruno@clisp.org>
9453
9454         Tests for module 'integer_length_l'.
9455         * modules/integer_length_l-tests: New file.
9456         * tests/test-integer_length_l.c: New file.
9457
9458         New module 'integer_length_l'.
9459         * lib/integer_length_l.c: New file.
9460         * modules/integer_length_l: New file.
9461
9462 2011-10-14  Bruno Haible  <bruno@clisp.org>
9463
9464         Tests for module 'integer_length'.
9465         * modules/integer_length-tests: New file.
9466         * tests/test-integer_length.c: New file.
9467
9468         New module 'integer_length'.
9469         * lib/integer_length.h: New file.
9470         * lib/integer_length.c: New file.
9471         * modules/integer_length: New file.
9472
9473 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
9474
9475         popen: Fix dependency conditions.
9476         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
9477
9478 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
9479
9480         perror: Fix autoconf test.
9481         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
9482         <stdlib.h> and <string.h>.
9483
9484 2011-10-14  Bruno Haible  <bruno@clisp.org>
9485
9486         ffsl: Optimize on 64-bit platforms.
9487         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
9488         unrolling.
9489
9490 2011-10-13  Bruno Haible  <bruno@clisp.org>
9491
9492         ffsl: Optimize on 32-bit platforms.
9493         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
9494         use ffs() without a loop.
9495
9496         ffsl, ffsll: Optimize for GCC.
9497         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
9498         * lib/ffsl.c (GCC_BUILTIN): New macro.
9499         * lib/ffsll.c (GCC_BUILTIN): Likewise.
9500
9501 2011-10-13  Bruno Haible  <bruno@clisp.org>
9502
9503         ffs, bcopy, memset: Support symbol renaming via config.h.
9504         * lib/ffs.c: Include <config.h>.
9505         * lib/bcopy.c: Likewise.
9506         * lib/memset.c: Likewise.
9507
9508 2011-10-10  Bruno Haible  <bruno@clisp.org>
9509
9510         atanl: Simplify for platforms where 'long double' == 'double'.
9511         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9512         alternative implementation.
9513         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9514         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9515         * modules/atanl (Depends-on): Add atan. Update conditions.
9516
9517 2011-10-10  Bruno Haible  <bruno@clisp.org>
9518
9519         acosl: Simplify for platforms where 'long double' == 'double'.
9520         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9521         alternative implementation.
9522         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9523         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9524         * modules/acosl (Depends-on): Add acos. Update conditions.
9525
9526 2011-10-10  Bruno Haible  <bruno@clisp.org>
9527
9528         asinl: Simplify for platforms where 'long double' == 'double'.
9529         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9530         alternative implementation.
9531         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9532         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9533         * modules/asinl (Depends-on): Add asin. Update conditions.
9534
9535 2011-10-10  Bruno Haible  <bruno@clisp.org>
9536
9537         tanl: Simplify for platforms where 'long double' == 'double'.
9538         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9539         implementation.
9540         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9541         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9542         * modules/tanl (Depends-on): Add tan. Update conditions.
9543         (configure.ac): Don't compile trigl.c if
9544         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9545
9546 2011-10-10  Bruno Haible  <bruno@clisp.org>
9547
9548         cosl: Simplify for platforms where 'long double' == 'double'.
9549         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9550         implementation.
9551         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9552         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9553         * modules/cosl (Depends-on): Add cos. Update conditions.
9554         (configure.ac): Don't compile sincosl.c and trigl.c if
9555         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9556
9557 2011-10-10  Bruno Haible  <bruno@clisp.org>
9558
9559         sinl: Simplify for platforms where 'long double' == 'double'.
9560         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9561         implementation.
9562         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9563         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9564         * modules/sinl (Depends-on): Add sin. Update conditions.
9565         (configure.ac): Don't compile sincosl.c and trigl.c if
9566         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9567
9568 2011-10-10  Bruno Haible  <bruno@clisp.org>
9569
9570         logl: Simplify for platforms where 'long double' == 'double'.
9571         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9572         implementation.
9573         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9574         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9575         * modules/logl (Depends-on): Add log. Update conditions.
9576
9577 2011-10-10  Bruno Haible  <bruno@clisp.org>
9578
9579         expl: Simplify for platforms where 'long double' == 'double'.
9580         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
9581         implementation.
9582         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9583         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9584         * modules/expl (Depends-on): Add exp. Update conditions.
9585
9586 2011-10-10  Bruno Haible  <bruno@clisp.org>
9587
9588         sqrtl: Simplify for platforms where 'long double' == 'double'.
9589         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9590         alternative implementation.
9591         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9592         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9593         * modules/sqrtl (Depends-on): Update conditions.
9594
9595 2011-10-10  Bruno Haible  <bruno@clisp.org>
9596
9597         ldexpl: Simplify for platforms where 'long double' == 'double'.
9598         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9599         alternative implementation.
9600         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9601         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9602         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
9603
9604 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
9605
9606         ffsll: set correct witness
9607         * modules/ffsll (configure.ac): Fix typo.
9608
9609 2011-10-10  Bruno Haible  <bruno@clisp.org>
9610
9611         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
9612         * lib/printf-frexpl.c: Include <config.h>.
9613         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9614         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
9615         second time.
9616         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
9617         gl_LONG_DOUBLE_VS_DOUBLE.
9618         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
9619         conditions.
9620
9621 2011-10-10  Bruno Haible  <bruno@clisp.org>
9622
9623         frexpl: Simplify for platforms where 'long double' == 'double'.
9624         * lib/frexpl.c: Include <config.h>.
9625         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9626         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9627         time.
9628         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9629         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9630         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
9631         * modules/frexpl (Depends-on): Add frexp. Update conditions.
9632         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
9633         conditions.
9634
9635 2011-10-10  Jim Meyering  <meyering@redhat.com>
9636
9637         test-renameat: don't leave behind a temporary file
9638         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
9639           ERROR: files left in build directory after distclean:
9640           ./gltests/test-renameat.too
9641           make[1]: *** [distcleancheck] Error 1
9642         Reported by Tom G. Christensen.
9643
9644 2011-10-09  Bruno Haible  <bruno@clisp.org>
9645
9646         rint: Determine RINT_LIBM correctly on AIX 7.
9647         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
9648         directly, not only through a function pointer. Also accept an optional
9649         4th argument with extra code.
9650         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
9651         rintf() call by gcc when optimizing.
9652
9653         mathfunc.m4: Refactor.
9654         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
9655         m4 variable.
9656
9657 2011-10-09  Bruno Haible  <bruno@clisp.org>
9658
9659         rintl: Simplify for platforms where 'long double' == 'double'.
9660         * lib/rintl.c: Include <config.h>.
9661         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9662         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9663         time.
9664         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9665         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9666         * modules/rintl (Depends-on): Add rint. Update conditions.
9667
9668 2011-10-09  Bruno Haible  <bruno@clisp.org>
9669
9670         roundl: Simplify for platforms where 'long double' == 'double'.
9671         * lib/roundl.c: Include <config.h>.
9672         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9673         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9674         time.
9675         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9676         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9677         * modules/roundl (Depends-on): Add round. Update conditions.
9678
9679 2011-10-09  Bruno Haible  <bruno@clisp.org>
9680
9681         truncl: Simplify for platforms where 'long double' == 'double'.
9682         * lib/truncl.c: Include <config.h>.
9683         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9684         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9685         time.
9686         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9687         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9688         * modules/truncl (Depends-on): Add trunc. Update conditions.
9689
9690 2011-10-09  Bruno Haible  <bruno@clisp.org>
9691
9692         ceill: Simplify for platforms where 'long double' == 'double'.
9693         * lib/ceill.c: Include <config.h>.
9694         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9695         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9696         time.
9697         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9698         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9699         * modules/ceill (Depends-on): Add ceil. Update conditions.
9700
9701 2011-10-09  Bruno Haible  <bruno@clisp.org>
9702
9703         floorl: Simplify for platforms where 'long double' == 'double'.
9704         * lib/floorl.c: Include <config.h>.
9705         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9706         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9707         time.
9708         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9709         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9710         * modules/floorl (Depends-on): Add floor. Update conditions.
9711
9712 2011-10-09  Bruno Haible  <bruno@clisp.org>
9713
9714         rint: Fix ordering constraints.
9715         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
9716         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
9717         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
9718
9719 2011-10-09  Bruno Haible  <bruno@clisp.org>
9720
9721         copysignl: Simplify for platforms where 'long double' == 'double'.
9722         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9723         alternative.
9724         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9725         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9726         * modules/copysignl (Depends-on): Add copysign. Update conditions.
9727
9728 2011-10-09  Bruno Haible  <bruno@clisp.org>
9729
9730         Tests for module 'rintl'.
9731         * modules/rintl-tests: New file.
9732         * tests/test-rintl.c: New file.
9733
9734         New module 'rintl'.
9735         * lib/math.in.h (rintl): New declaration.
9736         * lib/rintl.c: New file.
9737         * m4/rintl.m4: New file.
9738         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
9739         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
9740         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
9741         * modules/rintl: New file.
9742         * tests/test-math-c++.cc: Check the declaration of rintl.
9743         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9744         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
9745         * doc/posix-functions/rintl.texi: Mention the new module.
9746
9747 2011-10-09  Bruno Haible  <bruno@clisp.org>
9748
9749         Tests for module 'rintf'.
9750         * modules/rintf-tests: New file.
9751         * tests/test-rintf.c: New file.
9752
9753         New module 'rintf'.
9754         * lib/math.in.h (rintf): New declaration.
9755         * lib/rintf.c: New file.
9756         * m4/rintf.m4: New file.
9757         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
9758         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
9759         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
9760         * modules/rintf: New file.
9761         * tests/test-math-c++.cc: Check the declaration of rintf.
9762         * doc/posix-functions/rintf.texi: Mention the new module.
9763
9764 2011-10-09  Bruno Haible  <bruno@clisp.org>
9765
9766         rint: Support for MSVC.
9767         * lib/math.in.h (rint): New declaration.
9768         * lib/rint.c: New file.
9769         * m4/rint.m4: New file.
9770         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
9771         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
9772         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
9773         * modules/rint (Description): Fix.
9774         (Files): Add lib/rint.c, m4/rint.m4.
9775         (Depends-on): Add math.
9776         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
9777         gl_MATH_MODULE_INDICATOR.
9778         * tests/test-math-c++.cc: Check the declaration of rint.
9779         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9780         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
9781         * doc/posix-functions/rint.texi: Mention the replacement provided by
9782         the module.
9783
9784         rint tests: More tests.
9785         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
9786         minus-zero.h, infinity.h, nan.h.
9787         (main): Skip the test if the current rounding mode is not standard. Add
9788         tests for negative numbers, minus zero, infinity, NaN.
9789         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
9790         tests/nan.h.
9791         (Depends-on): Add isnand-nolibm.
9792
9793 2011-10-09  Bruno Haible  <bruno@clisp.org>
9794
9795         Tests for module 'copysignl'.
9796         * modules/copysignl-tests: New file.
9797         * tests/test-copysignl.c: New file.
9798
9799         New module 'copysignl'.
9800         * lib/math.in.h (copysignl): New declaration.
9801         * lib/copysignl.c: New file.
9802         * m4/copysignl.m4: New file.
9803         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
9804         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
9805         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
9806         HAVE_COPYSIGNL.
9807         * modules/copysignl: New file.
9808         * tests/test-math-c++.cc: Check the declaration of copysignl.
9809         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9810         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
9811         * doc/posix-functions/copysignl.texi: Mention the new module.
9812
9813 2011-10-09  Bruno Haible  <bruno@clisp.org>
9814
9815         Tests for module 'copysignf'.
9816         * modules/copysignf-tests: New file.
9817         * tests/test-copysignf.c: New file.
9818
9819         New module 'copysignf'.
9820         * lib/math.in.h (copysignf): New declaration.
9821         * lib/copysignf.c: New file.
9822         * m4/copysignf.m4: New file.
9823         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
9824         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
9825         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
9826         HAVE_COPYSIGNF.
9827         * modules/copysignf: New file.
9828         * tests/test-math-c++.cc: Check the declaration of copysignf.
9829         * doc/posix-functions/copysignf.texi: Mention the new module.
9830
9831 2011-10-09  Bruno Haible  <bruno@clisp.org>
9832
9833         Ensure that HAVE_* variables are set to 1 before they are set to 0.
9834         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
9835         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
9836         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9837         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
9838         gl_SIGNAL_H_DEFAULTS.
9839
9840 2011-10-09  Bruno Haible  <bruno@clisp.org>
9841
9842         poll: Make macro safer.
9843         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
9844         ac_cv_header_poll_h is not set.
9845
9846 2011-10-09  Bruno Haible  <bruno@clisp.org>
9847
9848         copysign: Provide replacement.
9849         * lib/math.in.h (copysign): New declaration.
9850         * lib/copysign.c: New file.
9851         * m4/copysign.m4: New file.
9852         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
9853         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
9854         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
9855         HAVE_COPYSIGN.
9856         * modules/copysign (Description): Clarify.
9857         (Files): Add lib/copysign.c, m4/copysign.m4.
9858         (Depends-on): Add math, signbit.
9859         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
9860         gl_MATH_MODULE_INDICATOR.
9861         * tests/test-math-c++.cc: Check the declaration of copysign.
9862         * doc/posix-functions/copysign.texi: Mention the effects of the module
9863         on Minix and MSVC.
9864
9865 2011-10-09  Bruno Haible  <bruno@clisp.org>
9866
9867         isinf: Ensure macro on AIX 5.1.
9868         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
9869         macro.
9870         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
9871
9872 2011-10-09  Bruno Haible  <bruno@clisp.org>
9873
9874         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
9875         * modules/snprintf-posix-tests (configure.ac): Require
9876         gl_LONG_DOUBLE_VS_DOUBLE.
9877         * modules/sprintf-posix-tests (configure.ac): Likewise.
9878         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
9879         * modules/vasprintf-posix-tests (configure.ac): Likewise.
9880         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
9881         * modules/vsprintf-posix-tests (configure.ac): Likewise.
9882         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
9883         tests on platforms where 'long double' is the same as 'double'.
9884         * tests/test-sprintf-posix.h (test_function): Likewise.
9885         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9886         * tests/test-vasprintf-posix.c (test_function): Likewise.
9887
9888         *printf: Fix for platforms where 'long double' == 'double'.
9889         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
9890         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
9891         * modules/dprintf-posix (Files): Add m4/math_h.m4.
9892         * modules/fprintf-posix (Files): Likewise.
9893         * modules/obstack-printf-posix (Files): Likewise.
9894         * modules/snprintf-posix (Files): Likewise.
9895         * modules/sprintf-posix (Files): Likewise.
9896         * modules/vasnprintf (Files): Likewise.
9897         * modules/vasnprintf-posix (Files): Likewise.
9898         * modules/vasprintf-posix (Files): Likewise.
9899         * modules/vdprintf-posix (Files): Likewise.
9900         * modules/vfprintf-posix (Files): Likewise.
9901         * modules/vsnprintf-posix (Files): Likewise.
9902         * modules/vsprintf-posix (Files): Likewise.
9903         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9904         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9905         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9906         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9907         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9908         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9909         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9910
9911         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
9912         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
9913         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9914         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
9915         'long double'.
9916         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
9917
9918         isinf: Fix for platforms where 'long double' == 'double'.
9919         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9920         Don't blindly assume 80-bit 'long double'.
9921
9922         isfinite: Fix for platforms where 'long double' == 'double'.
9923         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9924         Don't blindly assume 80-bit 'long double'.
9925
9926         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
9927         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
9928         * modules/isfinite-tests (configure.ac): Require
9929         gl_LONG_DOUBLE_VS_DOUBLE.
9930         * modules/isinf-tests (configure.ac): Likewise.
9931         * modules/isnan-tests (configure.ac): Likewise.
9932         * modules/isnanl-tests (configure.ac): Likewise.
9933         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
9934         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
9935         tests on platforms where 'long double' is the same as 'double'.
9936         * tests/test-isinf.c (test_isinfl): Likewise.
9937         * tests/test-isnan.c (test_long_double): Likewise.
9938         * tests/test-isnanl.h (main): Likewise.
9939
9940 2011-10-08  Bruno Haible  <bruno@clisp.org>
9941
9942         Tests for module 'tanhf'.
9943         * modules/tanhf-tests: New file.
9944         * tests/test-tanhf.c: New file.
9945
9946         New module 'tanhf'.
9947         * lib/math.in.h (tanhf): New declaration.
9948         * lib/tanhf.c: New file.
9949         * m4/tanhf.m4: New file.
9950         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
9951         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
9952         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
9953         * modules/tanhf: New file.
9954         * tests/test-math-c++.cc: Check the declaration of tanhf.
9955         * doc/posix-functions/tanhf.texi: Mention the new module.
9956
9957         tanh: Use a .m4 file.
9958         * m4/tanh.m4: New file.
9959         * modules/tanh (Files): Add it.
9960         (configure.ac): Just invoke gl_FUNC_TANH.
9961
9962 2011-10-08  Bruno Haible  <bruno@clisp.org>
9963
9964         Tests for module 'coshf'.
9965         * modules/coshf-tests: New file.
9966         * tests/test-coshf.c: New file.
9967
9968         New module 'coshf'.
9969         * lib/math.in.h (coshf): New declaration.
9970         * lib/coshf.c: New file.
9971         * m4/coshf.m4: New file.
9972         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
9973         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
9974         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
9975         * modules/coshf: New file.
9976         * tests/test-math-c++.cc: Check the declaration of coshf.
9977         * doc/posix-functions/coshf.texi: Mention the new module.
9978
9979         cosh: Use a .m4 file.
9980         * m4/cosh.m4: New file.
9981         * modules/cosh (Files): Add it.
9982         (configure.ac): Just invoke gl_FUNC_COSH.
9983
9984 2011-10-08  Bruno Haible  <bruno@clisp.org>
9985
9986         Tests for module 'sinhf'.
9987         * modules/sinhf-tests: New file.
9988         * tests/test-sinhf.c: New file.
9989
9990         New module 'sinhf'.
9991         * lib/math.in.h (sinhf): New declaration.
9992         * lib/sinhf.c: New file.
9993         * m4/sinhf.m4: New file.
9994         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
9995         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
9996         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
9997         * modules/sinhf: New file.
9998         * tests/test-math-c++.cc: Check the declaration of sinhf.
9999         * doc/posix-functions/sinhf.texi: Mention the new module.
10000
10001         sinh: Use a .m4 file.
10002         * m4/sinh.m4: New file.
10003         * modules/sinh (Files): Add it.
10004         (configure.ac): Just invoke gl_FUNC_SINH.
10005
10006 2011-10-08  Bruno Haible  <bruno@clisp.org>
10007
10008         Tests for module 'atan2f'.
10009         * modules/atan2f-tests: New file.
10010         * tests/test-atan2f.c: New file.
10011
10012         New module 'atan2f'.
10013         * lib/math.in.h (atan2f): New declaration.
10014         * lib/atan2f.c: New file.
10015         * m4/atan2f.m4: New file.
10016         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
10017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
10018         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
10019         * modules/atan2f: New file.
10020         * tests/test-math-c++.cc: Check the declaration of atan2f.
10021         * doc/posix-functions/atan2f.texi: Mention the new module.
10022
10023         atan2: Use a .m4 file.
10024         * m4/atan2.m4: New file.
10025         * modules/atan2 (Files): Add it.
10026         (configure.ac): Just invoke gl_FUNC_ATAN2.
10027
10028 2011-10-08  Bruno Haible  <bruno@clisp.org>
10029
10030         Tests for module 'atanf'.
10031         * modules/atanf-tests: New file.
10032         * tests/test-atanf.c: New file.
10033
10034         New module 'atanf'.
10035         * lib/math.in.h (atanf): New declaration.
10036         * lib/atanf.c: New file.
10037         * m4/atanf.m4: New file.
10038         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
10039         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
10040         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
10041         * modules/atanf: New file.
10042         * tests/test-math-c++.cc: Check the declaration of atanf.
10043         * doc/posix-functions/atanf.texi: Mention the new module.
10044
10045         atan: Use a .m4 file.
10046         * m4/atan.m4: New file.
10047         * modules/atan (Files): Add it.
10048         (configure.ac): Just invoke gl_FUNC_ATAN.
10049
10050 2011-10-08  Bruno Haible  <bruno@clisp.org>
10051
10052         Tests for module 'acosf'.
10053         * modules/acosf-tests: New file.
10054         * tests/test-acosf.c: New file.
10055
10056         New module 'acosf'.
10057         * lib/math.in.h (acosf): New declaration.
10058         * lib/acosf.c: New file.
10059         * m4/acosf.m4: New file.
10060         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
10061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
10062         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
10063         * modules/acosf: New file.
10064         * tests/test-math-c++.cc: Check the declaration of acosf.
10065         * doc/posix-functions/acosf.texi: Mention the new module.
10066
10067         acos: Use a .m4 file.
10068         * m4/acos.m4: New file.
10069         * modules/acos (Files): Add it.
10070         (configure.ac): Just invoke gl_FUNC_ACOS.
10071
10072 2011-10-08  Bruno Haible  <bruno@clisp.org>
10073
10074         Tests for module 'asinf'.
10075         * modules/asinf-tests: New file.
10076         * tests/test-asinf.c: New file.
10077
10078         New module 'asinf'.
10079         * lib/math.in.h (asinf): New declaration.
10080         * lib/asinf.c: New file.
10081         * m4/asinf.m4: New file.
10082         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
10083         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
10084         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
10085         * modules/asinf: New file.
10086         * tests/test-math-c++.cc: Check the declaration of asinf.
10087         * doc/posix-functions/asinf.texi: Mention the new module.
10088
10089         asin: Use a .m4 file.
10090         * m4/asin.m4: New file.
10091         * modules/asin (Files): Add it.
10092         (configure.ac): Just invoke gl_FUNC_ASIN.
10093
10094 2011-10-08  Bruno Haible  <bruno@clisp.org>
10095
10096         Tests for module 'tanf'.
10097         * modules/tanf-tests: New file.
10098         * tests/test-tanf.c: New file.
10099
10100         New module 'tanf'.
10101         * lib/math.in.h (tanf): New declaration.
10102         * lib/tanf.c: New file.
10103         * m4/tanf.m4: New file.
10104         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
10105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
10106         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
10107         * modules/tanf: New file.
10108         * tests/test-math-c++.cc: Check the declaration of tanf.
10109         * doc/posix-functions/tanf.texi: Mention the new module.
10110
10111         tan: Use a .m4 file.
10112         * m4/tan.m4: New file.
10113         * modules/tan (Files): Add it.
10114         (configure.ac): Just invoke gl_FUNC_TAN.
10115
10116 2011-10-08  Bruno Haible  <bruno@clisp.org>
10117
10118         Tests for module 'cosf'.
10119         * modules/cosf-tests: New file.
10120         * tests/test-cosf.c: New file.
10121
10122         New module 'cosf'.
10123         * lib/math.in.h (cosf): New declaration.
10124         * lib/cosf.c: New file.
10125         * m4/cosf.m4: New file.
10126         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
10127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
10128         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
10129         * modules/cosf: New file.
10130         * tests/test-math-c++.cc: Check the declaration of cosf.
10131         * doc/posix-functions/cosf.texi: Mention the new module.
10132
10133         cos: Use a .m4 file.
10134         * m4/cos.m4: New file.
10135         * modules/cos (Files): Add it.
10136         (configure.ac): Just invoke gl_FUNC_COS.
10137
10138 2011-10-08  Bruno Haible  <bruno@clisp.org>
10139
10140         Tests for module 'sinf'.
10141         * modules/sinf-tests: New file.
10142         * tests/test-sinf.c: New file.
10143
10144         New module 'sinf'.
10145         * lib/math.in.h (sinf): New declaration.
10146         * lib/sinf.c: New file.
10147         * m4/sinf.m4: New file.
10148         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
10149         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
10150         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
10151         * modules/sinf: New file.
10152         * tests/test-math-c++.cc: Check the declaration of sinf.
10153         * doc/posix-functions/sinf.texi: Mention the new module.
10154
10155         sin: Use a .m4 file.
10156         * m4/sin.m4: New file.
10157         * modules/sin (Files): Add it.
10158         (configure.ac): Just invoke gl_FUNC_SIN.
10159
10160 2011-10-08  Bruno Haible  <bruno@clisp.org>
10161
10162         Tests for module 'powf'.
10163         * modules/powf-tests: New file.
10164         * tests/test-powf.c: New file.
10165
10166         New module 'powf'.
10167         * lib/math.in.h (powf): New declaration.
10168         * lib/powf.c: New file.
10169         * m4/powf.m4: New file.
10170         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
10171         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
10172         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
10173         * modules/powf: New file.
10174         * tests/test-math-c++.cc: Check the declaration of powf.
10175         * doc/posix-functions/powf.texi: Mention the new module.
10176
10177         pow: Use a .m4 file.
10178         * m4/pow.m4: New file.
10179         * modules/pow (Files): Add it.
10180         (configure.ac): Just invoke gl_FUNC_POW.
10181
10182 2011-10-08  Bruno Haible  <bruno@clisp.org>
10183
10184         Tests for module 'log10f'.
10185         * modules/log10f-tests: New file.
10186         * tests/test-log10f.c: New file.
10187
10188         New module 'log10f'.
10189         * lib/math.in.h (log10f): New declaration.
10190         * lib/log10f.c: New file.
10191         * m4/log10f.m4: New file.
10192         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
10193         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
10194         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
10195         * modules/log10f: New file.
10196         * tests/test-math-c++.cc: Check the declaration of log10f.
10197         * doc/posix-functions/log10f.texi: Mention the new module.
10198
10199         log10: Use a .m4 file.
10200         * m4/log10.m4: New file.
10201         * modules/log10 (Files): Add it.
10202         (configure.ac): Just invoke gl_FUNC_LOG10.
10203
10204 2011-10-08  Bruno Haible  <bruno@clisp.org>
10205
10206         Tests for module 'logf'.
10207         * modules/logf-tests: New file.
10208         * tests/test-logf.c: New file.
10209
10210         New module 'logf'.
10211         * lib/math.in.h (logf): New declaration.
10212         * lib/logf.c: New file.
10213         * m4/logf.m4: New file.
10214         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
10215         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
10216         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
10217         * modules/logf: New file.
10218         * tests/test-math-c++.cc: Check the declaration of logf.
10219         * doc/posix-functions/logf.texi: Mention the new module.
10220
10221         log: Use a .m4 file.
10222         * m4/log.m4: New file.
10223         * modules/log (Files): Add it.
10224         (configure.ac): Just invoke gl_FUNC_LOG.
10225
10226 2011-10-08  Bruno Haible  <bruno@clisp.org>
10227
10228         Tests for module 'expf'.
10229         * modules/expf-tests: New file.
10230         * tests/test-expf.c: New file.
10231
10232         New module 'expf'.
10233         * lib/math.in.h (expf): New declaration.
10234         * lib/expf.c: New file.
10235         * m4/expf.m4: New file.
10236         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
10237         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
10238         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
10239         * modules/expf: New file.
10240         * tests/test-math-c++.cc: Check the declaration of expf.
10241         * doc/posix-functions/expf.texi: Mention the new module.
10242
10243         exp: Use a .m4 file.
10244         * m4/exp.m4: New file.
10245         * modules/exp (Files): Add it.
10246         (configure.ac): Just invoke gl_FUNC_EXP.
10247
10248 2011-10-08  Bruno Haible  <bruno@clisp.org>
10249
10250         Tests for module 'sqrtf'.
10251         * modules/sqrtf-tests: New file.
10252         * tests/test-sqrtf.c: New file.
10253
10254         New module 'sqrtf'.
10255         * lib/math.in.h (sqrtf): New declaration.
10256         * lib/sqrtf.c: New file.
10257         * m4/sqrtf.m4: New file.
10258         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
10259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
10260         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
10261         * modules/sqrtf: New file.
10262         * tests/test-math-c++.cc: Check the declaration of sqrtf.
10263         * doc/posix-functions/sqrtf.texi: Mention the new module.
10264
10265 2011-10-08  Bruno Haible  <bruno@clisp.org>
10266
10267         Tests: Avoid link failures w.r.t. libintl.
10268         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
10269         $(LIBINTL).
10270         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
10271         $(LIBINTL).
10272         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
10273         against $(LIBINTL).
10274         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
10275         $(LIBINTL).
10276         * modules/openat-tests (Makefile.am): Link test-fchmodat against
10277         $(LIBINTL).
10278         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
10279
10280 2011-10-08  Bruno Haible  <bruno@clisp.org>
10281
10282         pow tests: Defeat compiler optimizations.
10283         * tests/test-pow.c (main): Assign arguments to x and y before use.
10284
10285 2011-10-08  Bruno Haible  <bruno@clisp.org>
10286
10287         gnulib-tool: Improve last commit.
10288         * gnulib-tool (func_modules_transitive_closure): Simplify code.
10289         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
10290         ignore dependencies that are not among the modules list.
10291
10292 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
10293
10294         gnulib-tool: don't follow dependencies to avoided modules
10295         This fixes a bug that is related to the previous one.
10296         * gnulib-tool (func_modules_transitive_closure)
10297         (func_emit_autoconf_snippets):
10298         Check whether a dependency is acceptable before using it.
10299         (--extract-dependencies): Report an error if --avoid is also used,
10300         since this combination of options is not yet supported.
10301
10302         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
10303         Problem reported by Peter Dyballa in
10304         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
10305         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
10306         when echoing "$condition".
10307
10308 2011-10-07  Bruno Haible  <bruno@clisp.org>
10309
10310         Fix documentation about math functions on MacOS X.
10311         * doc/posix-functions/exp2.texi: Don't say the function is missing on
10312         MacOS X 10.5.
10313         * doc/posix-functions/fdim.texi: Likewise.
10314         * doc/posix-functions/feclearexcept.texi: Likewise.
10315         * doc/posix-functions/fegetenv.texi: Likewise.
10316         * doc/posix-functions/fegetround.texi: Likewise.
10317         * doc/posix-functions/feholdexcept.texi: Likewise.
10318         * doc/posix-functions/feraiseexcept.texi: Likewise.
10319         * doc/posix-functions/fesetenv.texi: Likewise.
10320         * doc/posix-functions/fesetround.texi: Likewise.
10321         * doc/posix-functions/fetestexcept.texi: Likewise.
10322         * doc/posix-functions/feupdateenv.texi: Likewise.
10323         * doc/posix-functions/fmax.texi: Likewise.
10324         * doc/posix-functions/fmin.texi: Likewise.
10325         * doc/posix-functions/log2.texi: Likewise.
10326         * doc/posix-functions/modff.texi: Likewise.
10327         * doc/posix-functions/nan.texi: Likewise.
10328         * doc/posix-functions/nanf.texi: Likewise.
10329         * doc/posix-functions/nextafterf.texi: Likewise.
10330         * doc/posix-functions/remquo.texi: Likewise.
10331
10332 2011-10-07  Bruno Haible  <bruno@clisp.org>
10333
10334         modff: Drop assumption about library that defines modff.
10335         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
10336         AC_CHECK_FUNCS.
10337         * modules/modff (Files): Add m4/mathfunc.m4.
10338
10339 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
10340
10341         raise tests: Avoid a GCC warning.
10342         * tests/test-raise.c (handler): Use _Noreturn.
10343
10344 2011-10-07  Bruno Haible  <bruno@clisp.org>
10345
10346         Tests for module 'ldexpf'.
10347         * modules/ldexpf-tests: New file.
10348         * tests/test-ldexpf.c: New file.
10349
10350         New module 'ldexpf'.
10351         * lib/math.in.h (ldexpf): New declaration.
10352         * lib/ldexpf.c: New file.
10353         * m4/ldexpf.m4: New file.
10354         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
10355         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
10356         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
10357         * modules/ldexpf: New file.
10358         * tests/test-math-c++.cc: Check the declaration of ldexpf.
10359         * doc/posix-functions/ldexpf.texi: Mention the new module.
10360
10361 2011-10-06  Bruno Haible  <bruno@clisp.org>
10362
10363         frexpf: Work around problems on IRIX and mingw.
10364         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
10365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
10366         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
10367         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
10368         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
10369         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
10370         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
10371
10372 2011-10-06  Bruno Haible  <bruno@clisp.org>
10373
10374         fabsf: Drop assumption about library that defines fabsf.
10375         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
10376         AC_CHECK_FUNCS.
10377         * modules/fabsf (Files): Add m4/mathfunc.m4.
10378
10379 2011-10-06  Bruno Haible  <bruno@clisp.org>
10380
10381         frexpf: Drop assumption about library that defines frexpf.
10382         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
10383         'int *', 'float *', 'long double *', 'float', 'long double'.
10384         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
10385         AC_CHECK_FUNCS.
10386         * modules/frexpf (Files): Add m4/mathfunc.m4.
10387
10388         Tests for module 'frexpf'.
10389         * modules/frexpf-tests: New file.
10390         * tests/test-frexpf.c: New file.
10391
10392         New module 'frexpf'.
10393         * lib/math.in.h (frexpf): New declaration.
10394         * lib/frexpf.c: New file.
10395         * m4/frexpf.m4: New file.
10396         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
10397         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
10398         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
10399         * modules/frexpf: New file.
10400         * tests/test-math-c++.cc: Check the declaration of frexpf.
10401         * doc/posix-functions/frexpf.texi: Mention the new module.
10402
10403 2011-10-06  Bruno Haible  <bruno@clisp.org>
10404
10405         math: Sort function declarations of math.in.h.
10406         * lib/math.in.h (frexp, logb): Move declarations.
10407
10408 2011-10-05  Bruno Haible  <bruno@clisp.org>
10409
10410         Tests for module 'modff'.
10411         * modules/modff-tests: New file.
10412         * tests/test-modff.c: New file.
10413
10414         New module 'modff'.
10415         * lib/math.in.h (modff): New declaration.
10416         * lib/modff.c: New file.
10417         * m4/modff.m4: New file.
10418         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
10419         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
10420         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
10421         * modules/modff: New file.
10422         * tests/test-math-c++.cc: Check the declaration of modff.
10423         * doc/posix-functions/modff.texi: Mention the new module.
10424
10425         modf tests: Make test sharper.
10426         * tests/test-modf.c (main): Strengthen upper bound.
10427
10428         modf: Use a .m4 file.
10429         * m4/modf.m4: New file.
10430         * modules/modf (Files): Add it.
10431         (configure.ac): Just invoke gl_FUNC_MODF.
10432
10433 2011-10-05  Bruno Haible  <bruno@clisp.org>
10434
10435         Tests for module 'fmodf'.
10436         * modules/fmodf-tests: New file.
10437         * tests/test-fmodf.c: New file.
10438
10439         New module 'fmodf'.
10440         * lib/math.in.h (fmodf): New declaration.
10441         * lib/fmodf.c: New file.
10442         * m4/fmodf.m4: New file.
10443         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
10444         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
10445         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
10446         * modules/fmodf: New file.
10447         * tests/test-math-c++.cc: Check the declaration of fmodf.
10448         * doc/posix-functions/fmodf.texi: Mention the new module.
10449
10450         fmod: Use a .m4 file.
10451         * m4/fmod.m4: New file.
10452         * modules/fmod (Files): Add it.
10453         (configure.ac): Just invoke gl_FUNC_FMOD.
10454
10455 2011-10-05  Bruno Haible  <bruno@clisp.org>
10456
10457         Tests for module 'fabsf'.
10458         * modules/fabsf-tests: New file.
10459         * tests/test-fabsf.c: New file.
10460
10461         New module 'fabsf'.
10462         * lib/math.in.h (fabsf): New declaration.
10463         * lib/fabsf.c: New file.
10464         * m4/fabsf.m4: New file.
10465         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
10466         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
10467         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
10468         * modules/fabsf: New file.
10469         * tests/test-math-c++.cc: Check the declaration of fabsf.
10470         * doc/posix-functions/fabsf.texi: Mention the new module.
10471
10472         fabs: Use a .m4 file.
10473         * m4/fabs.m4: New file.
10474         * modules/fabs (Files): Add it.
10475         (configure.ac): Just invoke gl_FUNC_FABS.
10476
10477 2011-10-05  Jim Meyering  <meyering@redhat.com>
10478
10479         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
10480         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
10481         ls -lL regression introduced in coreutils-8.12, it does so at the
10482         cost of an additional stat call in the common case.  Besides, now
10483         that the kernel change that prompted commit 95f7c57f has been reverted
10484         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
10485         we have no use for commit 95f7c57f, "file-has-acl: use
10486         acl_extended_file_nofollow if available".
10487
10488 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
10489
10490         file-has-acl: revert unintended change in behavior of ls -L
10491         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
10492         derived from...
10493         (file_has_acl): ...code here.  Call it.
10494         This problem was introduced with 2011-07-22 commit 95f7c57f,
10495         "file-has-acl: use acl_extended_file_nofollow if available".
10496         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
10497
10498 2011-10-03  Bruno Haible  <bruno@clisp.org>
10499
10500         poll: Avoid link errors on MSVC.
10501         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
10502         * modules/poll (Depends-on): Add sockets.
10503         (Link): New section.
10504         * NEWS: Mention the change.
10505         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
10506         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
10507         $(LIB_POLL) instead of $(LIBSOCKET).
10508
10509 2011-10-03  Bruno Haible  <bruno@clisp.org>
10510
10511         sys_select tests: Fix link error on MSVC 9.
10512         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
10513         with $(LIB_SELECT) instead of $(LIBSOCKET).
10514
10515 2011-10-03  Bruno Haible  <bruno@clisp.org>
10516
10517         sys_select: Fix compilation error on mingw.
10518         * lib/sys_select.in.h: On native Windows, include <io.h>.
10519
10520 2011-10-03  Bruno Haible  <bruno@clisp.org>
10521
10522         wmemset: Support for MSVC.
10523         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
10524         whether wmemset() exists.
10525
10526 2011-10-03  Bruno Haible  <bruno@clisp.org>
10527
10528         wmemmove: Support for MSVC.
10529         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
10530         whether wmemmove() exists.
10531
10532 2011-10-03  Bruno Haible  <bruno@clisp.org>
10533
10534         wmemcpy: Support for MSVC.
10535         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
10536         whether wmemcpy() exists.
10537
10538 2011-10-03  Bruno Haible  <bruno@clisp.org>
10539
10540         wmemcmp: Support for MSVC.
10541         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
10542         whether wmemcmp() exists.
10543
10544 2011-10-03  Bruno Haible  <bruno@clisp.org>
10545
10546         wmemchr: Support for MSVC.
10547         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
10548         whether wmemchr() exists.
10549
10550 2011-10-03  Bruno Haible  <bruno@clisp.org>
10551
10552         glthread/*, strsignal: Support for MSVC.
10553         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
10554         including <winsock.h> on MSVC 9.
10555         * lib/glthread/lock.h: Likewise.
10556         * lib/glthread/thread.h: Likewise.
10557         * lib/glthread/tls.h: Likewise.
10558         * lib/glthread/yield.h: Likewise.
10559         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
10560         if HAVE_UNISTD_H is false.
10561         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
10562
10563 2011-10-03  Bruno Haible  <bruno@clisp.org>
10564
10565         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
10566         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
10567         Set to 100000.
10568
10569 2011-10-03  Bruno Haible  <bruno@clisp.org>
10570
10571         acl: Fix specification.
10572         * lib/file-has-acl.c (file_has_acl): Fix specification.
10573
10574 2011-10-03  Bruno Haible  <bruno@clisp.org>
10575
10576         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
10577         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
10578         (compute_curr_prefix, shared_library_fullname,
10579         find_shared_library_fullname, get_shared_library_fullname, relocate):
10580         Use it together with PIC && INSTALLDIR.
10581         Reported by <jojelino@gmail.com>
10582         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
10583
10584 2011-10-01  Jim Meyering  <meyering@redhat.com>
10585
10586         maint.mk: adjust a release-related rule not to require use of gzip
10587         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
10588         Instead, check each file in $(DIST_ARCHIVES).  This is better for
10589         projects that build only .tar.xz files.  Also fix an erroneous test.
10590
10591         test-linkat: don't leave behind a temporary file
10592         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
10593         Otherwise, coreutils' "make distcheck" would fail with this:
10594           Only in /c/cu/tests/torture/coreutils/test/\
10595             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
10596           make[2]: *** [my-distcheck] Error 1
10597
10598         float, math: add omitted file
10599         * lib/itold.c: Add file, required for yesterday's float change.
10600
10601 2011-10-01  Bruno Haible  <bruno@clisp.org>
10602
10603         isinf: Fix for OpenBSD/x86.
10604         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
10605         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
10606         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
10607
10608 2011-10-01  Bruno Haible  <bruno@clisp.org>
10609
10610         isfinite: Fix syntax error in configure test.
10611         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
10612
10613         isfinite: Fix typo.
10614         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
10615         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
10616
10617 2011-10-01  Bruno Haible  <bruno@clisp.org>
10618
10619         nonblocking tests: Fix test failure on Linux/IA-64.
10620         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
10621         Set to 270000.
10622
10623 2011-10-01  Bruno Haible  <bruno@clisp.org>
10624
10625         mkfifoat tests: Fix a test failure on mingw.
10626         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
10627         with error ENOSYS.
10628
10629 2011-09-30  Bruno Haible  <bruno@clisp.org>
10630
10631         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
10632         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
10633         'long double'. Set REPLACE_ITOLD.
10634         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
10635         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
10636         * lib/itold.c: New file.
10637         * modules/float (Files): Add lib/itold.c.
10638         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
10639         (Makefile.am): Substitute REPLACE_ITOLD.
10640         * modules/math (Depends-on): Add float.
10641         (Makefile.am): Substitute REPLACE_ITOLD.
10642         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
10643         * doc/posix-headers/math.texi: Likewise.
10644         * doc/posix-functions/logl.texi: Likewise.
10645
10646 2011-09-30  Bruno Haible  <bruno@clisp.org>
10647
10648         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
10649         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
10650         Set to 140000.
10651
10652 2011-09-30  Bruno Haible  <bruno@clisp.org>
10653
10654         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
10655         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
10656         invocation, say "right after AC_PROG_CC_STDC", not "right after
10657         AC_PROG_CC".
10658         Reported by Gary V. Vaughan <gary@gnu.org>.
10659
10660 2011-09-30  Bruno Haible  <bruno@clisp.org>
10661
10662         Centralize C99 requirement.
10663         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
10664         * modules/stdarg (configure.ac-early): Invoke it instead of
10665         AC_PROG_CC_STDC.
10666         Reported by Gary V. Vaughan and Paul Eggert.
10667
10668 2011-09-29  Bruno Haible  <bruno@clisp.org>
10669
10670         float: Fix LDBL_MAX value on Linux/PowerPC.
10671         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
10672         on Linux/PowerPC.
10673         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
10674         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
10675         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
10676         platform.
10677         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
10678
10679 2011-09-29  Bruno Haible  <bruno@clisp.org>
10680
10681         doc: Improve doc about gl_EARLY.
10682         * doc/gnulib-tool.texi (Initial import): Mention where to place an
10683         AC_PROG_CC_STDC invocation.
10684         Reported by Gary V. Vaughan <gary@gnu.org>.
10685
10686 2011-09-28  Bruno Haible  <bruno@clisp.org>
10687
10688         fgetc, fputc, fread, fwrite tests: Fix link error.
10689         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
10690         on non-MSVC platforms.
10691         * tests/test-fputc.c (main): Likewise.
10692         * tests/test-fread.c (main): Likewise.
10693         * tests/test-fwrite.c (main): Likewise.
10694         Reported by Jim Meyering.
10695
10696 2011-09-27  Bruno Haible  <bruno@clisp.org>
10697
10698         fputc, fwrite tests: Avoid test failure on MSVC.
10699         * tests/test-fgetc.c: Include msvc-inval.h.
10700         (main): Invoke gl_msvc_inval_ensure_handler.
10701         * tests/test-fputc.c: Include msvc-inval.h.
10702         (main): Invoke gl_msvc_inval_ensure_handler.
10703         * tests/test-fread.c: Include msvc-inval.h.
10704         (main): Invoke gl_msvc_inval_ensure_handler.
10705         * tests/test-fwrite.c: Include msvc-inval.h.
10706         (main): Invoke gl_msvc_inval_ensure_handler.
10707         * modules/fgetc-tests (Depends-on): Add msvc-inval.
10708         * modules/fputc-tests (Depends-on): Likewise.
10709         * modules/fread-tests (Depends-on): Likewise.
10710         * modules/fwrite-tests (Depends-on): Likewise.
10711
10712 2011-09-27  Bruno Haible  <bruno@clisp.org>
10713
10714         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
10715         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
10716         (raise): Remove older, duplicated declaration.
10717         (_gl_raise_SIGPIPE): New declaration.
10718         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
10719         (rpl_raise): Remove function.
10720         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
10721         a gnulib-defined SIGPIPE here.
10722         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
10723         'sigprocmask' has detected missing signal-blocking and the module
10724         'sigpipe' is enabled.
10725         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10726
10727 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
10728
10729         base64-tests: avoid memory leak
10730         * tests/test-base64.c (main): Plug memory leak.
10731
10732         base32: new module
10733         * modules/base32: New module.
10734         * lib/base32.c: New file.
10735         * lib/base32.h: Likewise.
10736         * m4/base32.m4: Likewise.
10737         * modules/base32-tests: New test.
10738         * tests/test-base32.c: Likewise.
10739         * MODULES.html.sh (Misc): Mention it.
10740
10741 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10742
10743         gnulib: use more-standard license notice wording
10744         * gnulib-tool (func_emit_copyright_notice): When emitting a
10745         license notice into a file, use the standard wording as suggested
10746         by the current information for GNU maintainers, except say "file"
10747         rather than "program".  The new wording gives a license version
10748         number, which addresses an issue raised by Glenn Morris in
10749         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
10750         * m4/onceonly.m4: Use that same wording here, too.
10751
10752         dup2: minor simplification
10753         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
10754         as lib/dup2.c no longer uses 'inline'.
10755
10756 2011-09-25  Bruno Haible  <bruno@clisp.org>
10757
10758         strings: Fix compilation error on MSVC.
10759         * lib/strings.in.h: Include <stddef.h> for size_t.
10760
10761 2011-09-25  Bruno Haible  <bruno@clisp.org>
10762
10763         fflush et al.: Document limitation on MSVC.
10764         * doc/posix-functions/fflush.texi: Document possible crash in handling
10765         mode other than DEFAULT_HANDLING.
10766         * doc/posix-functions/fgetc.texi: Likewise.
10767         * doc/posix-functions/fputc.texi: Likewise.
10768         * doc/posix-functions/fread.texi: Likewise.
10769         * doc/posix-functions/fwrite.texi: Likewise.
10770
10771 2011-09-25  Bruno Haible  <bruno@clisp.org>
10772
10773         msvc-inval: Allow three invalid parameter handling modes.
10774         * lib/msvc-inval.h: Don't include <stdlib.h> here.
10775         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
10776         macros.
10777         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
10778         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
10779         SANE_LIBRARY_HANDLING as a no-op.
10780         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
10781         <stdlib.h>.
10782         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
10783
10784 2011-09-25  Bruno Haible  <bruno@clisp.org>
10785
10786         msvc-inval: Make handler multithread-safe.
10787         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
10788         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
10789         declarations.
10790         (gl_msvc_inval_current): New declaration.
10791         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10792         Operate on the structure returned by gl_msvc_inval_current().
10793         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
10794         Remove varaiables.
10795         (tls_index, tls_initialized): New variables.
10796         (not_per_thread): New variable.
10797         (gl_msvc_inval_current): New function.
10798         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
10799         returned by gl_msvc_inval_current().
10800
10801 2011-09-25  Bruno Haible  <bruno@clisp.org>
10802
10803         msvc-inval: Install handler globally.
10804         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
10805         !_MSC_VER.
10806         (gl_msvc_invalid_parameter_handler): Remove declaration.
10807         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
10808         declarations.
10809         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10810         Install the handler globally, don't uninstall it.
10811         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
10812         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
10813         currently valid, call RaiseException instead.
10814         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
10815         for !_MSC_VER.
10816
10817 2011-09-25  Bruno Haible  <bruno@clisp.org>
10818
10819         strerror_r-posix: Fix for MSVC 9.
10820         * lib/strerror_r.c (local_snprintf): New function.
10821         (snprintf): Define to local_snprintf, not to _snprintf.
10822
10823 2011-09-25  Bruno Haible  <bruno@clisp.org>
10824
10825         ftruncate: Support for MSVC 9.
10826         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
10827         (chsize_nothrow): New function.
10828         (chsize): Redefine as a macro.
10829         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
10830         * modules/ftruncate (Depends-on): Add msvc-inval.
10831
10832 2011-09-25  Bruno Haible  <bruno@clisp.org>
10833
10834         New module 'fstat'.
10835         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
10836         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
10837         * lib/fchdir.c (rpl_fstat): Remove function.
10838         * m4/fstat.m4: New file.
10839         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
10840         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
10841         declared.
10842         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
10843         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
10844         * modules/fstat: New file.
10845         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
10846         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
10847         is set.
10848         * doc/posix-functions/fstat.texi: Mention the new module and the
10849         problem on MSVC.
10850         * NEWS: Mention the change.
10851         * modules/acl (Depends-on): Add fstat.
10852         * modules/chdir-safer (Depends-on): Likewise.
10853         * modules/chown (Depends-on): Likewise.
10854         * modules/copy-file (Depends-on): Likewise.
10855         * modules/fchdir (Depends-on): Likewise.
10856         * modules/fdopendir (Depends-on): Likewise.
10857         * modules/fopen (Depends-on): Likewise.
10858         * modules/fts (Depends-on): Likewise.
10859         * modules/getcwd (Depends-on): Likewise.
10860         * modules/isapipe (Depends-on): Likewise.
10861         * modules/linkat (Depends-on): Likewise.
10862         * modules/lseek (Depends-on): Likewise.
10863         * modules/mkdir-p (Depends-on): Likewise.
10864         * modules/open (Depends-on): Likewise.
10865         * modules/openat (Depends-on): Likewise.
10866         * modules/read-file (Depends-on): Likewise.
10867         * modules/renameat (Depends-on): Likewise.
10868         * modules/utimens (Depends-on): Likewise.
10869
10870 2011-09-25  Bruno Haible  <bruno@clisp.org>
10871
10872         linkat: Fix compilation on MSVC 9.
10873         * lib/linkat.c: Don't include <stdint.h>.
10874
10875 2011-09-25  Bruno Haible  <bruno@clisp.org>
10876
10877         fclose: Support for MSVC 9.
10878         * lib/fclose.c: Include msvc-inval.h.
10879         (fclose_nothrow): New function.
10880         (rpl_fclose): Use it.
10881         * modules/fclose (Depends-on): Add msvc-inval.
10882         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
10883
10884 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10885
10886         dup2: minor simplifications
10887         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
10888         that it's a performance win.
10889         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
10890         ! defined __CYGWIN__)" to "ifdef F_GETFL".
10891
10892 2011-09-24  Jim Meyering  <meyering@redhat.com>
10893
10894         test-futimens: avoid a warning from gcc -Wshadow
10895         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
10896         to avoid a shadowing warning.
10897
10898 2011-09-24  Bruno Haible  <bruno@clisp.org>
10899
10900         fdopen: Support for MSVC 9.
10901         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
10902         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
10903         * lib/fdopen.c: Include msvc-inval.h.
10904         (fdopen_nothrow): New function.
10905         (rpl_fdopen): Use it.
10906         * modules/fdopen (Depends-on): Add msvc-inval.
10907         * modules/fclose-tests (Depends-on): Add fdopen.
10908         * modules/fflush-tests (Depends-on): Likewise.
10909         * modules/fgetc-tests (Depends-on): Likewise.
10910         * modules/fputc-tests (Depends-on): Likewise.
10911         * modules/fread-tests (Depends-on): Likewise.
10912         * modules/freopen-tests (Depends-on): Likewise.
10913         * modules/fseeko-tests (Depends-on): Likewise.
10914         * modules/ftello-tests (Depends-on): Likewise.
10915         * modules/fwrite-tests  (Depends-on): Likewise.
10916         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
10917
10918 2011-09-24  Bruno Haible  <bruno@clisp.org>
10919
10920         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
10921         * modules/fgetc-tests (Depends-on): Add unistd.
10922         * modules/fputc-tests (Depends-on): Likewise.
10923         * modules/fread-tests (Depends-on): Likewise.
10924         * modules/fwrite-tests (Depends-on): Likewise.
10925
10926 2011-09-24  Bruno Haible  <bruno@clisp.org>
10927
10928         dup: Simplify autoconf test.
10929         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
10930         on gl_MSVC_INVAL's result.
10931
10932 2011-09-24  Bruno Haible  <bruno@clisp.org>
10933
10934         Tests for function fwrite().
10935         * modules/fwrite-tests: New file.
10936         * tests/test-fwrite.c: New file.
10937         * modules/stdio-tests (Depends-on): Add fwrite-tests.
10938
10939         Tests for function fread().
10940         * modules/fread-tests: New file.
10941         * tests/test-fread.c: New file.
10942         * modules/stdio-tests (Depends-on): Add fread-tests.
10943
10944         Activate fputc tests.
10945         * modules/stdio-tests (Depends-on): Add fputc-tests.
10946
10947         Enhance fgetc, fputc tests.
10948         * tests/test-fgetc.c (main): Also test the stream's error indicator.
10949         * tests/test-fputc.c (main): Likewise.
10950
10951 2011-09-24  Bruno Haible  <bruno@clisp.org>
10952
10953         write: Support for MSVC 9.
10954         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10955         is not 1.
10956         * lib/write.c (write_nothrow): New function.
10957         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
10958         not 1. Use write_nothrow.
10959         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
10960         invalid parameter handler.
10961         (gl_PREREQ_WRITE): New macro.
10962         * modules/write (Depends-on): Add msvc-inval.
10963         (configure.ac): Invoke gl_PREREQ_WRITE.
10964         * doc/posix-functions/write.texi: Mention the problem on MSVC.
10965
10966 2011-09-24  Bruno Haible  <bruno@clisp.org>
10967
10968         read: Fix last commit.
10969         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
10970
10971 2011-09-24  Bruno Haible  <bruno@clisp.org>
10972
10973         dup2: Fix last commit.
10974         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
10975         (rpl_dup2): Disable fcntl workaround on native Windows.
10976
10977         sigprocmask: Make code safer.
10978         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
10979         section that changes macro definitions for this compilation unit.
10980
10981 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10982
10983         dup2: clarify by coalescing Windows-specific material
10984         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
10985         "msvc-nothrow.h"' to the Windows-specific section, so that the
10986         Emacs source need not contain these include files.
10987         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
10988         Windows-specific fixes into this function rather than just the
10989         nothrow fix, as this shortens and clarifies the code.  Always
10990         define as a function, as that's a bit cleaner than having it be
10991         sometimes a function and sometimes a macro.
10992         (rpl_dup2): Move the Windows-specific stuff out of here and into
10993         ms_windows_dup2.  Don't protect the Haiku-related fix with
10994         "#if !defined __linux__", as the same code also works around
10995         a Linux kernel bug, and it doesn't add any system calls on any
10996         platform.  Add comment about FreeBSD 6.1.
10997
10998         sigprocmask: move #include directive
10999         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
11000         Windows-specific section, so that the Emacs source need not
11001         contain msvc-inval.h.
11002
11003 2011-09-23  Bruno Haible  <bruno@clisp.org>
11004
11005         read: Support for MSVC 9.
11006         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
11007         is not 1.
11008         * lib/read.c (read_nothrow): New function.
11009         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
11010         read_nothrow.
11011         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
11012         invalid parameter handler.
11013         (gl_PREREQ_READ): New macro.
11014         * modules/read (Depends-on): Add msvc-inval.
11015         (configure.ac): Invoke gl_PREREQ_READ.
11016         * doc/posix-functions/read.texi: Mention the problem on MSVC.
11017
11018 2011-09-23  Bruno Haible  <bruno@clisp.org>
11019
11020         close: Support for MSVC 9.
11021         * lib/close.c: Include <errno.h>, msvc-inval.h.
11022         (close_nothrow): New function.
11023         (rpl_close): Use it.
11024         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
11025         invalid parameter handler.
11026         * modules/close (Depends-on): Add msvc-inval.
11027         * modules/dup2-tests (Depends-on): Add close.
11028         * modules/dup3-tests (Depends-on): Likewise.
11029         * modules/fcntl-tests (Depends-on): Likewise.
11030         * modules/spawn-pipe-tests (Depends-on): Likewise.
11031         * modules/unistd-safer-tests (Depends-on): Likewise.
11032         * doc/posix-functions/close.texi: Mention the problem on MSVC.
11033
11034 2011-09-23  Bruno Haible  <bruno@clisp.org>
11035
11036         New module 'dup'.
11037         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
11038         Allow replacement.
11039         * lib/dup.c: New file.
11040         * lib/fchdir.c (rpl_dup): Remove function.
11041         * m4/dup.m4: New file.
11042         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
11043         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
11044         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
11045         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
11046         * modules/dup: New file.
11047         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
11048         'dup' module is in use.
11049         * modules/fdopendir (Depends-on): Add dup.
11050         * modules/fdutimensat-tests (Depends-on): Likewise.
11051         * modules/fts (Depends-on): Likewise.
11052         * modules/futimens-tests (Depends-on): Likewise.
11053         * modules/posix_spawnp-tests (Depends-on): Likewise.
11054         * modules/unistd-safer-tests (Depends-on): Likewise.
11055         * modules/utimens-tests (Depends-on): Likewise.
11056         * doc/posix-functions/dup.texi: Mention the new module and the problem
11057         on MSVC.
11058
11059 2011-09-23  Bruno Haible  <bruno@clisp.org>
11060
11061         getdtablesize: Support for MSVC 9.
11062         * lib/getdtablesize.c: Include msvc-inval.h.
11063         (_setmaxstdio_nothrow): New function.
11064         (_setmaxstdio): Redefine it.
11065         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
11066         * modules/getdtablesize (Depends-on): Add msvc-inval.
11067         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
11068
11069 2011-09-23  Bruno Haible  <bruno@clisp.org>
11070
11071         signal-h: Rename from signal.
11072         * modules/signal-h: Renamed from modules/signal.
11073         * modules/pthread_sigmask (Depends-on): Update.
11074         * modules/raise (Depends-on): Likewise.
11075         * modules/sigaction (Depends-on): Likewise.
11076         * modules/sigpipe (Depends-on): Likewise.
11077         * modules/sigprocmask (Depends-on): Likewise.
11078         * modules/sys_select (Depends-on): Likewise.
11079         * modules/signal-h-tests: Renamed from modules/signal-tests.
11080         (Files, Depends-on, Makefile.am): Update.
11081         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
11082         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
11083         (Files, Makefile.am): Update.
11084         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
11085         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
11086         * modules/signal: New placeholder file.
11087         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
11088         * doc/posix-headers/signal.texi: Update.
11089         * NEWS: Mention the change.
11090
11091 2011-09-23  Bruno Haible  <bruno@clisp.org>
11092
11093         sigprocmask: Avoid crashes through signal() on MSVC 9.
11094         * lib/sigprocmask.c: Include msvc-inval.h.
11095         (signal_nothrow): New function.
11096         (signal): Redefine it.
11097         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
11098         * modules/sigprocmask (Depends-on): Add msvc-inval.
11099         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
11100
11101 2011-09-23  Bruno Haible  <bruno@clisp.org>
11102
11103         Tests for module 'raise'.
11104         * modules/raise-tests: New file.
11105         * tests/test-raise.c: New file.
11106
11107         raise: Support for MSVC.
11108         * lib/signal.in.h (raise): New declaration.
11109         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
11110         for native Windows platforms.
11111         * m4/raise.m4: New file.
11112         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
11113         HAVE_RAISE, REPLACE_RAISE.
11114         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
11115         REPLACE_RAISE.
11116         * modules/raise (Status, Notice): Remove fields.
11117         (Files): Add m4/raise.m4.
11118         (Depends-on): Add signal, msvc-inval.
11119         (configure.ac): Use the common idioms.
11120         (Maintainer): Add me.
11121         * tests/test-signal-c++.cc: Check the signature of raise.
11122         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
11123
11124 2011-09-23  Bruno Haible  <bruno@clisp.org>
11125
11126         pipe2: Fix compilation on pre-C99 compilers.
11127         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
11128
11129 2011-09-23  Bruno Haible  <bruno@clisp.org>
11130
11131         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
11132         * lib/msvc-nothrow.h: New file.
11133         * lib/msvc-nothrow.c: New file.
11134         * m4/msvc-nothrow.m4: New file.
11135         * modules/msvc-nothrow: New file.
11136         * lib/dup2.c: Include msvc-nothrow.h.
11137         (rpl_dup2): No need to protect _get_osfhandle call here.
11138         * lib/accept4.c: Include msvc-nothrow.h.
11139         * lib/error.c: Likewise.
11140         * lib/fcntl.c: Likewise.
11141         * lib/lseek.c: Likewise.
11142         * lib/nonblocking.c: Likewise.
11143         * lib/poll.c: Likewise.
11144         * lib/read.c: Likewise.
11145         * lib/select.c: Likewise.
11146         * lib/sockets.h: Likewise.
11147         * lib/sockets.c: Likewise.
11148         * lib/stdio-read.c: Likewise.
11149         * lib/stdio-write.c: Likewise.
11150         * lib/write.c: Likewise.
11151         * lib/w32sock.h: Likewise.
11152         * lib/w32spawn.h: Likewise.
11153         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
11154         * lib/fsync.c: Likewise.
11155         * lib/isapipe.c: Likewise.
11156         * modules/dup2 (Depends-on): Add msvc-nothrow.
11157         * modules/accept4 (Depends-on): Likewise.
11158         * modules/error (Depends-on): Likewise.
11159         * modules/fcntl (Depends-on): Likewise.
11160         * modules/lseek (Depends-on): Likewise.
11161         * modules/nonblocking (Depends-on): Likewise.
11162         * modules/poll (Depends-on): Likewise.
11163         * modules/read (Depends-on): Likewise.
11164         * modules/select (Depends-on): Likewise.
11165         * modules/sockets (Depends-on): Likewise.
11166         * modules/sigpipe (Depends-on): Likewise.
11167         * modules/write (Depends-on): Likewise.
11168         * modules/accept (Depends-on): Likewise.
11169         * modules/bind (Depends-on): Likewise.
11170         * modules/connect (Depends-on): Likewise.
11171         * modules/gethostname (Depends-on): Likewise.
11172         * modules/getpeername (Depends-on): Likewise.
11173         * modules/getsockname (Depends-on): Likewise.
11174         * modules/getsockopt (Depends-on): Likewise.
11175         * modules/ioctl (Depends-on): Likewise.
11176         * modules/listen (Depends-on): Likewise.
11177         * modules/recv (Depends-on): Likewise.
11178         * modules/recvfrom (Depends-on): Likewise.
11179         * modules/send (Depends-on): Likewise.
11180         * modules/sendto (Depends-on): Likewise.
11181         * modules/setsockopt (Depends-on): Likewise.
11182         * modules/shutdown (Depends-on): Likewise.
11183         * modules/socket (Depends-on): Likewise.
11184         * modules/execute (Depends-on): Likewise.
11185         * modules/spawn-pipe (Depends-on): Likewise.
11186         * modules/flock (Depends-on): Likewise.
11187         * modules/fsync (Depends-on): Likewise.
11188         * modules/isapipe (Depends-on): Likewise.
11189         * tests/test-cloexec.c: Include msvc-nothrow.h.
11190         * tests/test-dup-safer.c: Likewise.
11191         * tests/test-dup2.c: Likewise.
11192         * tests/test-dup3.c: Likewise.
11193         * tests/test-fcntl.c: Likewise.
11194         * tests/test-pipe.c: Likewise.
11195         * tests/test-pipe2.c: Likewise.
11196         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
11197         * modules/unistd-safer-tests (Depends-on): Likewise.
11198         * modules/dup2-tests (Depends-on): Likewise.
11199         * modules/dup3-tests (Depends-on): Likewise.
11200         * modules/fcntl-tests (Depends-on): Likewise.
11201         * modules/pipe-posix-tests (Depends-on): Likewise.
11202         * modules/pipe2-tests (Depends-on): Likewise.
11203
11204 2011-09-23  Bruno Haible  <bruno@clisp.org>
11205
11206         dup2: Make code more maintainable.
11207         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
11208         (rpl_dup2): Use it.
11209         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
11210         * modules/dup2 (configure.ac): Invoke it.
11211         Reported by Paul Eggert.
11212
11213 2011-09-23  Bruno Haible  <bruno@clisp.org>
11214
11215         msvc-inval: Fix compilation error.
11216         * lib/msvc-inval.h: Include <excpt.h>.
11217
11218 2011-09-23  Bruno Haible  <bruno@clisp.org>
11219
11220         mkdir: Tweak for MSVC 9.
11221         * lib/sys_stat.in.h: Update comments.
11222         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
11223
11224         Tests for module 'chdir'.
11225         * modules/chdir-tests: New file.
11226         * tests/test-chdir.c: New file.
11227
11228         New module 'chdir'.
11229         * modules/chdir: New file.
11230         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
11231         (chdir): New declaration.
11232         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
11233         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
11234         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
11235         * tests/test-unistd-c++.cc: Check signature of chdir.
11236         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
11237         * modules/chdir-long (Depends-on): Add chdir.
11238         * modules/fchdir (Depends-on): Likewise.
11239         * modules/rename (Depends-on): Likewise.
11240         * modules/savewd (Depends-on): Likewise.
11241
11242         rmdir: Support for mingw, MSVC 9.
11243         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
11244         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
11245
11246         getcwd: Tweak for MSVC 9.
11247         * lib/unistd.in.h: Update comments.
11248         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
11249
11250 2011-09-22  Bruno Haible  <bruno@clisp.org>
11251
11252         strerror_r-posix: Avoid a link error on MSVC.
11253         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
11254         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
11255
11256 2011-09-22  Bruno Haible  <bruno@clisp.org>
11257
11258         select: Avoid link errors on MSVC.
11259         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
11260         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
11261         * modules/pselect (Link): Likewise.
11262         * NEWS: Mention the change.
11263         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
11264         test-select-stdin against $(LIB_SELECT).
11265         * modules/pselect-tests (Makefile.am): Link test-pselect against
11266         $(LIB_SELECT).
11267
11268 2011-09-22  Bruno Haible  <bruno@clisp.org>
11269
11270         select: Avoid compilation error on MSVC.
11271         * lib/select.c: Don't include <stdbool.h>.
11272
11273 2011-09-21  Bruno Haible  <bruno@clisp.org>
11274
11275         Consolidate all uses of PATH_MAX in *.m4 files.
11276         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
11277         macros.
11278         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
11279         and gl_PATHMAX_SNIPPET.
11280         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11281         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11282         * modules/chdir-long (Files): Add m4/pathmax.m4.
11283         * modules/getcwd (Files): Likewise.
11284
11285 2011-09-21  Bruno Haible  <bruno@clisp.org>
11286
11287         ftruncate: Un-deprecate, concentrate on Win32 support.
11288         * modules/ftruncate (Status, Notice): Remove sections.
11289         (Depends-on): Add largefile.
11290         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
11291         non-mingw platforms.
11292         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
11293         include <io.h>.
11294         * modules/perror-tests (Depends-on): Add ftruncate.
11295         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
11296         'ftruncate' module.
11297
11298 2011-09-21  Bruno Haible  <bruno@clisp.org>
11299
11300         Add dependencies to new dirent related modules.
11301         * modules/opendir (Depends-on): Add closedir.
11302         * modules/getcwd (Depends-on): Add opendir, closedir.
11303         * modules/dirent-safer-tests (Depends-on): Likewise.
11304         * modules/fdopendir-tests (Depends-on): Likewise.
11305         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
11306         * modules/renameat-tests (Depends-on): Likewise.
11307
11308 2011-09-21  Bruno Haible  <bruno@clisp.org>
11309
11310         opendir: Avoid compilation error on mingw.
11311         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
11312         * modules/opendir (Depends-on): Add unistd.
11313
11314 2011-09-21  Bruno Haible  <bruno@clisp.org>
11315
11316         ftruncate tests: Avoid a test failure on mingw.
11317         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
11318
11319 2011-09-21  Bruno Haible  <bruno@clisp.org>
11320
11321         select tests: Avoid test failures on OSF/1 5.1 and mingw.
11322         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
11323         native Windows.
11324
11325 2011-09-21  Bruno Haible  <bruno@clisp.org>
11326
11327         New module 'fdopen'.
11328         * lib/stdio.in.h (fdopen): New declaration.
11329         * lib/fdopen.c: New file.
11330         * m4/fdopen.m4: New file.
11331         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
11332         REPLACE_FDOPEN.
11333         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
11334         REPLACE_FDOPEN.
11335         * modules/fdopen: New file.
11336         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
11337         * tests/test-stdio-c++.cc: Check signature of fdopen.
11338         * doc/posix-functions/fdopen.texi: Mention the new module.
11339
11340 2011-09-21  Bruno Haible  <bruno@clisp.org>
11341
11342         unlockpt tests: Avoid test failure on NetBSD 5.1.
11343         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
11344         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
11345
11346 2011-09-21  Bruno Haible  <bruno@clisp.org>
11347
11348         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
11349         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
11350         * tests/test-getlogin_r.c (main): Likewise.
11351
11352 2011-09-20  Bruno Haible  <bruno@clisp.org>
11353
11354         time tests: Don't require pid_t.
11355         * doc/posix-headers/time.texi: Revert last change.
11356         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
11357         * tests/test-time.c: Comment out the check for pid_t.
11358
11359 2011-09-20  Bruno Haible  <bruno@clisp.org>
11360
11361         fsync tests: Avoid a test failure on mingw.
11362         * tests/test-fsync.c (main): Allow a failure with EIO.
11363
11364 2011-09-20  Bruno Haible  <bruno@clisp.org>
11365
11366         euidaccess: Update comments.
11367         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
11368
11369 2011-09-20  Bruno Haible  <bruno@clisp.org>
11370
11371         Ensure EBADF returns for socket functions on mingw.
11372         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
11373         descriptor is invalid.
11374         * lib/bind.c (rpl_bind): Likewise.
11375         * lib/connect.c (rpl_connect): Likewise.
11376         * lib/getpeername.c (rpl_getpeername): Likewise.
11377         * lib/getsockname.c (rpl_getsockname): Likewise.
11378         * lib/getsockopt.c (rpl_getsockopt): Likewise.
11379         * lib/listen.c (rpl_listen): Likewise.
11380         * lib/recv.c (rpl_recv): Likewise.
11381         * lib/recvfrom.c (rpl_recvfrom): Likewise.
11382         * lib/send.c (rpl_send): Likewise.
11383         * lib/sendto.c (rpl_sendto): Likewise.
11384         * lib/setsockopt.c (rpl_setsockopt): Likewise.
11385         * lib/shutdown.c (rpl_shutdown): Likewise.
11386
11387 2011-09-20  Bruno Haible  <bruno@clisp.org>
11388
11389         select tests: EBADF tests.
11390         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
11391         test_bad_fd): New functions.
11392         (test_function): Invoke also test_bad_fd.
11393
11394 2011-09-20  Bruno Haible  <bruno@clisp.org>
11395
11396         Tests for module 'posix_spawn_file_actions_addopen.
11397         * modules/posix_spawn_file_actions_addopen-tests: New file.
11398         * tests/test-posix_spawn_file_actions_addopen.c: New file.
11399
11400         Tests for module 'posix_spawn_file_actions_adddup2'.
11401         * modules/posix_spawn_file_actions_adddup2-tests: New file.
11402         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
11403
11404         Tests for module 'posix_spawn_file_actions_addclose'.
11405         * modules/posix_spawn_file_actions_addclose-tests: New file.
11406         * tests/test-posix_spawn_file_actions_addclose.c: New file.
11407
11408 2011-09-20  Bruno Haible  <bruno@clisp.org>
11409
11410         Tests for module 'unlockpt'.
11411         * modules/unlockpt-tests: New file.
11412         * tests/test-unlockpt.c: New file.
11413         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
11414
11415         Tests for module 'grantpt'.
11416         * modules/grantpt-tests: New file.
11417         * tests/test-grantpt.c: New file.
11418         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
11419
11420 2011-09-20  Bruno Haible  <bruno@clisp.org>
11421
11422         freopen tests: EBADF tests.
11423         * tests/test-freopen.c: Include errno.h, unistd.h.
11424         (main): Add tests for EBADF, commented out for the moment.
11425
11426         fclose tests: EBADF tests.
11427         * tests/test-fclose.c (main): Add tests for EBADF.
11428
11429         fflush tests: EBADF tests.
11430         * tests/test-fflush.c: Include errno.h, macros.h.
11431         (main): Add tests for EBADF.
11432
11433         ftello tests: EBADF tests.
11434         * tests/test-ftello4.sh: New file.
11435         * tests/test-ftello4.c: New file.
11436         * modules/ftello-tests (Files): Add them.
11437         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
11438
11439         fseeko tests: EBADF tests.
11440         * tests/test-fseeko4.sh: New file.
11441         * tests/test-fseeko4.c: New file.
11442         * modules/fseeko-tests (Files): Add them.
11443         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
11444
11445         Tests for function fputc().
11446         * modules/fputc-tests: New file.
11447         * tests/test-fputc.c: New file.
11448         * modules/stdio-tests (Depends-on): Add fputc-tests.
11449
11450         Tests for function fgetc().
11451         * modules/fgetc-tests: New file.
11452         * tests/test-fgetc.c: New file.
11453         * modules/stdio-tests (Depends-on): Add fgetc-tests.
11454
11455         Tests for function fdopen().
11456         * modules/fdopen-tests: New file.
11457         * tests/test-fdopen.c: New file.
11458         * modules/stdio-tests (Depends-on): Add fdopen-tests.
11459
11460         Tests for module 'vdprintf'.
11461         * modules/vdprintf-tests: New file.
11462         * tests/test-vdprintf.c: New file.
11463
11464         Tests for module 'dprintf'.
11465         * modules/dprintf-tests: New file.
11466         * tests/test-dprintf.c: New file.
11467
11468 2011-09-20  Bruno Haible  <bruno@clisp.org>
11469
11470         Tests for module 'ioctl'.
11471         * modules/ioctl-tests: New file.
11472         * tests/test-ioctl.c: New file.
11473
11474 2011-09-20  Bruno Haible  <bruno@clisp.org>
11475
11476         fcntl tests: EBADF tests.
11477         * tests/test-fcntl.c (main): Add more tests for EBADF.
11478
11479 2011-09-20  Bruno Haible  <bruno@clisp.org>
11480
11481         utimensat tests: EBADF tests.
11482         * tests/test-utimensat.c (main): Add tests for EBADF.
11483
11484         renameat tests: EBADF tests.
11485         * tests/test-renameat.c (main): Add tests for EBADF.
11486
11487         mkfifoat tests: EBADF tests.
11488         * tests/test-mkfifoat.c (main): Add tests for EBADF.
11489
11490         readlinkat tests: EBADF tests.
11491         * tests/test-readlinkat.c (main): Add tests for EBADF.
11492
11493         symlinkat tests: EBADF tests.
11494         * tests/test-symlinkat.c (main): Add tests for EBADF.
11495
11496         linkat tests: EBADF tests.
11497         * tests/test-linkat.c (main): Add tests for EBADF.
11498
11499         Tests for module 'faccessat'.
11500         * modules/faccessat-tests: New file.
11501         * tests/test-faccessat.c: New file.
11502
11503         fdopendir tests: EBADF tests.
11504         * tests/test-fdopendir.c (main): Add more tests for EBADF.
11505
11506         openat tests: EBADF tests.
11507         * tests/test-fchownat.c (main): Add tests for EBADF.
11508         * tests/test-fstatat.c (main): Likewise.
11509         * tests/test-mkdirat.c (main): Likewise.
11510         * tests/test-openat.c (main): Likewise.
11511         * tests/test-unlinkat.c (main): Likewise.
11512         * tests/test-fchmodat.c: New file.
11513         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
11514         (Makefile.am): Also run 'test-fchmodat'.
11515
11516 2011-09-20  Bruno Haible  <bruno@clisp.org>
11517
11518         utimens, futimens, fdutimensat tests: EBADF tests.
11519         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
11520
11521         Tests for function fstat().
11522         * modules/fstat-tests: New file.
11523         * tests/test-fstat.c: New file.
11524         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
11525
11526 2011-09-20  Bruno Haible  <bruno@clisp.org>
11527
11528         test-ttyname_r tests: EBADF tests.
11529         * tests/test-ttyname_r.c (main): Add tests for EBADF.
11530
11531         Tests for module 'isatty'.
11532         * modules/isatty-tests: New file.
11533         * tests/test-isatty.c: New file.
11534
11535         Tests for module 'write'.
11536         * modules/write-tests: New file.
11537         * tests/test-write.c: New file.
11538
11539         Tests for module 'read'.
11540         * modules/read-tests: New file.
11541         * tests/test-read.c: New file.
11542
11543         pwrite tests: EBADF tests.
11544         * tests/test-pwrite.c (main): Add tests for EBADF.
11545
11546         pread tests: EBADF tests.
11547         * tests/test-pread.c (main): Add tests for EBADF.
11548
11549         lseek tests: EBADF tests.
11550         * tests/test-lseek.c (main): Add more tests for EBADF.
11551
11552         Tests for module 'ftruncate'.
11553         * modules/ftruncate-tests: New file.
11554         * tests/test-ftruncate.sh: New file.
11555         * tests/test-ftruncate.c: New file.
11556
11557         fsync tests: EBADF tests.
11558         * tests/test-fsync.c (main): Add more tests for EBADF.
11559
11560         fdatasync tests: EBADF tests.
11561         * tests/test-fdatasync.c (main): Add more tests for EBADF.
11562
11563         Tests for module 'fchown'.
11564         * modules/fchown-tests: New file.
11565         * tests/test-fchown.c: New file.
11566
11567         Tests for module 'fchmod'.
11568         * modules/fchmod-tests: New file.
11569         * tests/test-fchmod.c: New file.
11570
11571         fchdir tests: EBADF tests.
11572         * tests/test-fchdir.c (main): Add more tests for EBADF.
11573
11574         dup2 tests: EBADF tests.
11575         * tests/test-dup2.c (main): Add more tests for EBADF.
11576
11577         Tests for module 'dup'.
11578         * modules/dup-tests: New file.
11579         * tests/test-dup.c: New file.
11580
11581         Tests for module 'close'.
11582         * modules/close-tests: New file.
11583         * tests/test-close.c: New file.
11584
11585 2011-09-20  Bruno Haible  <bruno@clisp.org>
11586
11587         Tests for module 'shutdown'.
11588         * modules/shutdown-tests: New file.
11589         * tests/test-shutdown.c: New file.
11590
11591         Tests for module 'setsockopt'.
11592         * modules/setsockopt-tests: New file.
11593         * tests/test-setsockopt.c: New file.
11594
11595         Tests for module 'sendto'.
11596         * modules/sendto-tests: New file.
11597         * tests/test-sendto.c: New file.
11598
11599         Tests for module 'send'.
11600         * modules/send-tests: New file.
11601         * tests/test-send.c: New file.
11602
11603         Tests for module 'recvfrom'.
11604         * modules/recvfrom-tests: New file.
11605         * tests/test-recvfrom.c: New file.
11606
11607         Tests for module 'recv'.
11608         * modules/recv-tests: New file.
11609         * tests/test-recv.c: New file.
11610
11611         Tests for module 'listen'.
11612         * modules/listen-tests: New file.
11613         * tests/test-listen.c: New file.
11614
11615         Tests for module 'getsockopt'.
11616         * modules/getsockopt-tests: New file.
11617         * tests/test-getsockopt.c: New file.
11618
11619         Tests for module 'getsockname'.
11620         * modules/getsockname-tests: New file.
11621         * tests/test-getsockname.c: New file.
11622
11623         Tests for module 'getpeername'.
11624         * modules/getpeername-tests: New file.
11625         * tests/test-getpeername.c: New file.
11626
11627         Tests for module 'connect'.
11628         * modules/connect-tests: New file.
11629         * tests/test-connect.c: New file.
11630
11631         Tests for module 'bind'.
11632         * modules/bind-tests: New file.
11633         * tests/test-bind.c: New file.
11634
11635         accept4 tests: Fix for native Windows.
11636         * tests/test-accept4.c: Include sockets.h.
11637         (main): Invoke gl_sockets_startup.
11638         * modules/accept4-tests (Depends-on): Add sockets.
11639
11640         accept tests: Fix for native Windows.
11641         * tests/test-accept.c: Include sockets.h.
11642         (main): Invoke gl_sockets_startup.
11643         * modules/accept-tests (Depends-on): Add sockets.
11644
11645 2011-09-19  Bruno Haible  <bruno@clisp.org>
11646
11647         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
11648         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
11649         do...while(0).
11650         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
11651         Suggested by Paul Eggert.
11652
11653 2011-09-19  Bruno Haible  <bruno@clisp.org>
11654
11655         sched: Ensure pid_t is defined.
11656         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
11657         not define pid_t.
11658         * lib/sched.in.h: Include <sys/types.h>.
11659         * doc/posix-headers/sched.texi: Mention the pid_t problem.
11660         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11661
11662 2011-09-19  Bruno Haible  <bruno@clisp.org>
11663
11664         msvc-inval: Ensure the entire expansion is a single statement.
11665         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
11666         of braces.
11667
11668 2011-09-19  Jim Meyering  <meyering@redhat.com>
11669
11670         tests: use printf, not echo in init.sh's warn_ function
11671         * tests/init.sh (warn_): Use printf, not echo.  The latter would
11672         misbehave when given strings containing a backslash or starting
11673         with e.g., -n.  James Youngman suggested setting IFS.
11674
11675 2011-09-19  Eric Blake  <eblake@redhat.com>
11676
11677         futimens: enhance test
11678         * tests/test-futimens.h (test_futimens): Also check for EBADF on
11679         closed non-negative fd.
11680
11681         date: accept 'hence' as opposite of 'ago'
11682         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
11683         * tests/test-parse-datetime.c (main): Enhance test.
11684         Suggested by Jesse Wilson.
11685
11686 2011-09-19  Jim Meyering  <meyering@redhat.com>
11687
11688         getcwd: don't fail in a deep directory on a system without openat
11689         Before this change, getcwd would fail when called from a directory
11690         of depth PATH_MAX / 3 or greater.  That was due to the fact that
11691         the non-openat implementation used "..", "../..", "../../..", etc.
11692         to access ancestor directories.  With too many, that string would
11693         be longer than PATH_MAX.
11694         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
11695         using gnulib's openat replacement.
11696         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
11697         we're using the replacement function.
11698
11699 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
11700
11701         maint.mk: avoid warnings from perl about missing files
11702         * top/maint.mk (def_sym_regex): Ignore files listed in
11703         $(gl_other_headers_) that do not exist, say because a project
11704         does not use a corresponding module.
11705
11706 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11707
11708         stat: use pathmax.h only if needed
11709         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
11710         This is better for Emacs, which does not have a mingw port and
11711         therefore can avoid the pathmax module.
11712
11713         utimens: remove dependency on dup2
11714         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
11715         to work around the Linux kernel bug.
11716         * modules/utimens (Depends-on): Remove dup2.
11717
11718 2011-09-18  Bruno Haible  <bruno@clisp.org>
11719
11720         inet_ntop, inet_pton: Look for it also in libresolv.
11721         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
11722         libnsl, search for it in libresolv.
11723         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11724         Needed on Solaris 7.
11725
11726 2011-09-18  Bruno Haible  <bruno@clisp.org>
11727
11728         accept, accept4 tests: Avoid link error on Solaris.
11729         * modules/accept-tests (Makefile.am): Link test-accept against
11730         $(LIBSOCKET).
11731         * modules/accept4-tests (Makefile.am): Link test-accept4 against
11732         $(LIBSOCKET).
11733
11734         accept4: Avoid link error on Solaris.
11735         * modules/accept4 (Link): New section.
11736
11737         socket functions: Avoid link errors on Solaris.
11738         * modules/accept (Depends-on): Add socketlib.
11739         (Link): New section.
11740         * modules/bind (Depends-on): Add socketlib.
11741         (Link): New section.
11742         * modules/connect (Depends-on): Add socketlib.
11743         (Link): New section.
11744         * modules/getpeername (Depends-on): Add socketlib.
11745         (Link): New section.
11746         * modules/getsockname (Depends-on): Add socketlib.
11747         (Link): New section.
11748         * modules/getsockopt (Depends-on): Add socketlib.
11749         (Link): New section.
11750         * modules/listen (Depends-on): Add socketlib.
11751         (Link): New section.
11752         * modules/recv (Depends-on): Add socketlib.
11753         (Link): New section.
11754         * modules/recvfrom (Depends-on): Add socketlib.
11755         (Link): New section.
11756         * modules/send (Depends-on): Add socketlib.
11757         (Link): New section.
11758         * modules/sendto (Depends-on): Add socketlib.
11759         (Link): New section.
11760         * modules/setsockopt (Depends-on): Add socketlib.
11761         (Link): New section.
11762         * modules/shutdown (Depends-on): Add socketlib.
11763         (Link): New section.
11764         * modules/socket (Depends-on): Add socketlib.
11765         (Link): New section.
11766
11767 2011-09-18  Bruno Haible  <bruno@clisp.org>
11768
11769         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
11770         * tests/test-ptsname.c (main): Terminate the test if it takes longer
11771         than 5 seconds.
11772         * modules/ptsname-tests (configure.ac): Test for alarm.
11773
11774 2011-09-18  Bruno Haible  <bruno@clisp.org>
11775
11776         posix_spawn_file_actions_add*: Fix module dependencies.
11777         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
11778         posix_spawn_file_actions_init.
11779         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
11780         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
11781
11782 2011-09-18  Bruno Haible  <bruno@clisp.org>
11783
11784         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
11785         * tests/test-rename.h (test_rename): Allow error code EEXIST.
11786         * tests/test-renameat.c (main): Likewise.
11787
11788 2011-09-18  Bruno Haible  <bruno@clisp.org>
11789
11790         Tests for module 'accept4'.
11791         * modules/accept4-tests: New file.
11792         * tests/test-accept4.c: New file.
11793
11794 2011-09-18  Bruno Haible  <bruno@clisp.org>
11795
11796         Tests for module 'accept'.
11797         * modules/accept-tests: New file.
11798         * tests/test-accept.c: New file.
11799
11800 2011-09-18  Bruno Haible  <bruno@clisp.org>
11801
11802         dup2: Support for MSVC.
11803         * lib/dup2.c: Include msvc-inval.h.
11804         (rpl_dup2): Handle invalid parameter notifications during dup2 and
11805         _get_osfhandle calls.
11806         * modules/dup2 (Depends-on): Add msvc-inval.
11807         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
11808
11809         New module 'msvc-inval'.
11810         * lib/msvc-inval.h: New file.
11811         * lib/msvc-inval.c: New file.
11812         * m4/msvc-inval.m4: New file.
11813         * modules/msvc-inval: New file.
11814
11815 2011-09-17  Bruno Haible  <bruno@clisp.org>
11816
11817         Tests for module 'pclose'.
11818         * modules/pclose-tests: New file.
11819
11820         New module 'pclose'.
11821         * lib/stdio.in.h (pclose): New declaration.
11822         * lib/pclose.c: New file.
11823         * m4/pclose.m4: New file.
11824         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
11825         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
11826         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
11827         * modules/pclose: New file.
11828         * modules/popen-tests (Depends-on): Add pclose.
11829         * modules/popen-safer-tests (Depends-on): Likewise.
11830         * doc/posix-functions/pclose.texi: Mention the new module.
11831
11832 2011-09-17  Bruno Haible  <bruno@clisp.org>
11833
11834         popen: Support for MSVC.
11835         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
11836         * lib/popen.c (popen): Provide alternate definition for native Windows.
11837         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
11838         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
11839         * modules/popen (Depends-on, configure.ac): Update condition.
11840         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
11841         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
11842         fixed.
11843
11844 2011-09-17  Bruno Haible  <bruno@clisp.org>
11845
11846         isnanl, isnand, isnanf: Work around MSVC bug.
11847         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
11848
11849 2011-09-17  Bruno Haible  <bruno@clisp.org>
11850
11851         sys_socket tests: Fix recent mistake.
11852         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
11853
11854 2011-09-17  Bruno Haible  <bruno@clisp.org>
11855
11856         putenv: Support for MSVC.
11857         * modules/putenv (Depends-on): Add environ.
11858         * lib/putenv.c (environ): Disable declaration.
11859         * lib/unistd.in.h: Update comment.
11860
11861 2011-09-17  Bruno Haible  <bruno@clisp.org>
11862
11863         math: Avoid macro redefinition warnings on MSVC.
11864         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
11865         Undefine before redefining.
11866
11867 2011-09-17  Bruno Haible  <bruno@clisp.org>
11868
11869         doc: Mention functions which are declared as macros.
11870         * doc/posix-functions/*[fl].texi: Mention that some functions are
11871         defined as macros with arguments only.
11872
11873 2011-09-17  Bruno Haible  <bruno@clisp.org>
11874
11875         Add dependencies to new dirent related modules.
11876         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
11877         * modules/fts (Depends-on): Likewise.
11878         * modules/glob (Depends-on): Likewise.
11879         * modules/savedir (Depends-on): Likewise.
11880         * modules/scandir (Depends-on): Likewise.
11881         * modules/dirent-safer (Depends-on): Add opendir, closedir.
11882         * modules/fdopendir (Depends-on): Add opendir.
11883
11884 2011-09-17  Bruno Haible  <bruno@clisp.org>
11885
11886         inet_pton: Support for MSVC on Windows Vista or newer.
11887         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
11888         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
11889         HAVE_DECL_INET_PTON is defined.
11890         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11891         On platforms with <winsock2.h>, test whether inet_pton is declared in
11892         <ws2tcpip.h>. If so, arrange to replace it.
11893         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11894         REPLACE_INET_PTON.
11895         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
11896         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
11897         (Depends-on, configure.ac): Update condition.
11898         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
11899
11900 2011-09-17  Bruno Haible  <bruno@clisp.org>
11901
11902         inet_ntop: Support for MSVC on Windows Vista or newer.
11903         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
11904         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
11905         HAVE_DECL_INET_NTOP is defined.
11906         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11907         On platforms with <winsock2.h>, test whether inet_ntop is declared in
11908         <ws2tcpip.h>. If so, arrange to replace it.
11909         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11910         REPLACE_INET_NTOP.
11911         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
11912         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
11913         (Depends-on, configure.ac): Update condition.
11914         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
11915
11916 2011-09-16  Eric Blake  <eblake@redhat.com>
11917
11918         test-fsync: yet another enhancement
11919         * tests/test-fsync.c (main): Also test behavior on read-only text
11920         file.
11921
11922 2011-09-16  Bruno Haible  <bruno@clisp.org>
11923
11924         Enhance fsync, fdatasync tests.
11925         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
11926         * tests/test-fdatasync.c (main): Likewise.
11927
11928 2011-09-16  Bruno Haible  <bruno@clisp.org>
11929
11930         Support for MSVC compiler: Ensure mode_t gets defined.
11931         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
11932         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11933         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
11934         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
11935         * tests/test-fcntl-h.c: Check that mode_t is defined.
11936         * tests/test-sys_stat.c: Likewise.
11937         * tests/test-sys_types.c: Likewise.
11938         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
11939         * doc/posix-headers/sys_stat.texi: Likewise.
11940         * doc/posix-headers/sys_types.texi: Likewise.
11941
11942 2011-09-16  Bruno Haible  <bruno@clisp.org>
11943
11944         sys_stat: Support for MSVC.
11945         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
11946         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
11947         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
11948         MSVC.
11949
11950 2011-09-16  Bruno Haible  <bruno@clisp.org>
11951
11952         Support for MSVC compiler: Ensure off_t gets defined.
11953         * lib/unistd.in.h: Include <sys/types.h>.
11954         * tests/test-fcntl-h.c: Check that off_t is defined.
11955         * tests/test-sys_stat.c: Likewise.
11956         * tests/test-sys_types.c: Likewise.
11957
11958 2011-09-16  Eric Blake  <eblake@redhat.com>
11959
11960         fdatasync: port to Solaris
11961         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
11962         * modules/fdatasync (Link): Document it.
11963         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
11964
11965         fdatasync: port to MacOS X 10.7
11966         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
11967         declared.
11968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
11969         * modules/unistd (Makefile.am): Substitute it.
11970         * lib/unistd.in.h (fdatasync): Declare on MacOS.
11971         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
11972
11973         fdatasync: minor improvements
11974         * modules/fdatasync (Depends-on): Add condition for fsync.
11975         * lib/fdatasync.c (fdatasync): Add comment.
11976         * tests/test-unistd-c++.cc: Test fdatasync.
11977
11978         unistd: update refs to newer POSIX
11979         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
11980         Suggested by Bruno Haible.
11981
11982         fdatasync: new module
11983         * modules/fsync (Description): Document difference to fdatasync.
11984         * modules/fdatasync: New module.
11985         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
11986         * lib/fdatasync.c (fdatasync): Likewise.
11987         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
11988         defaults.
11989         * modules/unistd (Makefile.am): Set witnesses.
11990         * lib/unistd.in.h (fdatasync): Declare.
11991         * MODULES.html.sh: Document it.
11992         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
11993         * modules/fdatasync-tests: New test.
11994         * tests/test-fdatasync.c: Likewise.
11995
11996 2011-09-16  Eric Blake  <eblake@redhat.com>
11997
11998         test-fsync: enhance tests
11999         * modules/fsync-tests (Depends-on): Add errno, for mingw.
12000         * tests/test-fsync.c (main): Enhance test.
12001
12002 2011-09-15  Bruno Haible  <bruno@clisp.org>
12003
12004         Support for MSVC compiler: Ensure ssize_t gets defined.
12005         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
12006         * doc/posix-headers/stdio.texi: Likewise.
12007         * modules/stdio (Depends-on): Add ssize_t.
12008         * modules/sys_socket (Depends-on): Likewise.
12009         * modules/sys_types (Depends-on): Likewise.
12010         * modules/sys_uio (Depends-on): Likewise.
12011         * modules/unistd (Depends-on): Likewise.
12012         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
12013         * tests/test-sys_types.c: Check that ssize_t is defined.
12014
12015 2011-09-14  Bruno Haible  <bruno@clisp.org>
12016
12017         Avoid using #, the m4 comment starter character, near brackets.
12018         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
12019         delimiter character in sed expressions.
12020         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
12021         Suggested by Eric Blake.
12022
12023         Properly quote AC_CHECK_DECLS' 4th argument.
12024         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
12025         argument.
12026         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12027         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12028         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12029         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
12030         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
12031         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
12032         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
12033         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
12034         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
12035         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
12036         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
12037         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12038         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12039         * m4/isinf.m4 (gl_ISINF): Likewise.
12040         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
12041         * m4/readutmp.m4 (gl_READUTMP): Likewise.
12042         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
12043         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12044         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12045         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12046         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
12047         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
12048         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
12049         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12050         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12051         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12052         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
12053         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12054         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12055         Reported by Eric Blake.
12056
12057         Properly quote AC_CHECK_DECL's 4th argument.
12058         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
12059         argument.
12060         * m4/argp.m4 (gl_ARGP): Likewise.
12061         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12062         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12063         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12064         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12065         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
12066         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
12067         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
12068         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
12069         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12070         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12071         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12072         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12073         Reported by Eric Blake.
12074
12075 2011-09-14  Eric Blake  <eblake@redhat.com>
12076
12077         opendir: avoid compile warning
12078         * lib/opendir.c (includes): Always include errno.h.
12079         Reported by Tatsuro MATSUOKA.
12080
12081 2011-09-14  Jim Meyering  <meyering@redhat.com>
12082
12083         maint.mk: sc_tight_scope: propagate failure from sub-make
12084         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
12085         Reported by Martin von Gagern.
12086
12087 2011-09-13  Bruno Haible  <bruno@clisp.org>
12088
12089         tempname: Support for MSVC.
12090         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
12091         MSVC.
12092         * modules/tempname (Depends-on): Add fcntl-h.
12093
12094 2011-09-13  Bruno Haible  <bruno@clisp.org>
12095
12096         sys_time: Support for MSVC.
12097         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
12098         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
12099         include <winsock2.h>.
12100         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
12101         function declarations that collide with POSIX.
12102         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
12103         (Makefile.am): Substitute HAVE_WINSOCK2_H.
12104
12105 2011-09-13  Bruno Haible  <bruno@clisp.org>
12106
12107         stat: Support for MSVC.
12108         * lib/stat.c: Include pathmax.h.
12109         * modules/stat (Depends-on): Add pathmax.
12110
12111         pathmax: Support for native Windows.
12112         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
12113
12114 2011-09-12  Bruno Haible  <bruno@clisp.org>
12115
12116         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
12117         * lib/dirent.in.h (struct dirent): New type.
12118         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
12119         DT_WHT): New macros.
12120         (DIR): New type.
12121         (opendir, closedir): Declare only if the module 'opendir' is enabled.
12122         (readdir, rewinddir): New declarations.
12123         * lib/dirent-private.h: New file.
12124         * lib/opendir.c: New file.
12125         * lib/readdir.c: New file.
12126         * lib/rewinddir.c: New file.
12127         * lib/closedir.c: New file.
12128         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
12129         * m4/opendir.m4: New file.
12130         * m4/readdir.m4: New file.
12131         * m4/rewinddir.m4: New file.
12132         * m4/closedir.m4: New file.
12133         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
12134         REPLACE_CLOSEDIR here.
12135         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
12136         readdir, rewinddir are declared.
12137         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
12138         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
12139         HAVE_REWINDDIR, HAVE_CLOSEDIR.
12140         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
12141         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
12142         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
12143         * modules/opendir: New file.
12144         * modules/readdir: New file.
12145         * modules/rewinddir: New file.
12146         * modules/closedir: New file.
12147         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
12148         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
12149         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
12150         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
12151         * NEWS: Mention the 'fchdir' change.
12152
12153 2011-09-11  Bruno Haible  <bruno@clisp.org>
12154
12155         asm-underscore.m4: Support for MSVC.
12156         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
12157         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
12158
12159 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
12160
12161         Doc about crypt functions.
12162         * doc/posix-functions/crypt.texi: Expand range of glibc versions
12163         needing for _GNU_SOURCE to get crypt.
12164         * doc/posix-functions/encrypt.texi: Likewise.
12165         * doc/posix-functions/setkey.texi: Likewise.
12166
12167 2011-09-11  Bruno Haible  <bruno@clisp.org>
12168
12169         doc: Update regarding MSVC 9.
12170         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
12171         tested".
12172         * doc/posix-functions/*.texi: Update with info about MSVC 9.
12173         * doc/posix-headers/*.texi: Likewise.
12174         * doc/pastposix-functions/*.texi: Likewise.
12175         * doc/glibc-functions/*.texi: Likewise.
12176         * doc/glibc-headers/*.texi: Likewise.
12177
12178 2011-09-11  Bruno Haible  <bruno@clisp.org>
12179
12180         unistd et al.: Don't assume <unistd.h> exists.
12181         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
12182         does not exist.
12183         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
12184         exist. But include <stdlib.h>.
12185         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
12186         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
12187         symlink() does not exist.
12188         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
12189         include <io.h> instead.
12190         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
12191         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
12192         include <direct.h> instead.
12193         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12194         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12195         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
12196         <io.h> instead.
12197         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
12198         correctly if the system does not have hard links.
12199         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
12200         <direct.h> instead.
12201         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
12202         it when looking for function declarations.
12203         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
12204         <direct.h> and <io.h> instead.
12205         * doc/posix-headers/unistd.texi: More details about MSVC problem.
12206
12207 2011-09-11  Bruno Haible  <bruno@clisp.org>
12208
12209         strcase: Support for MSVC.
12210         * modules/strcase (Status, Notice): Remove obsoletion mark.
12211         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
12212         * doc/posix-functions/strncasecmp.texi: Likewise.
12213
12214         strings: Don't assume <strings.h> exists.
12215         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
12216         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
12217         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
12218         * doc/posix-headers/strings.texi: Mention the MSVC problem.
12219
12220 2011-09-11  Bruno Haible  <bruno@clisp.org>
12221
12222         dirent: Don't assume <dirent.h> exists.
12223         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
12224         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
12225         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
12226         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
12227
12228 2011-09-11  Bruno Haible  <bruno@clisp.org>
12229
12230         Fix wint_t on MSVC.
12231         * lib/wchar.in.h (wint_t): On MSVC, override it.
12232         * lib/wctype.in.h (wint_t): Likewise.
12233         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
12234         MSVC.
12235         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
12236         * doc/posix-headers/wctype.texi: Likewise.
12237
12238 2011-09-11  Bruno Haible  <bruno@clisp.org>
12239
12240         sys_types: Fix typo.
12241         * lib/sys_types.in.h: Fix typo in comment.
12242         Reported by Paul Eggert.
12243
12244         Support for MSVC compiler: Ensure size_t gets defined.
12245         * modules/strings (Depends-on): Add 'sys_types'.
12246         * modules/sys_uio (Depends-on): Likewise.
12247         * lib/sys_uio.in.h: Update comment.
12248
12249         C++ tests for module 'sys_types'.
12250         * modules/sys_types-c++-tests: New file.
12251         * tests/test-sys_types-c++.cc: New file.
12252
12253         Tests for module 'sys_types'.
12254         * modules/sys_types-tests: New file.
12255         * tests/test-sys_types.c: New file.
12256
12257         New module 'sys_types'.
12258         * lib/sys_types.in.h: New file.
12259         * m4/sys_types_h.m4: New file.
12260         * modules/sys_types: New file.
12261         * doc/posix-headers/sys_types.texi: Mention the new module and the
12262         size_t problem on MSVC 9.
12263
12264 2011-09-11  Bruno Haible  <bruno@clisp.org>
12265
12266         Support for MSVC compiler: Avoid division by a literal 0.
12267         * lib/math.in.h (NAN): Define through a function call also on MSVC.
12268         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
12269         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
12270         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
12271         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
12272         * tests/infinity.h: New file.
12273         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
12274         on MSVC.
12275         * tests/test-ceilf1.c: Include infinity.h.
12276         (main): Use Infinityf.
12277         * tests/test-ceil1.c: Include infinity.h.
12278         (main): Use Infinityd.
12279         * tests/test-ceill.c: Include infinity.h.
12280         (main): Use Infinityl.
12281         * tests/test-dprintf-posix.c: Include infinity.h.
12282         (test_function): Use Infinityd.
12283         * tests/test-floorf1.c: Include infinity.h.
12284         (main): Use Infinityf.
12285         * tests/test-floor1.c: Include infinity.h.
12286         (main): Use Infinityd.
12287         * tests/test-floorl.c: Include infinity.h.
12288         (main): Use Infinityl.
12289         * tests/test-fprintf-posix.c: Include infinity.h.
12290         (test_function): Use Infinityd.
12291         * tests/test-frexp.c: Include infinity.h.
12292         (main): Use Infinityd.
12293         * tests/test-frexpl.c: Include infinity.h.
12294         (main): Use Infinityl.
12295         * tests/test-isfinite.c: Include infinity.h.
12296         (test_isfinitef): Use Infinityf.
12297         (test_isfinited): Use Infinityd.
12298         (test_isfinitel): Use Infinityl.
12299         * tests/test-isinf.c: Include infinity.h.
12300         (test_isinff): Use Infinityf.
12301         (test_isinfd): Use Infinityd.
12302         (test_isinfl): Use Infinityl.
12303         * tests/test-isnan.c: Include infinity.h.
12304         (test_float): Use Infinityf.
12305         (test_double): Use Infinityd.
12306         (test_long_double): Use Infinityl.
12307         * tests/test-isnanf.h: Include infinity.h.
12308         (main): Use Infinityf.
12309         * tests/test-isnand.h: Include infinity.h.
12310         (main): Use Infinityd.
12311         * tests/test-isnanl.h: Include infinity.h.
12312         (main): Use Infinityl.
12313         * tests/test-ldexpl.c: Include infinity.h.
12314         (main): Use Infinityl.
12315         * tests/test-printf-posix.h: Include infinity.h.
12316         (test_function): Use Infinityd.
12317         * tests/test-roundf1.c: Include infinity.h.
12318         (main): Use Infinityf.
12319         * tests/test-round1.c: Include infinity.h.
12320         (main): Use Infinityd.
12321         * tests/test-roundl.c: Include infinity.h.
12322         (main): Use Infinityl.
12323         * tests/test-signbit.c: Include infinity.h.
12324         (test_signbitf): Use Infinityf.
12325         (test_signbitd): Use Infinityd.
12326         (test_signbitl): Use Infinityl.
12327         * tests/test-snprintf-posix.h: Include infinity.h.
12328         (test_function): Use Infinityd, Infinityl.
12329         * tests/test-sprintf-posix.h: Include infinity.h.
12330         (test_function): Use Infinityd, Infinityl.
12331         * tests/test-truncf1.c: Include infinity.h.
12332         (main): Use Infinityf.
12333         * tests/test-trunc1.c: Include infinity.h.
12334         (main): Use Infinityd.
12335         * tests/test-truncl.c: Include infinity.h.
12336         (main): Use Infinityl.
12337         * tests/test-vasnprintf-posix.c: Include infinity.h.
12338         (test_function): Use Infinityd, Infinityl.
12339         * tests/test-vasprintf-posix.c: Include infinity.h.
12340         (test_function): Use Infinityd, Infinityl.
12341         * modules/ceilf-tests (Files): Add tests/infinity.h.
12342         * modules/ceil-tests (Files): Likewise.
12343         * modules/ceill-tests (Files): Likewise.
12344         * modules/dprintf-posix-tests (Files): Likewise.
12345         * modules/floorf-tests (Files): Likewise.
12346         * modules/floor-tests (Files): Likewise.
12347         * modules/floorl-tests (Files): Likewise.
12348         * modules/fprintf-posix-tests (Files): Likewise.
12349         * modules/frexp-tests (Files): Likewise.
12350         * modules/frexp-nolibm-tests (Files): Likewise.
12351         * modules/frexpl-tests (Files): Likewise.
12352         * modules/frexpl-nolibm-tests (Files): Likewise.
12353         * modules/isfinite-tests (Files): Likewise.
12354         * modules/isinf-tests (Files): Likewise.
12355         * modules/isnan-tests (Files): Likewise.
12356         * modules/isnanf-tests (Files): Likewise.
12357         * modules/isnanf-nolibm-tests (Files): Likewise.
12358         * modules/isnand-tests (Files): Likewise.
12359         * modules/isnand-nolibm-tests (Files): Likewise.
12360         * modules/isnanl-tests (Files): Likewise.
12361         * modules/isnanl-nolibm-tests (Files): Likewise.
12362         * modules/ldexpl-tests (Files): Likewise.
12363         * modules/printf-posix-tests (Files): Likewise.
12364         * modules/roundf-tests (Files): Likewise.
12365         * modules/round-tests (Files): Likewise.
12366         * modules/roundl-tests (Files): Likewise.
12367         * modules/signbit-tests (Files): Likewise.
12368         * modules/snprintf-posix-tests (Files): Likewise.
12369         * modules/sprintf-posix-tests (Files): Likewise.
12370         * modules/truncf-tests (Files): Likewise.
12371         * modules/trunc-tests (Files): Likewise.
12372         * modules/truncl-tests (Files): Likewise.
12373         * modules/vasnprintf-posix-tests (Files): Likewise.
12374         * modules/vasprintf-posix-tests (Files): Likewise.
12375         * modules/vdprintf-posix-tests (Files): Likewise.
12376         * modules/vfprintf-posix-tests (Files): Likewise.
12377         * modules/vprintf-posix-tests (Files): Likewise.
12378         * modules/vsnprintf-posix-tests (Files): Likewise.
12379         * modules/vsprintf-posix-tests (Files): Likewise.
12380         * modules/xprintf-posix-tests (Files): Likewise.
12381
12382 2011-09-11  Bruno Haible  <bruno@clisp.org>
12383
12384         Ensure pid_t gets defined.
12385         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
12386         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
12387         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
12388         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12389         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
12390         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
12391         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
12392         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12393         * tests/test-fcntl-h.c: Check that pid_t is defined.
12394         * tests/test-sched.c: Likewise.
12395         * tests/test-termios.c: Likewise.
12396         * tests/test-time.c: Likewise.
12397         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
12398         * doc/posix-headers/signal.texi: Likewise.
12399         * doc/posix-headers/sys_types.texi: Likewise.
12400         * doc/posix-headers/time.texi: Likewise.
12401
12402 2011-09-11  Bruno Haible  <bruno@clisp.org>
12403
12404         acl: Fix compilation on Solaris 10 (older version).
12405         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
12406         of ACE_EVERYONE.
12407         * lib/set-mode-acl.c (qset_acl): Likewise.
12408         Reported by Christian Jullien <eligis@orange.fr>.
12409
12410 2011-09-10  Bruno Haible  <bruno@clisp.org>
12411
12412         iconv, unsetenv: Add support for MSVC compiler.
12413         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
12414         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
12415
12416 2011-09-10  Bruno Haible  <bruno@clisp.org>
12417
12418         *printf: Add support for MSVC compiler.
12419         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
12420         handles the exception caused by the %n directive. When cross-compiling,
12421         guess no on native Windows.
12422         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
12423         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
12424         emulate it through vsnprintf.
12425         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
12426         * doc/posix-functions/dprintf.texi: Update documentation regarding
12427         MSVC 9.
12428         * doc/posix-functions/fprintf.texi: Likewise.
12429         * doc/posix-functions/printf.texi: Likewise.
12430         * doc/posix-functions/snprintf.texi: Likewise.
12431         * doc/posix-functions/sprintf.texi: Likewise.
12432         * doc/posix-functions/swprintf.texi: Likewise.
12433         * doc/posix-functions/vdprintf.texi: Likewise.
12434         * doc/posix-functions/vfprintf.texi: Likewise.
12435         * doc/posix-functions/vprintf.texi: Likewise.
12436         * doc/posix-functions/vsnprintf.texi: Likewise.
12437         * doc/posix-functions/vsprintf.texi: Likewise.
12438         * doc/glibc-functions/asprintf.texi: Likewise.
12439         * doc/glibc-functions/obstack_printf.texi: Likewise.
12440         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
12441         * doc/glibc-functions/vasprintf.texi: Likewise.
12442
12443 2011-09-10  Bruno Haible  <bruno@clisp.org>
12444
12445         nocrash: Add support for native Windows.
12446         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
12447
12448 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
12449             Bruno Haible  <bruno@clisp.org>
12450
12451         absolute-header, include-next: Add support for MSVC compiler.
12452         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
12453         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
12454         directory separator in #line directives.
12455         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
12456         recognize also backslash as directory separator in #line directives.
12457
12458 2011-09-08  Jim Meyering  <meyering@redhat.com>
12459
12460         maint.mk: mark the post-release commit log with "maint: " prefix
12461         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
12462         one-line commit-log summary.
12463
12464 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
12465             Bruno Haible  <bruno@clisp.org>
12466
12467         Doc about crypt functions.
12468         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
12469         systems.
12470         * doc/posix-functions/encrypt.texi: Likewise.
12471         * doc/posix-functions/setkey.texi: Likewise.
12472
12473 2011-09-08  Simon Josefsson  <simon@josefsson.org>
12474
12475         * lib/gc.h: Fix copyright header.
12476
12477 2011-09-07  Bruno Haible  <bruno@clisp.org>
12478
12479         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
12480         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
12481         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
12482
12483 2011-09-07  Bruno Haible  <bruno@clisp.org>
12484
12485         openat: Work around compilation error with OSF/1 5.1 DTK cc.
12486         * lib/fopen.c: Use different syntax for include of <stdio.h>.
12487         * lib/freopen.c: Likewise.
12488         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
12489         * lib/lstat.c: Likewise.
12490         * lib/stat.c: Likewise.
12491         * lib/open.c: Use different syntax for include of <fcntl.h>.
12492         * lib/openat.c: Include fcntl.h again, explicitly.
12493
12494 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
12495
12496         parse-datetime: document the newly accepted format
12497         * doc/parse-datetime.texi (Combined date and time of day items):
12498         New section.
12499
12500 2011-09-06  Bruno Haible  <bruno@clisp.org>
12501
12502         acl: Fix a test failure on newer Solaris 10 with ZFS.
12503         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
12504         ENOSYS as no ACL.
12505         Reported by Jim Meyering.
12506
12507 2011-09-06  Bruno Haible  <bruno@clisp.org>
12508
12509         acl: Update for AIX >= 5.3 with NFS.
12510         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
12511         ENOSYS as no ACL.
12512
12513         acl: Fix a test failure on AIX >= 5.3 with NFS.
12514         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
12515         as no ACL.
12516
12517 2011-09-06  Bruno Haible  <bruno@clisp.org>
12518
12519         acl: Fix a test failure on IRIX 6.5 with NFS.
12520         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
12521         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
12522         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
12523         * lib/copy-acl.c (qcopy_acl): Likewise.
12524
12525 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12526
12527         openat: port to AIX 7.1 with large files
12528         AIX 7.1 does a "#define openat open64at" if large files are in use,
12529         so we can't simply #undef openat.  Use the orig_openat trick (similar
12530         to orig_open in lib/open.c) to work around the problem.  Problem
12531         reported by Kevin Brott for GNU tar, in the thread containing
12532         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
12533         * lib/openat.c (__need_system_fcntl_h): Define first.
12534         Include <fcntl.h> and <sys/types.h> before undefining.
12535         (orig_openat) [HAVE_OPENAT]: New inline function.
12536         (openat) [HAVE_OPENAT]: Do not undef.
12537         (rpl_openat): Use orig_openat, not openat.
12538
12539 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
12540             Bruno Haible  <bruno@clisp.org>
12541
12542         acl: Avoid errors on NonStop Kernel.
12543         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
12544         ENOTSUP errors.
12545
12546 2011-09-05  Bruno Haible  <bruno@clisp.org>
12547
12548         acl: Clean up Solaris code.
12549         * lib/acl-internal.h: Remove no-op #if.
12550         * lib/file-has-acl.c: Likewise.
12551         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
12552         * lib/copy-acl.c (qcopy_acl): Likewise.
12553
12554 2011-09-05  Bruno Haible  <bruno@clisp.org>
12555
12556         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
12557         binaries built on the original Solaris 10.
12558         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
12559         trivial.
12560
12561 2011-09-05  Bruno Haible  <bruno@clisp.org>
12562
12563         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
12564         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
12565         10.
12566         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
12567         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
12568         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
12569         instead of acl_get, facl_get, acl_set, facl_set.
12570
12571 2011-09-05  Bruno Haible  <bruno@clisp.org>
12572
12573         copy-file: Try unit tests on more file systems.
12574         * tests/test-copy-file-1.sh: New file.
12575         * tests/test-copy-file-2.sh: New file.
12576         * modules/copy-file-tests (Files): Add them.
12577         (Makefile.am): Add them to TESTS.
12578
12579         acl: Try unit tests on more file systems.
12580         * tests/test-file-has-acl-1.sh: New file.
12581         * tests/test-file-has-acl-2.sh: New file.
12582         * tests/test-set-mode-acl-1.sh: New file.
12583         * tests/test-set-mode-acl-2.sh: New file.
12584         * tests/test-copy-acl-1.sh: New file.
12585         * tests/test-copy-acl-2.sh: New file.
12586         * modules/acl-tests (Files): Add them.
12587         (Makefile.am): Add them to TESTS.
12588
12589 2011-09-04  Bruno Haible  <bruno@clisp.org>
12590
12591         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
12592         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
12593         10.
12594         (OLD_ALLOW, OLD_DENY): New macros.
12595         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
12596         ACE_ACCESS_ALLOWED_ACE_TYPE.
12597         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
12598         ACE_ACCESS_DENIED_ACE_TYPE.
12599         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
12600         (NEW_ACE_EXECUTE): Fix value.
12601         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
12602         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
12603         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
12604         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
12605         NEW_ACE_SYNCHRONIZE): New macros.
12606         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
12607         instead of acl_fromtext, acl_set, facl_set.
12608         Fixes a coreutils/tests/cp/perm failure.
12609
12610 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
12611
12612         openat: test for fstatat (..., 0) bug
12613         Further testing with tar suggests that fstatat (..., 0)
12614         does not work in general, on AIX 7.1; see
12615         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
12616         So, give up entirely on AIX 7.1's fstatat, and fall back on our
12617         replacement fstatat (which is what older AIX releases were using
12618         anyway).
12619         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
12620         use is now changed to orig_fstatat.  This was probably the right
12621         thing to do anyway.
12622         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
12623         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
12624         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
12625         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
12626         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
12627         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
12628         if the bug is found.
12629
12630         openat: test for fstatat (AT_FDCWD, ..., 0) bug
12631         This tests for another fstatat bug on AIX 7.1:
12632         fstatat (AT_FDCWD, ..., 0) does not work.  See
12633         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
12634         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
12635         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
12636         (rpl_fstatat): Adjust so that it works around either (or both)
12637         bugs if present.
12638         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
12639
12640 2011-09-03  Karl Berry  <karl@gnu.org>
12641
12642         * doc/regex.texi (Character Class Operators): Avoid literal ":"
12643         in index entries.
12644
12645 2011-09-02  Bruno Haible  <bruno@clisp.org>
12646
12647         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
12648         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
12649         values of AR, ARFLAGS, RANLIB.
12650         Reported by John W. Eaton <jwe@gnu.org> for Octave.
12651
12652 2011-09-02  Bruno Haible  <bruno@clisp.org>
12653
12654         Find 'ar' program that fits with --host argument.
12655         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
12656
12657 2011-09-02  Bruno Haible  <bruno@clisp.org>
12658
12659         tests: init.sh: Support any non-GNU diff.
12660         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
12661         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
12662         Solaris 8.
12663
12664 2011-09-02  Bruno Haible  <bruno@clisp.org>
12665
12666         tests: init.sh: work also with any non-GNU diff that supports -u
12667         * tests/init.sh: Relax check for diff -u support.
12668         Rather than checking for GNU diff via --version, simply check
12669         for support for -u itself.  Useful at least on OpenBSD 4.9,
12670         AIX 7.1, IRIX 6.5, and Solaris 10.
12671
12672 2011-09-01  Bruno Haible  <bruno@clisp.org>
12673
12674         strtoimax, strtoumax: Document problem on HP-UX 11.
12675         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
12676         * doc/posix-functions/strtoumax.texi: Likewise.
12677
12678 2011-09-01  Bruno Haible  <bruno@clisp.org>
12679
12680         strtoumax: Avoid link error on OSF/1 with DTK cc.
12681         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
12682         defined as a function.
12683         * modules/strtoumax (Depends-on, configure.ac): Test only whether
12684         strtoumax is defined, not whether it is declared.
12685
12686 2011-09-01  Bruno Haible  <bruno@clisp.org>
12687
12688         strtoimax: Avoid link error on OSF/1 with DTK cc.
12689         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
12690         defined as a function.
12691         * modules/strtoimax (Depends-on, configure.ac): Test only whether
12692         strtoimax is defined, not whether it is declared.
12693
12694 2011-09-01  Bruno Haible  <bruno@clisp.org>
12695
12696         imaxdiv: Avoid link error on OSF/1 with DTK cc.
12697         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
12698         as a function.
12699         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
12700         whether it is declared.
12701
12702 2011-09-01  Bruno Haible  <bruno@clisp.org>
12703
12704         imaxabs: Avoid link error on OSF/1 with DTK cc.
12705         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
12706         as a function.
12707         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
12708         whether it is declared.
12709
12710 2011-09-01  Bruno Haible  <bruno@clisp.org>
12711
12712         Tests for module 'strtoumax'.
12713         * modules/strtoumax-tests: New file.
12714         * tests/test-strtoumax.c: New file.
12715
12716         Tests for module 'strtoimax'.
12717         * modules/strtoimax-tests: New file.
12718         * tests/test-strtoimax.c: New file.
12719
12720         Tests for module 'imaxdiv'.
12721         * modules/imaxdiv-tests: New file.
12722         * tests/test-imaxdiv.c: New file.
12723
12724         Tests for module 'imaxabs'.
12725         * modules/imaxabs-tests: New file.
12726         * tests/test-imaxabs.c: New file.
12727
12728 2011-09-01  Bruno Haible  <bruno@clisp.org>
12729
12730         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
12731         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
12732         pthread_create.
12733
12734 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12735
12736         openat: work around AIX 7.1 fstatat issue
12737         This should fix the problem that was not properly fixed
12738         in the previous change, dated 2011-08-30.
12739         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
12740         __need_system_stat_h defined.
12741         (orig_fstatat) [HAVE_FSTATAT]: New function.
12742         (rpl_fstatat): Go back to the old way of doing things,
12743         except call orig_fstatat instead of fstatat.
12744         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
12745         Remove unnecessary check whether fstatat fills in st_size etc.
12746
12747 2011-09-01  Bruno Haible  <bruno@clisp.org>
12748
12749         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
12750         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
12751         just include the system's header.
12752
12753 2011-08-31  Jim Meyering  <meyering@redhat.com>
12754
12755         tests: avoid spurious assertion failure in test-float.c on ppc64
12756         * tests/test-float.c (test_long_double): Comment out an assertion,
12757         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
12758         with gcc-4.4.4.
12759
12760         maint: indent with spaces, not TABs
12761         I need to get in the habit of running gnulib's "make check".
12762         Both of these would have been caught.
12763         * m4/largefile.m4: Indent with spaces, not TABs.
12764         * lib/parse-datetime.y (iso_8601_time): Likewise.
12765         Spotted by Pádraig Brady.
12766
12767         test-parse-datetime.c: accommodate a relatively strict gcc warning
12768         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
12769         to avoid a warning from gcc's -Werror=missing-declarations.
12770         Insert a few spaces-before-funcall-parenthesis.
12771
12772 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
12773
12774         parse-datetime: accept ISO 8601 date and time rep with "T" separator
12775         The parser now accepts ISO 8601 date-time strings with "T" as the
12776         separator.  It has long parsed dates like "2004-02-29 16:21:42"
12777         with a space between the date and time strings.  Now it also parses
12778         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
12779         variants like "2004-02-29T16:21:42.333-07:00"
12780         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
12781         of day representation using the 'T' separator character.
12782         * doc/parse-datetime.texi (General date syntax): replace use of
12783         deprecated --iso-8601 option with --rfc-3339 in example of date
12784         command output formats that can be parsed.
12785         * tests/test-parse-datetime.c (tm_diff): New function, taken from
12786         lib/parse-datetime.y.
12787         (gmt_offset): New function.
12788         (main): Add additional test cases to validate ISO8601 extended
12789         date and time of day parsing.
12790
12791 2011-08-31  Bruno Haible  <bruno@clisp.org>
12792
12793         freopen: Documentation.
12794         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
12795         name.
12796         Reported by Claudio Bley <claudio.bley@gmail.com>.
12797
12798 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
12799
12800         freopen: Don't crash if the filename argument is NULL.
12801         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
12802         NULL.
12803
12804 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12805
12806         openat: work around AIX 7.1 fstatat bug
12807         Problem reported by Kevin Brott for GNU tar, in the thread containing
12808         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
12809         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
12810         FSTATAT_ST_SIZE_ETC_BROKEN.
12811         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
12812         rpl_fstatat.
12813         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
12814         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
12815         AC_CHECK_FUNCS_ONCE for fstatat.
12816         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
12817         fchmodat, mkdirat, openat and unlinkat.
12818
12819 2011-08-30  Bruno Haible  <bruno@clisp.org>
12820
12821         Avoid endless recursions if config.h includes some header files.
12822         * lib/fopen.c (__need_FILE): Define already before including config.h.
12823         * lib/freopen.c (__need_FILE): Likewise.
12824         * lib/open.c (__need_system_fcntl_h): Likewise.
12825         * lib/stat.c (__need_system_sys_stat_h): Likewise.
12826         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
12827         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12828
12829 2011-08-25  Karl Berry  <karl@gnu.org>
12830
12831         * config/srclist.txt (ylwrap): new try.
12832         * build-aux/ylwrap: new file.
12833
12834 2011-08-23  Bruno Haible  <bruno@clisp.org>
12835
12836         tmpdir: Use a good default directory on native Windows.
12837         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
12838         (P_tmpdir): Default to _P_tmpdir on native Windows.
12839         (path_search): On native Windows, try the value returned by GetTempPath
12840         before trying P_tmpdir.
12841         * modules/tmpdir (Depends-on): Add pathmax.
12842         Suggested by John Darrington <john@darrington.wattle.id.au>.
12843
12844 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
12845
12846         doc: fix typo in README-release
12847         * top/README-release: Capitalize first word of a sentence.
12848
12849 2011-08-19  Jim Meyering  <meyering@redhat.com>
12850
12851         fts: do not exhaust memory when processing million-entry directories
12852         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
12853         directory would require about 256*N bytes of memory.  Thus, it was
12854         easy to construct a directory too large to be processed by any of
12855         those tools.  With this change, fts' maximum memory utilization is
12856         now limited to around 30MB.
12857         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
12858         (fts_read): When we've processed the final entry (i.e., when
12859         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
12860         using the parent entry to read any remaining entries.  Dispatch
12861         depending on what fts_build returns:
12862         - NULL+stop, aka failure: stop
12863         - NULL otherwise: move up in the dir hierarchy
12864         - non-NULL: handle this new entry
12865         (fts_build): Declare and use new local, continue_readdir.
12866         Prepare to be called from fts_read, when the entries
12867         from a partially-read directory have just been exhausted.
12868         In that case, we'll skip the opendir and instead use the parent's
12869         fts_dirp and derive dir_fd from that.
12870         Finally, in the readdir loop, if we read max_entries entries,
12871         exit the loop ensuring *not* to call closedir.  This is required
12872         so that fts_dirp can be reused on a subsequent call.
12873         Prompted by Ben England's report of memory exhaustion in find
12874         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
12875
12876         maint: fts: move decl of `dp' down into while loop; split a long line
12877         * lib/fts.c (fts_build): No semantic change.
12878
12879         fts: add/use new struct member, fts_dirp
12880         We are about to use this to manage any directory with
12881         too many entries to read all of them into memory at once.
12882         To do that, we'll need to save the DIR* pointer in each
12883         affected FTSENT struct.
12884         * lib/fts_.h: Include <dirent.h>.
12885         (struct FTSENT) [fts_dirp]: New member.
12886         * lib/fts.c (closedir_and_clear): Define.
12887         Use it in place of closedir so that we are sure to
12888         clear the new fts_dirp member when done with it.
12889         (fts_alloc): Initialize the new member.
12890         (fts_lfree): Free, if needed.
12891
12892         maint: fts: give __opendir2 a new parameter and rename
12893         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
12894         than surreptitiously using sole caller's "dir_fd".
12895         (fts_opendir): Rename from __opendir2.
12896
12897         maint: fts.c: remove __opendir2's now-unused parameter, oflag
12898         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
12899
12900         maint: fts.c: correct off-by-one indentation
12901         * lib/fts.c (fts_build): Correct indentation, change style
12902         of a couple of block comments, and bracing style.
12903
12904         maint: fts.c: move __opendir2 #define "up" out of function body
12905         * lib/fts.c (__opendir2): Move "up".  No semantic change.
12906
12907         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
12908         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
12909         out for a long time and besides was useful only on BSD systems.
12910
12911 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12912
12913         regex: port to Stratus OpenVOS
12914         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
12915         define to empty, rather than attempting nonportable optimizations.
12916         Problem reported by Paul Green in:
12917         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
12918         and fix suggested by Eric Blake in:
12919         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
12920
12921 2011-08-17  Eric Blake  <eblake@redhat.com>
12922
12923         getcwd: fix test failures on mingw
12924         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
12925         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
12926         test if long directory cannot be created, and allow mingw errno.
12927
12928         getcwd-lgpl: fix m4 to match relaxed test for BSD
12929         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
12930         (gl_FUNC_GETCWD_SIGNATURE): New macro.
12931         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
12932         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
12933         signature problem.
12934
12935         getcwd: fix compilation on mingw64
12936         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
12937         getcwd.
12938         Reported by Marc-André Lureau.
12939
12940         pipe2: silence compiler warning
12941         * lib/pipe2.c (pipe2): Hide label if it is not used.
12942
12943 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
12944
12945         relocatable-prog: fix link error
12946         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
12947         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
12948         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
12949         into modules/relocatable-lib without noticing that
12950         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
12951         also needs to build relocatable.c.
12952
12953 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12954
12955         getaddrinfo: fix sh typo in gai_strerrorA decl checking
12956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
12957         shell code: it contained a 'break' that was not in a loop.
12958         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
12959         via a shell-language loop; this may have been true in old Autoconf
12960         versions, but it's not true in Autoconf 2.68.  I found this bug
12961         when testing coreutils git on Solaris 8, whose shell complains
12962         about the syntax error.
12963
12964 2011-08-12  Simon Josefsson  <simon@josefsson.org>
12965
12966         * lib/base64.c: Fix comment to reference RFC 4648.
12967         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
12968         <gvtulder@gmail.com>.
12969
12970 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12971
12972         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
12973
12974         po/Makefile.in.in: fix make -q problem
12975         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
12976         rule, since there's no file named 'check-macro-version' and its
12977         use as a file breaks make -q.
12978         (all): Don't depend on check-macro-version.
12979         (CHECK_MACRO_VERSION): New macro.
12980         (stamp-po): Use it.
12981
12982         configmake: fix make -q problem
12983         * modules/configmake (configmake.h): Update configmake.h's time stamp
12984         even if the file does not change.  Otherwise, 'make -q' fails.
12985         Problem reported by Simon Josefsson in
12986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
12987
12988 2011-08-11  Jim Meyering  <meyering@redhat.com>
12989
12990         git-version-gen: correct the advice in a comment
12991         * build-aux/git-version-gen: Correct comment.
12992         Don't recommend to list .tarball-version in .gitignore.
12993
12994 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12995
12996         base64: fix off-by-one buffer size bug
12997         Problem and (trivial) fix reported by Gijs van Tulder in
12998         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
12999         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
13000         * tests/test-base64.c (main): Catch the bug.
13001
13002 2011-08-10  Eric Blake  <eblake@redhat.com>
13003
13004         closein: correct comments
13005         * lib/closein.c (close_stdin): Improve comments.
13006
13007 2011-08-09  Bruno Haible  <bruno@clisp.org>
13008
13009         More tests for 'fseeko'.
13010         * tests/test-fseeko3.c: New file, from Eric Blake.
13011         * tests/test-fseeko3.sh: New file.
13012         * modules/fseeko-tests (Files): Add them.
13013         (TESTS): Add test-fseeko3.sh.
13014         (check_PROGRAMS): Add test-fseeko3.
13015
13016 2011-08-09  Eric Blake  <eblake@redhat.com>
13017
13018         fseeko: remove unneeded hack
13019         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
13020
13021         fseeko: fix bug on glibc
13022         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
13023         Reported by John W. Eaton.
13024
13025 2011-08-08  Bruno Haible  <bruno@clisp.org>
13026
13027         unictype/base: Fix interoperability with preinstalled libunistring.
13028         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
13029         Reported by Simon Josefsson.
13030
13031 2011-08-08  Bruno Haible  <bruno@clisp.org>
13032
13033         iswblank: Detect declaration correctly.
13034         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
13035         AC_CHECK_DECLS invocation.
13036
13037 2011-08-08  Bruno Haible  <bruno@clisp.org>
13038
13039         tcgetsid: Detect declaration correctly.
13040         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
13041         AC_CHECK_DECLS invocation.
13042         Reported by Simon Josefsson.
13043
13044 2011-08-08  Eric Blake  <eblake@redhat.com>
13045
13046         largefile: fix typo that regressed large file support
13047         * modules/largefile (configure.ac-early): Fix section name.
13048
13049 2011-08-06  Karl Berry  <karl@gnu.org>
13050
13051         * MODULES.html.sh (func_all_files): _Noreturn is no longer
13052         a separate module.
13053
13054 2011-08-05  Simon Josefsson  <simon@josefsson.org>
13055
13056         openat: Fix warnings and commens when building unlinkat.c on Hurd.
13057         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
13058         get prototype for free.
13059
13060 2011-08-04  Bruno Haible  <bruno@clisp.org>
13061
13062         Tests for module 'pathmax'.
13063         * modules/pathmax-tests: New file.
13064         * tests/test-pathmax.c: New file.
13065
13066         canonicalize-lgpl: Support larger filenames on the Hurd.
13067         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
13068         Reported by Paul Eggert.
13069
13070         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
13071         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
13072         * lib/chdir-long.h: Include pathmax.h.
13073         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
13074         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
13075         (PATH_MAX): Remove code that is done by pathmax.h.
13076         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
13077         * lib/tmpfile.c: Add a comment.
13078         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
13079         * modules/chdir-long (Depends-on): Add pathmax.
13080         * modules/getcwd (Depends-on): Add pathmax.
13081         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
13082         is not defined.
13083         * doc/posix-headers/limits.texi: Mention the pathmax module.
13084         * NEWS: Mention the change.
13085
13086 2011-08-02  Bruno Haible  <bruno@clisp.org>
13087
13088         pthread_sigmask: Actually use results of gl_THREADLIB.
13089         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
13090         gl_THREADLIB, not gl_[]THREADLIB.
13091         Reported by Eric Blake.
13092
13093 2011-08-02  Jim Meyering  <meyering@redhat.com>
13094
13095         maint.mk: relax the default _gl_TS_function_match regexp
13096         * top/maint.mk (_gl_TS_function_match): Don't require at least one
13097         space between function name and "(" in an "extern" declaration.
13098         That would fail to match a decl with no space there: extern void foo();
13099
13100 2011-07-31  Iain Nicol  <iain@thenicols.net>
13101
13102         git-version-gen: document that EXTRA_DIST must include .version
13103         * build-aux/git-version-gen: In the how-to-use comment, document
13104         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
13105         will fail when run from an unpacked distribution tarball.
13106
13107 2011-08-01  Bruno Haible  <bruno@clisp.org>
13108
13109         wctype-h: Fix last change.
13110         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
13111         REPLACE_TOWLOWER to 0.
13112         Reported by Sam Steingold <sds@gnu.org>.
13113
13114 2011-07-31  Bruno Haible  <bruno@clisp.org>
13115
13116         frexpl: Update autoconf test.
13117         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
13118         according to changes of 2011-06-20.
13119
13120 2011-07-31  Bruno Haible  <bruno@clisp.org>
13121
13122         sys_utsname: Add support for Minix.
13123         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
13124         <sys/utsname.h>.
13125         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13126         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
13127
13128 2011-07-31  Bruno Haible  <bruno@clisp.org>
13129
13130         strings: Add support for Minix.
13131         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
13132         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
13133         * doc/posix-headers/strings.texi: Document the Minix problem.
13134
13135 2011-07-31  Bruno Haible  <bruno@clisp.org>
13136
13137         wctype-h: Add support for Minix.
13138         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
13139         REPLACE_TOWLOWER.
13140         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
13141         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
13142         REPLACE_ISWCNTRL.
13143
13144 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
13145
13146         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
13147         This is a performance improvement for 64-bit hosts: it causes the
13148         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
13149
13150 2011-07-31  Bruno Haible  <bruno@clisp.org>
13151
13152         stdioext: Add support for Minix.
13153         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
13154         * lib/fpurge.c (fpurge): Likewise.
13155         * lib/freadahead.c (freadahead): Likewise.
13156         * lib/freadable.c (freadable): Likewise.
13157         * lib/freading.c (freading): Likewise.
13158         * lib/freadptr.c (freadptr): Likewise.
13159         * lib/freadseek.c (freadptrinc): Likewise.
13160         * lib/fseeko.c (rpl_fseeko): Likewise.
13161         * lib/fseterr.c (fseterr): Likewise.
13162         * lib/fwritable.c (fwritable): Likewise.
13163         * lib/fwriting.c (fwriting): Likewise.
13164         * lib/fflush.c (clear_ungetc_buffer): Update comment.
13165         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
13166
13167 2011-07-31  Bruno Haible  <bruno@clisp.org>
13168
13169         errno: Port to Minix.
13170         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
13171         ECONNABORTED are defined.
13172         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
13173         GNULIB_defined_ECONNABORTED): New macros.
13174         * lib/strerror-override.h (strerror_override): Test also
13175         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
13176         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
13177         ECONNABORTED.
13178         * doc/posix-headers/errno.texi: Mention the Minix problem.
13179
13180 2011-07-31  Bruno Haible  <bruno@clisp.org>
13181
13182         Work around declaration collisions on Minix.
13183         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
13184         defined, set REPLACE_MBSINIT.
13185         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
13186         defined, set REPLACE_MBRTOWC.
13187         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
13188         set REPLACE_MBRLEN.
13189         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
13190         defined, set REPLACE_MBSRTOWCS.
13191         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
13192         defined, set REPLACE_WCRTOMB.
13193         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
13194         defined, set REPLACE_WCSRTOMBS.
13195
13196 2011-07-31  Bruno Haible  <bruno@clisp.org>
13197
13198         Add support for Minix with ACK compiler.
13199         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
13200         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
13201         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
13202
13203 2011-07-31  Bruno Haible  <bruno@clisp.org>
13204
13205         Documentation about Minix.
13206         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
13207         * doc/glibc-headers/*.texi: Likewise.
13208         * doc/posix-functions/*.texi: Likewise.
13209         * doc/glibc-functions/*.texi: Likewise.
13210
13211 2011-07-31  Bruno Haible  <bruno@clisp.org>
13212
13213         snippet/warn-on-use: Fix indentation.
13214         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
13215
13216 2011-07-25  Jim Meyering  <meyering@redhat.com>
13217
13218         tests: test-update-copyright.sh: remove unnecessary "rm" commands
13219         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
13220         commands.
13221
13222 2011-07-27  Jim Meyering  <meyering@redhat.com>
13223
13224         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
13225         * top/maint.mk (gl_extract_significant_defines_): Now that
13226         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
13227         gnulib/lib/signal.in.h, and now that we recommend to
13228         define-if-undefined those two symbols in application code,
13229         we must filter them out of the "significant" list.
13230         This avoids a "make syntax-check" failure in coreutils.
13231
13232 2011-07-26  Eric Blake  <eblake@redhat.com>
13233
13234         warnings: add comments about previous patch
13235         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
13236         * m4/include_next.m4: Likewise.
13237         * m4/warn-on-use.m4: Likewise.
13238         * m4/warnings.m4: Likewise, and simplify use.
13239         Suggested by Stefano Lattarini.
13240
13241         include-next, warnings: support older autoconf
13242         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
13243         AS_VAR_PUSHDEF in a way that works with older autoconf.
13244         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
13245         Reported by Daniel P. Berrange.
13246
13247 2011-07-25  Bruno Haible  <bruno@clisp.org>
13248
13249         fseek, ftell: Fix doc.
13250         * doc/posix-functions/fseek.texi: Reword statement about
13251         AC_SYS_LARGEFILE.
13252         * doc/posix-functions/ftell.texi: Likewise.
13253
13254 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13255             Bruno Haible  <bruno@clisp.org>
13256
13257         Add dependencies to the 'largefile' module.
13258         * modules/fopen (Depends-on): Add 'largefile'.
13259         * modules/freopen (Depends-on): Likewise.
13260         * modules/fseeko (Depends-on): Likewise.
13261         * modules/ftello (Depends-on): Likewise.
13262         * modules/glob (Depends-on): Likewise.
13263         * modules/lseek (Depends-on): Likewise.
13264         * modules/lstat (Depends-on): Likewise.
13265         * modules/mkostemp (Depends-on): Likewise.
13266         * modules/mkostemps (Depends-on): Likewise.
13267         * modules/mkstemp (Depends-on): Likewise.
13268         * modules/mkstemps (Depends-on): Likewise.
13269         * modules/open (Depends-on): Likewise.
13270         * modules/openat (Depends-on): Likewise.
13271         * modules/pread (Depends-on): Likewise.
13272         * modules/pwrite (Depends-on): Likewise.
13273         * modules/scandir (Depends-on): Likewise.
13274         * modules/stat (Depends-on): Likewise.
13275         * modules/tmpfile (Depends-on): Likewise.
13276         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
13277         since the containing module now depends on the largefile module.
13278         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
13279         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
13280         off_t is fixed by gnulib.
13281         * doc/posix-functions/freopen.texi: Likewise.
13282         * doc/posix-functions/fseeko.texi: Likewise.
13283         * doc/posix-functions/fstatat.texi: Likewise.
13284         * doc/posix-functions/ftello.texi: Likewise.
13285         * doc/posix-functions/glob.texi: Likewise.
13286         * doc/posix-functions/lseek.texi: Likewise.
13287         * doc/posix-functions/lstat.texi: Likewise.
13288         * doc/posix-functions/mkstemp.texi: Likewise.
13289         * doc/posix-functions/open.texi: Likewise.
13290         * doc/posix-functions/openat.texi: Likewise.
13291         * doc/posix-functions/pread.texi: Likewise.
13292         * doc/posix-functions/pwrite.texi: Likewise.
13293         * doc/posix-functions/scandir.texi: Likewise.
13294         * doc/posix-functions/stat.texi: Likewise.
13295         * doc/posix-functions/tmpfile.texi: Likewise.
13296         * doc/glibc-functions/mkostemp.texi: Likewise.
13297         * doc/glibc-functions/mkostemps.texi: Likewise.
13298         * doc/glibc-functions/mkstemps.texi: Likewise.
13299
13300 2011-07-25  Bruno Haible  <bruno@clisp.org>
13301
13302         fcntl: Move AC_LIBOBJ invocation to module description.
13303         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
13304         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
13305
13306         fcntl: Remove call-in from fchdir.m4.
13307         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
13308         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
13309
13310         dup3: Remove potential call-in from fchdir.m4.
13311         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
13312         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
13313
13314         dup2: Move AC_LIBOBJ invocation to module description.
13315         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
13316         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
13317         Don't invoke AC_LIBOBJ.
13318         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
13319
13320         dup2: Remove call-in from fchdir.m4.
13321         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
13322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
13323
13324         fclose: Move AC_LIBOBJ invocation to module description.
13325         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
13326         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
13327         to 1.
13328         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
13329
13330         fclose: Remove call-in from close.m4.
13331         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
13332         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
13333
13334         close: Move AC_LIBOBJ invocation to module description.
13335         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
13336         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
13337         1.
13338         * modules/close (configure.ac): Invoke AC_LIBOBJ.
13339
13340         close: Remove call-in from fchdir.m4.
13341         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
13342         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
13343
13344         open: Move AC_LIBOBJ invocation to module description.
13345         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
13346         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
13347         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
13348
13349         open: Remove call-in from fchdir.m4.
13350         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
13351         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
13352
13353         fchdir: Start to remove gl_REPLACE_* idiom.
13354         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
13355         (gl_FUNC_FCHDIR): Invoke it.
13356
13357 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13358
13359         * lib/ftell.c (ftell): Comment out cast.
13360
13361         close: use gl_REPLACE_FCLOSE only if defined
13362         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
13363         is defined.  The close module doesn't depend on the fclose module
13364         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
13365         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
13366         I reproduced the problem with "./gnulib-tool --test close sys_socket".
13367
13368 2011-07-24  Jim Meyering  <meyering@redhat.com>
13369
13370         test-select.h: avoid warning when using gcc's -Wmissing-declarations
13371         * tests/test-select.h (test_function): Declare as "static".
13372
13373 2011-07-24  Bruno Haible  <bruno@clisp.org>
13374
13375         doc: Mention the effects of AC_SYS_LARGEFILE.
13376         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
13377         on this function.
13378         * doc/posix-functions/aio_error.texi: Likewise.
13379         * doc/posix-functions/aio_fsync.texi: Likewise.
13380         * doc/posix-functions/aio_read.texi: Likewise.
13381         * doc/posix-functions/aio_return.texi: Likewise.
13382         * doc/posix-functions/aio_suspend.texi: Likewise.
13383         * doc/posix-functions/aio_write.texi: Likewise.
13384         * doc/posix-functions/fgetpos.texi: Likewise.
13385         * doc/posix-functions/fopen.texi: Likewise.
13386         * doc/posix-functions/freopen.texi: Likewise.
13387         * doc/posix-functions/fsetpos.texi: Likewise.
13388         * doc/posix-functions/fstatvfs.texi: Likewise.
13389         * doc/posix-functions/ftruncate.texi: Likewise.
13390         * doc/posix-functions/ftw.texi: Likewise.
13391         * doc/posix-functions/getrlimit.texi: Likewise.
13392         * doc/posix-functions/glob.texi: Likewise.
13393         * doc/posix-functions/lio_listio.texi: Likewise.
13394         * doc/posix-functions/lockf.texi: Likewise.
13395         * doc/posix-functions/mkstemp.texi: Likewise.
13396         * doc/posix-functions/mmap.texi: Likewise.
13397         * doc/posix-functions/nftw.texi: Likewise.
13398         * doc/posix-functions/openat.texi: Likewise.
13399         * doc/posix-functions/opendir.texi: Likewise.
13400         * doc/posix-functions/posix_fadvise.texi: Likewise.
13401         * doc/posix-functions/posix_fallocate.texi: Likewise.
13402         * doc/posix-functions/pread.texi: Likewise.
13403         * doc/posix-functions/pwrite.texi: Likewise.
13404         * doc/posix-functions/readdir.texi: Likewise.
13405         * doc/posix-functions/readdir_r.texi: Likewise.
13406         * doc/posix-functions/rewinddir.texi: Likewise.
13407         * doc/posix-functions/scandir.texi: Likewise.
13408         * doc/posix-functions/seekdir.texi: Likewise.
13409         * doc/posix-functions/setrlimit.texi: Likewise.
13410         * doc/posix-functions/statvfs.texi: Likewise.
13411         * doc/posix-functions/telldir.texi: Likewise.
13412         * doc/posix-functions/tmpfile.texi: Likewise.
13413         * doc/posix-functions/truncate.texi: Likewise.
13414         * doc/glibc-functions/fallocate.texi: Likewise.
13415         * doc/glibc-functions/fstatfs.texi: Likewise.
13416         * doc/glibc-functions/fts_children.texi: Likewise.
13417         * doc/glibc-functions/fts_read.texi: Likewise.
13418         * doc/glibc-functions/getdirentries.texi: Likewise.
13419         * doc/glibc-functions/mkostemp.texi: Likewise.
13420         * doc/glibc-functions/mkostemps.texi: Likewise.
13421         * doc/glibc-functions/mkstemps.texi: Likewise.
13422         * doc/glibc-functions/preadv.texi: Likewise.
13423         * doc/glibc-functions/pwritev.texi: Likewise.
13424         * doc/glibc-functions/sendfile.texi: Likewise.
13425         * doc/glibc-functions/statfs.texi: Likewise.
13426
13427 2011-07-24  Bruno Haible  <bruno@clisp.org>
13428
13429         doc: Fix typo.
13430         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
13431
13432 2011-07-24  Bruno Haible  <bruno@clisp.org>
13433
13434         doc: Mention fsusage.
13435         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
13436
13437 2011-07-24  Bruno Haible  <bruno@clisp.org>
13438
13439         doc: Mention new glibc headers and functions.
13440         * doc/glibc-headers/gshadow.texi: New file.
13441         * doc/glibc-functions/endsgent.texi: New file.
13442         * doc/glibc-functions/fgetsgent.texi: New file.
13443         * doc/glibc-functions/fgetsgent_r.texi: New file.
13444         * doc/glibc-functions/getsgent.texi: New file.
13445         * doc/glibc-functions/getsgent_r.texi: New file.
13446         * doc/glibc-functions/getsgnam.texi: New file.
13447         * doc/glibc-functions/getsgnam_r.texi: New file.
13448         * doc/glibc-functions/putsgent.texi: New file.
13449         * doc/glibc-functions/setsgent.texi: New file.
13450         * doc/glibc-functions/sgetsgent.texi: New file.
13451         * doc/glibc-functions/sgetsgent_r.texi: New file.
13452         * doc/glibc-functions/malloc_info.texi: New file.
13453         * doc/glibc-functions/preadv.texi: New file.
13454         * doc/glibc-functions/pwritev.texi: New file.
13455         * doc/glibc-functions/register_printf_modifier.texi: New file.
13456         * doc/glibc-functions/register_printf_specifier.texi: New file.
13457         * doc/glibc-functions/register_printf_type.texi: New file.
13458         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
13459         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
13460         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
13461         * doc/glibc-functions/pthread_getname_np.texi: New file.
13462         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
13463         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
13464         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
13465         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
13466         * doc/glibc-functions/pthread_setname_np.texi: New file.
13467         * doc/glibc-functions/pthread_sigqueue.texi: New file.
13468         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
13469         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
13470         * doc/glibc-functions/qsort_r.texi: New file.
13471         * doc/glibc-functions/quick_exit.texi: New file.
13472         * doc/glibc-functions/syncfs.texi: New file.
13473         * doc/gnulib.texi: Include them.
13474         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
13475         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
13476         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
13477         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
13478         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
13479         * doc/glibc-functions/execvpe.texi: Likewise.
13480
13481 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
13482
13483         ftell: don't include <unistd.h>
13484         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
13485         guaranteed to define off_t, and the ftell module depends on the
13486         stdio module.
13487
13488         ftell: do not assume wraparound signed arithmetic
13489         * lib/ftell.c: Include <limits.h>.
13490         (ftell): Don't assume wraparound signed arithmetic.
13491
13492 2011-07-24  Bruno Haible  <bruno@clisp.org>
13493
13494         close: No longer depend on module 'fclose'.
13495         * modules/close (Depends-on): Remove fclose.
13496         * NEWS: Mention the change.
13497         Suggested by Sam Steingold <sds@gnu.org>.
13498
13499 2011-07-24  Bruno Haible  <bruno@clisp.org>
13500
13501         fsusage: Enable large volume support on AIX >= 5.2.
13502         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
13503         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
13504         instead of STAT_STATVFS.
13505         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
13506
13507         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
13508         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
13509         f_blocks field only on MacOS X.
13510
13511         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
13512         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
13513         * modules/fsusage (Depends-on): Add largefile.
13514
13515 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
13516
13517         * README: Modernize discussion of signed integers.
13518         Assuming overflow wraparound is no longer safe.
13519         Mention ones' complement and signed magnitude.
13520
13521 2011-07-22  Bruno Haible  <bruno@clisp.org>
13522
13523         select tests, pselect tests: Refactor.
13524         * tests/test-select.h: New file, extracted from tests/test-select.c.
13525         (select_fn): New type.
13526         (test, do_select, do_select_nowait, do_select_wait, test_tty,
13527         test_connect_first, test_accept_first, test_pair, test_socket_pair,
13528         test_pipe): Add my_select argument.
13529         (test_function): Renamed from main. Add my_select argument.
13530         * tests/test-select.c: Move most code to tests/test-select.h. Include
13531         test-select.h.
13532         * modules/select-tests (Files): Add tests/test-select.h.
13533         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
13534         (my_select, main): New functions.
13535         * modules/pselect-tests (Files): Add tests/test-select.h,
13536         tests/macros.h, tests/signature.h.
13537         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
13538         (configure.ac): Check for <sys/wait.h>.
13539
13540 2011-07-22  Bruno Haible  <bruno@clisp.org>
13541
13542         sys_select tests: Check the signature of FD_*.
13543         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
13544         signature tests from here...
13545         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
13546         here.
13547         * modules/sys_select-tests (Files): Add tests/signature.h.
13548
13549 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
13550
13551         largefile: new module, replacing large-inode
13552         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
13553         * MODULES.html.sh: Add largefile, remove large-inode.
13554         * modules/largefile, m4/largefile.m4: New files.
13555         * modules/large-inode, m4/large-inode.m4: Remove.
13556
13557         fsusage: port to MacOS X 10.7 with 4 TiB file systems
13558         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
13559         implementations that use only 32 bits to count blocks.
13560         On typical hosts with 1024-byte blocks, this fails with file
13561         systems as small as 4 TiB.  Problem reported by Herb Wartens
13562         <http://debbugs.gnu.org/9140> and this should also fix a similar
13563         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
13564
13565         large-inode: New module
13566         * MODULES.html.sh: Add it.
13567         * modules/large-inode, m4/large-inode.m4: New files.
13568
13569         extensions: Enable extensions on MacOS X 10.5 and later.
13570         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
13571
13572 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
13573
13574         file-has-acl: use acl_extended_file_nofollow if available
13575         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
13576         (acl_extended_file): New macro.
13577         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
13578         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
13579
13580 2011-07-21  Bruno Haible  <bruno@clisp.org>
13581
13582         Declare system functions in a way that works with C++.
13583         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
13584         declare fdopendir as extern "C".
13585         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
13586         declare frexpl as extern "C".
13587         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
13588         declare gai_strerror as extern "C".
13589         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
13590         programs, declare gai_strerror as extern "C".
13591         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
13592         declare getlogin_r as extern "C".
13593         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
13594         as extern "C".
13595         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
13596         declare ldexpl as extern "C".
13597         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
13598         as extern "C".
13599         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
13600         program, declare getmntinfo as extern "C".
13601         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
13602         stpncpy as extern "C".
13603         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
13604         program, declare __xpg_strerror_r as extern "C".
13605         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
13606         strndup as extern "C".
13607         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
13608         declare memset and bzero as extern "C".
13609         Reported by Sam Steingold <sds@gnu.org>.
13610
13611 2011-07-12  Jim Meyering  <meyering@redhat.com>
13612
13613         maint.mk: prohibit inclusion of "verify.h" without use
13614         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
13615
13616 2011-07-19  Pádraig Brady  <P@draigBrady.com>
13617
13618         timer-time: A new module to check for timer_settime()
13619         * m4/timer_time.m4: Check for the posix function.
13620         * modules/timer-time: Add the new module.
13621         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
13622         Mention it.
13623
13624 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
13625             Bruno Haible  <bruno@clisp.org>
13626
13627         pthread_sigmask: assume POSIX threads if --avoid=threadlib
13628         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
13629         not defined, assume POSIX threads and look for pthread_sigmask in
13630         $LIBS, without changing $CPPFLAGS.
13631
13632 2011-07-19  Bruno Haible  <bruno@clisp.org>
13633
13634         strstr: Update cross-compilation guess.
13635         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
13636         CPUs, guess no, in view of glibc
13637         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
13638         Suggested by Eric Blake. Reported by Reuben Thomas.
13639
13640 2011-07-19  Pádraig Brady  <P@draigBrady.com>
13641
13642         getopt-gnu: suppress core dumps from detection code
13643         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
13644         to suppress core dumps that may well occur on glibc systems.
13645         * modules/getopt-gnu: Depend on nocrash.
13646
13647 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13648
13649         pthread_sigmask: ensure usleep is declared
13650         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
13651         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
13652
13653 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13654
13655         doc: Document NonStop portability issues.
13656         * doc/posix-functions/sigaction.texi (sigaction):
13657         * doc/posix-headers/signal.texi (signal.h):
13658         Document NonStop.  See Joachim Schmitz in
13659         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
13660
13661 2011-07-15  Bruno Haible  <bruno@clisp.org>
13662
13663         ffsl, ffsll: Avoid unportable behaviour.
13664         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
13665
13666 2011-07-15  Bruno Haible  <bruno@clisp.org>
13667
13668         ffs: More tests.
13669         * tests/test-ffs.c (NBITS): New macro.
13670         (main): Add more tests.
13671         * tests/test-ffsl.c (NBITS): New macro.
13672         (main): Add more tests.
13673         * tests/test-ffsll.c (NBITS): New macro.
13674         (main): Add more tests.
13675
13676 2011-07-15  Eric Blake  <eblake@redhat.com>
13677
13678         ffsl, ffsll: new modules
13679         * modules/ffsl: New file.
13680         * modules/ffsll: Likewise.
13681         * m4/ffsl.m4: Likewise.
13682         * m4/ffsll.m4: Likewise.
13683         * lib/ffsl.c: Likewise.
13684         * lib/ffsl.h: Likewise.
13685         * lib/ffsll.c: Likewise.
13686         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
13687         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
13688         * modules/string (Makefile.am): Substitute witnesses.
13689         * lib/strings.in.h (ffsl, ffsll): Declare.
13690         * modules/ffsl-tests: New test file.
13691         * modules/ffsll-tests: Likewise.
13692         * tests/test-ffsl.c: Likewise.
13693         * tests/test-ffsll.c: Likewise.
13694         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13695         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
13696         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
13697
13698         ffs: fix m4 prerequisite
13699         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
13700
13701         ffs: avoid undefined behavior
13702         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
13703         * tests/test-ffs.c (naive, main): Avoid signed shifts.
13704         Reported by Bruno Haible.
13705
13706 2011-07-12  Bruno Haible  <bruno@clisp.org>
13707
13708         pthread_sigmask: Rely on module 'threadlib'.
13709         * modules/pthread_sigmask (Depends-on): Add threadlib.
13710         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
13711         is defined.
13712
13713 2011-07-12  Bruno Haible  <bruno@clisp.org>
13714
13715         regex: Depend on module 'strcase'.
13716         * modules/regex (Depends-on): Add strcase, for strcasecmp().
13717
13718 2011-07-12  Jim Meyering  <meyering@redhat.com>
13719
13720         warn-on-use: fix typo in file name
13721         * modules/snippet/warn-on-use (Files): Correct file name:
13722         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
13723
13724 2011-07-12  Bruno Haible  <bruno@clisp.org>
13725
13726         strings: Document module.
13727         * doc/posix-headers/strings.texi: Mention module 'strings'.
13728
13729 2011-07-12  Bruno Haible  <bruno@clisp.org>
13730
13731         Rename module '_Noreturn' to 'snippet/_Noreturn'.
13732         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
13733         (Files, Makefile.am): Update.
13734         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
13735         * modules/stdlib (Depends-on): Update.
13736
13737 2011-07-12  Bruno Haible  <bruno@clisp.org>
13738
13739         * NEWS: Mention the changes.
13740
13741         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
13742         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
13743         (Files, Makefile.am): Update.
13744         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
13745         * modules/arpa_inet (Depends-on): Update.
13746         * modules/ctype (Depends-on): Update.
13747         * modules/dirent (Depends-on): Update.
13748         * modules/fcntl-h (Depends-on): Update.
13749         * modules/glob (Depends-on): Update.
13750         * modules/iconv-h (Depends-on): Update.
13751         * modules/inttypes-incomplete (Depends-on): Update.
13752         * modules/langinfo (Depends-on): Update.
13753         * modules/locale (Depends-on): Update.
13754         * modules/math (Depends-on): Update.
13755         * modules/netdb (Depends-on): Update.
13756         * modules/poll-h (Depends-on): Update.
13757         * modules/pty (Depends-on): Update.
13758         * modules/search (Depends-on): Update.
13759         * modules/signal (Depends-on): Update.
13760         * modules/spawn (Depends-on): Update.
13761         * modules/stdio (Depends-on): Update.
13762         * modules/stdlib (Depends-on): Update.
13763         * modules/string (Depends-on): Update.
13764         * modules/strings (Depends-on): Update.
13765         * modules/sys_file (Depends-on): Update.
13766         * modules/sys_ioctl (Depends-on): Update.
13767         * modules/sys_select (Depends-on): Update.
13768         * modules/sys_socket (Depends-on): Update.
13769         * modules/sys_stat (Depends-on): Update.
13770         * modules/sys_time (Depends-on): Update.
13771         * modules/sys_times (Depends-on): Update.
13772         * modules/sys_utsname (Depends-on): Update.
13773         * modules/sys_wait (Depends-on): Update.
13774         * modules/termios (Depends-on): Update.
13775         * modules/time (Depends-on): Update.
13776         * modules/unistd (Depends-on): Update.
13777         * modules/wchar (Depends-on): Update.
13778         * modules/wctype-h (Depends-on): Update.
13779         * MODULES.html.sh (Support for building libraries and executables):
13780         Update.
13781
13782         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
13783         * modules/snippet/unused-parameter: Renamed from
13784         modules/unused-parameter.
13785         (Files, Makefile.am): Update.
13786         * build-aux/snippet/unused-parameter.h: Renamed from
13787         build-aux/unused-parameter.h.
13788         * modules/selinux-h (Depends-on): Update.
13789         * modules/unistr/base (Depends-on): Update.
13790         * MODULES.html.sh (Core language properties): Update.
13791
13792         Rename module 'link-warning' to 'snippet/link-warning'.
13793         * modules/snippet/link-warning: Renamed from modules/link-warning.
13794         (Files, Makefile.am): Update.
13795         * build-aux/snippet/link-warning.h: Renamed from
13796         build-aux/link-warning.h.
13797         * MODULES.html.sh (Support for building libraries and executables):
13798         Update.
13799
13800         Rename module 'c++defs' to 'snippet/c++defs'.
13801         * modules/snippet/c++defs: Renamed from modules/c++defs.
13802         (Files, Makefile.am): Update.
13803         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
13804         * modules/arpa_inet (Depends-on): Update.
13805         * modules/ctype (Depends-on): Update.
13806         * modules/dirent (Depends-on): Update.
13807         * modules/fcntl-h (Depends-on): Update.
13808         * modules/glob (Depends-on): Update.
13809         * modules/iconv-h (Depends-on): Update.
13810         * modules/langinfo (Depends-on): Update.
13811         * modules/locale (Depends-on): Update.
13812         * modules/math (Depends-on): Update.
13813         * modules/netdb (Depends-on): Update.
13814         * modules/poll-h (Depends-on): Update.
13815         * modules/pty (Depends-on): Update.
13816         * modules/search (Depends-on): Update.
13817         * modules/signal (Depends-on): Update.
13818         * modules/spawn (Depends-on): Update.
13819         * modules/stdio (Depends-on): Update.
13820         * modules/stdlib (Depends-on): Update.
13821         * modules/string (Depends-on): Update.
13822         * modules/strings (Depends-on): Update.
13823         * modules/sys_ioctl (Depends-on): Update.
13824         * modules/sys_select (Depends-on): Update.
13825         * modules/sys_socket (Depends-on): Update.
13826         * modules/sys_stat (Depends-on): Update.
13827         * modules/sys_time (Depends-on): Update.
13828         * modules/sys_wait (Depends-on): Update.
13829         * modules/termios (Depends-on): Update.
13830         * modules/time (Depends-on): Update.
13831         * modules/unistd (Depends-on): Update.
13832         * modules/wchar (Depends-on): Update.
13833         * modules/wctype-h (Depends-on): Update.
13834
13835         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
13836         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
13837         (Files, Makefile.am): Update.
13838         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
13839         * modules/argv-iter (Depends-on): Update.
13840         * modules/arpa_inet (Depends-on): Update.
13841         * modules/dirent (Depends-on): Update.
13842         * modules/fcntl-h (Depends-on): Update.
13843         * modules/fnmatch (Depends-on): Update.
13844         * modules/getopt-posix (Depends-on): Update.
13845         * modules/glob (Depends-on): Update.
13846         * modules/iconv-h (Depends-on): Update.
13847         * modules/inttypes-incomplete (Depends-on): Update.
13848         * modules/locale (Depends-on): Update.
13849         * modules/math (Depends-on): Update.
13850         * modules/netdb (Depends-on): Update.
13851         * modules/search (Depends-on): Update.
13852         * modules/signal (Depends-on): Update.
13853         * modules/spawn (Depends-on): Update.
13854         * modules/stdio (Depends-on): Update.
13855         * modules/stdlib (Depends-on): Update.
13856         * modules/string (Depends-on): Update.
13857         * modules/strings (Depends-on): Update.
13858         * modules/sys_socket (Depends-on): Update.
13859         * modules/sys_stat (Depends-on): Update.
13860         * modules/sys_time (Depends-on): Update.
13861         * modules/sys_times (Depends-on): Update.
13862         * modules/sys_utsname (Depends-on): Update.
13863         * modules/time (Depends-on): Update.
13864         * modules/unistd (Depends-on): Update.
13865         * modules/wchar (Depends-on): Update.
13866         * MODULES.html.sh (Support for building libraries and executables):
13867         Update.
13868
13869 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13870
13871         Improvements on _Noreturn and related modules.
13872
13873         modules/_Exit-tests: test _Noreturn too
13874         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
13875         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
13876         (main): Use them.
13877
13878         stdnoreturn, stdnoreturn-tests: remove modules
13879         They're not needed here and a bit premature for use elsewhere.  See
13880         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
13881         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
13882         * tests/test-stdnoreturn.c: Remove files.
13883         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
13884         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
13885         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
13886         and using noreturn.
13887         * modules/openat, modules/sigpipe-die, modules/xalloc:
13888         * modules/xmemdup0, modules/xstrtol:
13889         Remove dependency on stdnoreturn.
13890
13891         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
13892         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
13893         Reparenthesize to avoid GCC warning.
13894         Support Microsoft's syntax.
13895         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
13896
13897         _Noreturn-tests: remove module
13898         * modules/_Noreturn-tests: Remove.
13899         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
13900         * tests/test-_Noreturn.c: Remove.
13901         * tests/test-stdnoreturn.c: Merge from the old
13902         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
13903
13904 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13905
13906         _Noreturn, stdnoreturn, and related modules.
13907
13908         * top/maint.mk: Adjust to new noreturn support.
13909         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
13910         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
13911
13912         xalloc: use stdnoreturn.h
13913         * lib/xalloc.h: Include <stdnoreturn.h>.
13914         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13915         * modules/xalloc (Depends-on): Add stdnoreturn.
13916
13917         xstrtol: use stdnoreturn.h
13918         * lib/xstrtol.h: Include <stdnoreturn.h>.
13919         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13920         * modules/xstrtol (Depends-on): Add stdnoreturn.
13921
13922         xmemdup0: use stdnoreturn.h
13923         * lib/xmemdup0.h: Include <stdnoreturn.h>.
13924         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13925         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
13926
13927         sigpipe-die: use stdnoreturn.h
13928         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
13929         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13930         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
13931
13932         openat: use stdnoreturn.h
13933         * lib/openat.h: Include <stdnoreturn.h>.
13934         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13935         * modules/openat (Depends-on): Add stdnoreturn.
13936
13937         * lib/openat-die.c (openat_save_fail): Modernize comment.
13938
13939         * lib/xalloc-die.c (xalloc_die): Modernize comment.
13940
13941         * lib/glthread/thread.h: Modernize comment.
13942
13943         obstack: use _Noreturn
13944         * lib/obstack.c (__attribute__): Remove macro.
13945         (print_and_abort): Use _Noreturn.
13946
13947         c-stack: use _Noreturn
13948         * lib/c-stack.c (die, overflow_handler, segv_handler):
13949         Use _Noreturn rather than __attribute__((noreturn)).
13950
13951         argmatch-tests, exclude_tests: use _Noreturn
13952         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
13953         Remove.
13954         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
13955
13956         stdlib: use _Noreturn
13957         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
13958         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
13959         * modules/stdlib (Depends-on): Add _Noreturn.
13960         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
13961
13962         stdnoreturn-tests: new module
13963         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
13964
13965         stdnoreturn: new module
13966         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
13967         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
13968
13969         _Noreturn-tests: new module
13970         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
13971
13972         _Noreturn: new module
13973         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
13974         New section, mentioning it.
13975         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
13976
13977         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
13978
13979 2011-07-11  Eric Blake  <eblake@redhat.com>
13980
13981         ffs: new module
13982         * modules/ffs: New file.
13983         * m4/ffs.m4: Likewise.
13984         * lib/ffs.c: Likewise.
13985         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
13986         * modules/strings (Makefile.am): Substitute witness.
13987         (Depends-on): Add c++defs.
13988         * lib/strings.in.h (ffs): Declare.
13989         * modules/ffs-tests: New test file.
13990         * tests/test-ffs.c: Test new module.
13991         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13992         * doc/posix-functions/ffs.texi (ffs): Likewise.
13993
13994         regex: avoid compiler warning
13995         * lib/regex.c (includes): Include <strings.h>, for use of
13996         strcasecmp in regcomp.c.
13997         Reported by Joachim Schmitz.
13998
13999 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14000
14001         stdint: respect system's intmax_t if INTMAX_MAX
14002         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
14003         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
14004         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
14005         long but int64_t is long long, and where we will clash with the
14006         system intmax_t if we override it.  See
14007         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
14008         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
14009         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
14010         similarly for UINTMAX_C.
14011
14012 2011-07-08  Bruno Haible  <bruno@clisp.org>
14013
14014         pthread_sigmask tests: Avoid a compiler warning.
14015         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
14016         non-zero.
14017
14018         sigprocmask tests: A better way to avoid a compiler warning.
14019         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
14020         (main): Complain if system() returns non-zero.
14021         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
14022
14023 2011-07-08  Bruno Haible  <bruno@clisp.org>
14024
14025         pthread_sigmask: Work around IRIX bug.
14026         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
14027         bug.
14028         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
14029         there may be unblocked pending signals.
14030         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
14031
14032 2011-07-08  Bruno Haible  <bruno@clisp.org>
14033
14034         pthread_sigmask: Work around Cygwin bug.
14035         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
14036         bug.
14037         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
14038         the system's pthread_sigmask function.
14039         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
14040
14041 2011-07-08  Bruno Haible  <bruno@clisp.org>
14042
14043         pthread_sigmask: Work around bug in single-threaded implementation.
14044         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
14045         FreeBSD, HP-UX, Solaris bug.
14046         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
14047         * lib/pthread_sigmask.c: Include <stddef.h>.
14048         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
14049         the system's pthread_sigmask function.
14050         * modules/pthread_sigmask (configure.ac): Invoke
14051         gl_PREREQ_PTHREAD_SIGMASK.
14052         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
14053         HP-UX, Solaris.
14054
14055 2011-07-08  Eric Blake  <eblake@redhat.com>
14056
14057         test-sigprocmask: avoid compiler warning
14058         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
14059         * tests/test-sigprocmask.c (main): Use it to silence warning.
14060         Reported by Jim Meyering.
14061
14062         test-snprintf: avoid compiler warning
14063         * tests/test-snprintf.c (main): Avoid shadowed declaration.
14064         * tests/test-vsnprintf.c (main): Likewise.
14065         Reported by Jim Meyering.
14066
14067 2011-07-08  Bruno Haible  <bruno@clisp.org>
14068
14069         Tests for module 'pthread_sigmask'.
14070         * modules/pthread_sigmask-tests: New file.
14071         * tests/test-pthread_sigmask1.c: New file, based on
14072         tests/test-sigprocmask.c.
14073         * tests/test-pthread_sigmask2.c: New file.
14074
14075 2011-07-08  Jim Meyering  <meyering@redhat.com>
14076
14077         test-getopt.h: avoid warning about an unused variable
14078         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
14079
14080 2011-07-07  Jim Meyering  <meyering@redhat.com>
14081
14082         maint: reduce list of files exempt from sc_prohibit_leading_TABs
14083         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
14084         now that it no longer contains leading TABs.
14085         Remove unused "url=FIXME" statement.
14086
14087 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14088
14089         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
14090         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
14091         When gl_THREADLIB is not in use, assume that the POSIX sematics
14092         are desired.  This is better for Emacs, which uses POSIX semantics
14093         on GNUish and/or POSIXish platforms, and does not use threads at
14094         all otherwise.
14095
14096         pthread_sigmask: fix typo when testing for libraries
14097         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
14098         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
14099
14100 2011-07-08  Eric Blake  <eblake@redhat.com>
14101
14102         fts: introduce FTS_NOATIME
14103         * lib/fts_.h (FTS_NOATIME): New bit flag.
14104         (FTS_OPTIONMASK): Adjust.
14105         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
14106         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
14107
14108 2011-07-08  Bruno Haible  <bruno@clisp.org>
14109
14110         Tests for module 'thread'.
14111         * modules/thread-tests: New file.
14112         * tests/test-thread_self.c: New file.
14113         * tests/test-thread_create.cc: New file.
14114
14115 2011-07-08  Bruno Haible  <bruno@clisp.org>
14116
14117         thread: Avoid gcc warnings when using gl_thread_self().
14118         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
14119         'void *'.
14120         (gl_thread_self_pointer): Update.
14121
14122 2011-07-07  Bruno Haible  <bruno@clisp.org>
14123
14124         signal-c++-tests: Check declaration of pthread_sigmask.
14125         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
14126         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
14127         $(LIB_PTHREAD_SIGMASK).
14128
14129 2011-07-07  Bruno Haible  <bruno@clisp.org>
14130
14131         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
14132         * lib/signal.in.h (pthread_sigmask): Override if
14133         REPLACE_PTHREAD_SIGMASK is 1.
14134         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14135         REPLACE_PTHREAD_SIGMASK.
14136         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
14137         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
14138         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
14139         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
14140         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
14141
14142 2011-07-07  Bruno Haible  <bruno@clisp.org>
14143
14144         pthread_sigmask: Ensure declaration in <signal.h>.
14145         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
14146         include <pthread.h>.
14147         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
14148         problem.
14149
14150 2011-07-07  Bruno Haible  <bruno@clisp.org>
14151
14152         pthread_sigmask: Document the module.
14153         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
14154
14155 2011-07-07  Bruno Haible  <bruno@clisp.org>
14156
14157         pthread_sigmask: Follow gnulib conventions.
14158         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
14159         gl_PTHREAD_SIGMASK.
14160         * modules/pthread_sigmask (configure.ac): Update.
14161
14162 2011-07-07  Bruno Haible  <bruno@clisp.org>
14163
14164         pthread_sigmask: Make declaration C++ safe.
14165         * lib/signal.in.h: In two special conditions, just do an #include_next.
14166         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
14167         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
14168         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14169         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
14170         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
14171         not REPLACE_PTHREAD_MASK.
14172         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
14173         not REPLACE_PTHREAD_MASK.
14174         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
14175
14176 2011-07-07  Bruno Haible  <bruno@clisp.org>
14177
14178         pthread_sigmask: Fix return value.
14179         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
14180         * lib/pthread_sigmask.c: New file.
14181         * modules/pthread_sigmask (Files): Add it.
14182         (configure.ac): Invoke AC_LIBOBJ.
14183
14184 2011-07-07  Eric Blake  <eblake@redhat.com>
14185
14186         getopt: more portable argv creation
14187         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
14188         const, use char arrays rather than strings.
14189         Suggested by Paul Eggert.
14190
14191 2011-07-07  Bruno Haible  <bruno@clisp.org>
14192
14193         Tests for module 'sigprocmask'.
14194         * modules/sigprocmask-tests: New file.
14195         * tests/test-sigprocmask.c: New file.
14196
14197 2011-07-07  Bruno Haible  <bruno@clisp.org>
14198
14199         float tests: Tweak.
14200         * tests/test-float.c (main): Tweak skip message.
14201
14202 2011-07-07  Eric Blake  <eblake@redhat.com>
14203
14204         getopt: avoid compiler warning during configure
14205         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
14206         assigning string literals to non-const pointer.
14207
14208         getopt-gnu: avoid crash in glibc getopt
14209         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
14210         * tests/test-getopt.h (test_getopt): Enhance test.
14211         * tests/test-getopt_long.h (test_getopt_long): Likewise.
14212         * doc/posix-functions/getopt.texi (getopt): Document it.
14213         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14214         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14215         Likewise.
14216
14217 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
14218
14219         getopt: handle W; without long options in getopt [BZ #12922]
14220         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
14221         but no long options are defined, just return 'W'.
14222
14223 2011-07-07  Bruno Haible  <bruno@clisp.org>
14224
14225         Avoid literal tabs.
14226         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
14227         variable containing a tab instead of a literal tab.
14228         Reported by Jim Meyering.
14229
14230 2011-07-07  Bruno Haible  <bruno@clisp.org>
14231
14232         Comments.
14233         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
14234
14235 2011-07-06  Bruno Haible  <bruno@clisp.org>
14236
14237         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
14238         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
14239         <winsock2.h>.
14240         (rpl_fd_isset, FD_ISSET): New definitions, copied from
14241         lib/sys_socket.in.h.
14242         (close, gethostname): Hide declarations from <winsock2.h>.
14243         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
14244         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
14245         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
14246         (select): Don't override if gnulib's <sys/select.h> was already
14247         included.
14248         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
14249         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
14250         setsockopt, shutdown, select): Tweak indentation.
14251
14252 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14253
14254         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
14255         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
14256         in an application that does not use the sys_select module.
14257
14258 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
14259
14260         poll: do not return 0 on timeout=-1
14261         * lib/poll.c: Loop with yield if no events occured
14262
14263 2011-07-06  Eric Blake  <eblake@redhat.com>
14264
14265         pthread_sigmask: always replace when not using pthread
14266         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
14267         replacement when using some threading other than pthread.  Fix
14268         logic bug.
14269
14270 2011-07-06  Bruno Haible  <bruno@clisp.org>
14271
14272         Comments.
14273         * m4/printf.m4: Update comments about mingw.
14274
14275 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14276
14277         sys_select: define sigset_t more portably
14278         * lib/sys_select.in.h: Always include <sys/types.h>, since
14279         we now need sigset_t and mingw defines it there.
14280         Include <signal.h> before split inclusion guard, to avoid
14281         mishaps on Solaris, whose <signal.h> eventually includes us.
14282         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
14283         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
14284         which come from ...
14285         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
14286         gl_CHECK_TYPE_SIGSET_T.
14287         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
14288         does the real work.
14289         * modules/sys_select (Depends-on): Add 'signal'.
14290
14291         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
14292         Suggested by Bruno Haible.
14293
14294         pselect: Use pthread_sigmask, not sigprocmask.
14295         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
14296         multithreaded apps better than sigprocmask does.
14297         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
14298         sigprocmask directly.
14299
14300 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14301
14302         * lib/pselect.c (pselect): Use plain name, without "rpl_".
14303         Don't #undef,  since we don't need any underlying pselect.
14304         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
14305         (Depends-on): Add select.
14306         (Link): Add $(LIBSOCKET).
14307         These changes suggested by Bruno Haible.
14308
14309         pselect: document better
14310         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
14311         * doc/posix-functions/pselect.texi (pselect): Document new module.
14312
14313         pthread_sigmask: new module
14314         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
14315         * doc/posix-functions/pthread_sigmask.texi: Document new module.
14316         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
14317         This is done only as a macro; I don't know how well that'll
14318         work for C++.  Move <sys/types.h> include before the include_next,
14319         to avoid mishap on Solaris.
14320         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
14321         * modules/signal (Makefile.am): Substitute the check's results.
14322         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
14323
14324         test-pselect: new module
14325         * modules/pselect-tests, tests/test-pselect.c: New files.
14326         * tests/test-select.c, tests/test-sys_select-c++.cc:
14327         If TEST_PSELECT is defined, test pselect instead of testing select.
14328
14329         * tests/test-sys_select.c (sigset_t): Test for it, too.
14330         Suggested by Bruno Haible.
14331
14332 2011-07-05  Eric Blake  <eblake@redhat.com>
14333
14334         snprintf: guarantee %1$d, for libintl
14335         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
14336         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
14337         * doc/posix-functions/snprintf.texi (snprintf): Update.
14338         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
14339         * tests/test-snprintf.c (main): Enhance test.
14340         * tests/test-vsnprintf.c (main): Likewise.
14341
14342 2011-07-05  Jim Meyering  <meyering@redhat.com>
14343
14344         maint: exempt stdio-read.c and stdio-write.c from the cppi check
14345         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
14346         per Bruno's request, to accommodate this idiom (no space after "#")
14347         even when the function is inside an #if block:
14348         char *
14349         gets (char *s)
14350         #undef gets
14351         {
14352           ...
14353         }
14354
14355 2011-07-04  Jim Meyering  <meyering@redhat.com>
14356
14357         maint: indent with spaces, not TABs, and add a rule to check this
14358         * tests/test-userspec.c: Indent with spaces, not TABs.
14359         * tests/test-argp.c: Likewise.
14360         * tests/test-c-stack2.sh: Likewise.
14361         * tests/test-parse-duration.sh: Likewise
14362         * m4/strtod.m4: Likewise.
14363         * m4/alloca.m4: Likewise.
14364         * m4/pselect.m4: Likewise.
14365         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
14366
14367 2011-07-03  Jim Meyering  <meyering@redhat.com>
14368
14369         maint.mk: correct omissions in prohibit_argmatch_without_use check
14370         This rule would mistakenly report that argmatch.h is included without
14371         use even when both the argmatch and invalid_arg macro were used.
14372         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
14373         of argmatch and invalid_arg.
14374
14375 2011-07-03  Bruno Haible  <bruno@clisp.org>
14376
14377         Comments about EINTR.
14378         * lib/safe-read.h: Explain the purpose of this module.
14379         * lib/safe-write.h: Likewise.
14380         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
14381         module.
14382         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
14383         module.
14384         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14385
14386 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
14387
14388         xnanosleep: Rewrite to use new dtotimespec module.
14389         It has the conversion code that used to be in xnanosleep.
14390         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
14391         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
14392         (TIME_T_MAX): Remove.
14393         (xnanosleep): Rewrite in terms of dtotimespec.
14394         * modules/xnanosleep (Depends-on): Add dtotimespec.
14395         Remove intprops, stdbool.
14396
14397         timespec-add, timespec-sub: new modules
14398         * lib/timespec.h (timespec_add, timespec_sub): New decls.
14399         * lib/timespec-add.c, lib/timespec-sub.c:
14400         * modules/timespec-add, modules/timespec-sub: New files.
14401
14402         dtotimespec: new module
14403         * lib/timespec.h (dtotimespec): New decl.
14404         * lib/dtotimespec.c, modules/dtotimespec: New files.
14405
14406         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
14407
14408         pselect: new module
14409         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
14410         (pselect): New decls.
14411         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
14412         since the standard pselect decl uses 'restrict'.
14413         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
14414         HAVE_PSELECT, REPLACE_PSELECT.
14415         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
14416         HAVE_PSELECT, REPLACE_PSELECT.
14417         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
14418
14419         sys_select: don't depend on sys_socket
14420         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
14421         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
14422         This fix works on GNU and GNU-like platforms, but has not been tested
14423         on native Windows.
14424         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
14425         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
14426         gl_HEADER_SYS_SOCKET.
14427         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
14428         gl_PREREQ_SYS_H_WINSOCK2.
14429
14430 2011-06-29  Eric Blake  <eblake@redhat.com>
14431
14432         pipe2: fix C89 compile problem
14433         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
14434         Reported by Bruno Haible.
14435
14436         pipe, pipe2: don't corrupt fd on error
14437         * lib/pipe.c (pipe): Leave fd unchanged on error.
14438         * lib/pipe2.c (pipe2): Likewise.
14439         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
14440         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14441
14442 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
14443
14444         mmap-anon: do not use regular expressions inadvertently
14445         * m4/mmap-anon.m4: Remove trailing period from strings sought
14446         in the output.
14447
14448 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
14449
14450         nanosleep: fix integer overflow problem
14451         * lib/nanosleep.c (my_usleep): Don't assume signed integer
14452         arithmetic wraps around on overflow.
14453
14454         nanosleep: simplify carrying
14455         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
14456         first call to the underyling nanosleep, not for the last one.
14457         This doesn't fix any bugs, but it simplifies the computation of
14458         the remaining delay.  Found while auditing integer overflow issues.
14459
14460         dup2: remove test for existence of fcntl
14461         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
14462         "#if HAVE_FCNTL", in the configure-time test program.
14463         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
14464         and therefore speeds up "configure" a bit.  Found while
14465         adding the dup2 module to Emacs.
14466
14467 2011-06-24  Eric Blake  <eblake@redhat.com>
14468
14469         maint.mk: enhance useless header checks
14470         * top/maint.mk (_sc_header_without_use): Check both include
14471         styles.
14472         (sc_prohibit_assert_without_use)
14473         (sc_prohibit_close_stream_without_use)
14474         (sc_prohibit_getopt_without_use)
14475         (sc_prohibit_quotearg_without_use)
14476         (sc_prohibit_quote_without_use)
14477         (sc_prohibit_long_options_without_use)
14478         (sc_prohibit_inttostr_without_use)
14479         (sc_prohibit_ignore_value_without_use)
14480         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
14481         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
14482         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
14483         (sc_prohibit_hash_pjw_without_use)
14484         (sc_prohibit_safe_read_without_use)
14485         (sc_prohibit_argmatch_without_use)
14486         (sc_prohibit_canonicalize_without_use)
14487         (sc_prohibit_root_dev_ino_without_use)
14488         (sc_prohibit_openat_without_use)
14489         (sc_prohibit_c_ctype_without_use)
14490         (sc_prohibit_signal_without_use)
14491         (sc_prohibit_stdio--_without_use)
14492         (sc_prohibit_stdio-safer_without_use)
14493         (sc_prohibit_strings_without_use)
14494         (sc_prohibit_intprops_without_use)
14495         (sc_prohibit_stddef_without_use)
14496         (sc_prohibit_xfreopen_without_use): Update clients.
14497
14498 2011-06-24  Jim Meyering  <meyering@redhat.com>
14499
14500         syntax-check: keep one maint.mk rule in sync with its header
14501         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
14502         of the bug Eric has just fixed, with today's commit 25e4c2ec.
14503         I prefer to avoid temporary files here, so use <(...), but that
14504         is not supported by /bin/sh, so...
14505         (SHELL): Define to /bin/bash.
14506
14507 2011-06-24  Eric Blake  <eblake@redhat.com>
14508
14509         maint.mk: update sc_prohibit_intprops_without_use
14510         * top/maint.mk (_intprops_names): Match recent changes.
14511
14512 2011-06-24  Bruno Haible  <bruno@clisp.org>
14513
14514         strerror-override: No-op tweak.
14515         * lib/strerror-override.h (strerror_override): Reorder conditions,
14516         for consistency with lib/strerror-override.c.
14517
14518 2011-06-23  Eric Blake  <eblake@redhat.com>
14519
14520         maint.mk: test further PATH_MAX issues
14521         * top/maint.mk (sc_prohibit_path_max_array): Rename...
14522         (sc_prohibit_path_max_allocation): ...and also test alloca.
14523         Suggested by Jim Meyering.
14524
14525 2011-06-22  Eric Blake  <eblake@redhat.com>
14526
14527         maint.mk: add syntax-check to avoid char[PATH_MAX]
14528         * top/maint.mk (sc_prohibit_path_max_array): New rule.
14529
14530         stat: be robust to PATH_MAX definition
14531         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
14532         * modules/stat (Depends-on): Add verify.
14533
14534         link: work around IRIX bug
14535         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
14536         * lib/link.c (rpl_link): Work around it.
14537         * tests/test-link.h (test_link): Enhance test.
14538         * doc/posix-functions/link.texi (link): Document the bug.
14539
14540         getopt: silence clang warning
14541         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
14542         dereference.
14543         Reported by Gustavo Martin Domato.
14544
14545 2011-06-22  Jim Meyering  <meyering@redhat.com>
14546
14547         bootstrap: do not insert a blank line into each .gitignore file
14548         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
14549
14550 2011-06-21  Eric Blake  <eblake@redhat.com>
14551
14552         perror: test for output mismatch
14553         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
14554         perror on IRIX.
14555
14556         strerror_r: fix OpenBSD behavior on out-of-range
14557         * lib/strerror_r.c (strerror_r): Always use maximal string.
14558         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14559
14560         strerror_r: fix OpenBSD behavior on 0
14561         * lib/strerror-override.c (strerror_override): Also override 0
14562         when needed.
14563         * lib/strerror-override.h (strerror_override): Likewise.
14564         * lib/strerror.c (strerror): Simplify, now that 0 override is done
14565         earlier.
14566         * lib/strerror_r.c (strerror_r): Likewise.
14567         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
14568         behavior...
14569         (gl_FUNC_STRERROR_0): ...into new macro.
14570         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
14571         is overridden.
14572         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
14573         * modules/strerror-override (Files): Add strerror.m4.
14574         (configure.ac): Also provide override for 0 when needed.
14575         * doc/posix-functions/strerror.texi (strerror): Document this.
14576         * doc/posix-functions/perror.texi (perror): Likewise.
14577
14578         perror: adjust array size
14579         * modules/perror (Depends-on): Add strerror-override.
14580         * lib/perror.c (perror): Use it to avoid magic number.
14581
14582         strerror-override: reduce size
14583         * lib/strerror-override.c (strerror_override): Use fewer lines.
14584
14585 2011-06-20  Bruno Haible  <bruno@clisp.org>
14586
14587         pathmax: Ensure correct value for PATH_MAX on HP-UX.
14588         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
14589
14590 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
14591
14592         alloca: port to compilers that can optimize like GCC 4.6.0
14593         * lib/alloca.c (find_stack_direction): New signature, taken from
14594         Autoconf git.  This works with GCC 4.6.0.  This code should never
14595         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
14596         be used with other compilers that optimize as well as GCC 4.6.0 does.
14597         (alloca): Adjust to new signature.
14598         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
14599         New macro, which patches Autoconf in a similar way.
14600
14601         c-stack: stop worrying about stack direction
14602         * lib/c-stack.c (find_stack_direction): Remove.
14603         (segv_handler): Don't worry about stack direction growth, as it's
14604         too much of a pain to configure this correctly, given how compilers
14605         are optimizing-away our stack-growth detection code.  Instead, assume
14606         that any access to just before or just after the stack is OK.
14607         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
14608         Don't require AC_FUNC_ALLOCA; no longer needed.
14609
14610 2011-06-20  Eric Blake  <eblake@redhat.com>
14611
14612         test-stat: don't allocate PATH_MAX bytes
14613         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
14614         PATH_MAX-sized buffer.
14615         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
14616         * modules/stat-tests (Depends-on): Likewise.
14617         * tests/test-fstatat.c (includes): Drop pathmax.h.
14618         * tests/test-stat.c (includes): Likewise.
14619         Reported by Bruno Haible.
14620
14621 2011-06-20  Bruno Haible  <bruno@clisp.org>
14622
14623         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
14624         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
14625         * lib/float.c: New file.
14626         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
14627         REPLACE_FLOAT_LDBL.
14628         * modules/float (Files): Add lib/float.c.
14629         (configure.ac): Invoke AC_LIBOBJ.
14630         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
14631
14632 2011-06-20  Bruno Haible  <bruno@clisp.org>
14633
14634         Tests for module 'float'.
14635         * modules/float-tests: New file.
14636         * tests/test-float.c: New file.
14637
14638 2011-06-19  Bruno Haible  <bruno@clisp.org>
14639
14640         isinf: Coding style.
14641         * lib/isinf.c: Use GNU coding style.
14642
14643 2011-06-19  Bruno Haible  <bruno@clisp.org>
14644
14645         linkat test: Avoid test failure on AIX 7.1.
14646         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
14647         * tests/test-link.h (test_link): Likewise.
14648
14649 2011-06-19  Bruno Haible  <bruno@clisp.org>
14650
14651         pread test: Avoid test failure on OpenBSD 4.9.
14652         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
14653
14654 2011-06-19  Bruno Haible  <bruno@clisp.org>
14655
14656         sprintf-posix: Fix test failure on AIX 7.1.
14657         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
14658         * doc/posix-functions/dprintf.texi: Mention limited precision problem
14659         on AIX.
14660         * doc/posix-functions/fprintf.texi: Likewise.
14661         * doc/posix-functions/printf.texi: Likewise.
14662         * doc/posix-functions/snprintf.texi: Likewise.
14663         * doc/posix-functions/sprintf.texi: Likewise.
14664         * doc/posix-functions/vdprintf.texi: Likewise.
14665         * doc/posix-functions/vfprintf.texi: Likewise.
14666         * doc/posix-functions/vprintf.texi: Likewise.
14667         * doc/posix-functions/vsnprintf.texi: Likewise.
14668         * doc/posix-functions/vsprintf.texi: Likewise.
14669
14670 2011-06-19  Bruno Haible  <bruno@clisp.org>
14671
14672         roundl-ieee: Fix test failure on AIX 7.1.
14673         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
14674         * doc/posix-functions/roundl.texi: Mention problem with negative
14675         arguments.
14676
14677 2011-06-19  Bruno Haible  <bruno@clisp.org>
14678
14679         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14680         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
14681         * doc/posix-functions/round.texi: Mention problem with negative
14682         arguments.
14683         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
14684
14685 2011-06-19  Bruno Haible  <bruno@clisp.org>
14686
14687         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14688         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
14689         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
14690         * doc/posix-functions/roundf.texi: Mention problem with negative
14691         arguments.
14692         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
14693
14694 2011-06-19  Bruno Haible  <bruno@clisp.org>
14695
14696         ceilf-ieee: Work around bug on MacOS X 10.5.
14697         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
14698
14699         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
14700         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
14701         IEEE compliant, avoid compiler optimizations.
14702         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14703         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14704         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14705         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14706         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14707         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14708         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14709         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14710         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14711         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14712
14713 2011-06-19  Bruno Haible  <bruno@clisp.org>
14714
14715         ceilf-ieee: Work around bug on AIX 7.1.
14716         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
14717         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
14718
14719 2011-06-19  Bruno Haible  <bruno@clisp.org>
14720
14721         ceil-ieee: Work around bug on AIX 7.1.
14722         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
14723         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
14724
14725 2011-06-18  Bruno Haible  <bruno@clisp.org>
14726
14727         fsync test: Avoid test failure on MacOS X and AIX.
14728         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
14729         EINVAL.
14730
14731 2011-06-18  Bruno Haible  <bruno@clisp.org>
14732
14733         openat, fdopendir tests: Fix link errors.
14734         * modules/openat-tests (Depends-on): Add progname.
14735         * modules/fdopendir-tests (Depends-on): Likewise.
14736         * tests/test-fchownat.c: Include progname.h.
14737         (main): Call set_program_name.
14738         * tests/test-fstatat.c: Include progname.h.
14739         (main): Call set_program_name.
14740         * tests/test-mkdirat.c: Include progname.h.
14741         (main): Call set_program_name.
14742         * tests/test-openat.c: Include progname.h.
14743         (main): Call set_program_name.
14744         * tests/test-unlinkat.c: Include progname.h.
14745         (main): Call set_program_name.
14746         * tests/test-fdopendir.c: Include progname.h.
14747         (main): Call set_program_name.
14748
14749 2011-06-18  Bruno Haible  <bruno@clisp.org>
14750
14751         Doc update.
14752         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
14753         HP-UX.
14754         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
14755
14756 2011-06-18  Bruno Haible  <bruno@clisp.org>
14757
14758         getcwd tests: Avoid compilation error on HP-UX 11.31.
14759         * modules/getcwd-tests (Depends-on): Add pathmax.
14760         * tests/test-getcwd.c: Include pathmax.h.
14761
14762 2011-06-18  Bruno Haible  <bruno@clisp.org>
14763
14764         isfinite, isinf: Fix link error on AIX 6 and 7.
14765         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
14766         needed, also test the macro with a 'float' argument.
14767         * m4/isinf.m4 (gl_ISINF): Likewise.
14768
14769 2011-06-18  Bruno Haible  <bruno@clisp.org>
14770
14771         getloadavg: Don't clobber LIBS. Regression from previous commit.
14772         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
14773         AC_CHECK_LIB from here...
14774         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
14775         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
14776         gl_func_getloadavg_done.
14777         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14778
14779 2011-06-18  Bruno Haible  <bruno@clisp.org>
14780
14781         clean-temp: Improve documentation.
14782         * lib/clean-temp.h: Explain better how to use this module.
14783         Reported by John Darrington <john@darrington.wattle.id.au>.
14784
14785 2011-06-17  Bruno Haible  <bruno@clisp.org>
14786
14787         pread, pwrite: Avoid cc warning on AIX.
14788         * lib/unistd.in.h (pread): Undefine before defining as a macro.
14789         (pwrite): Likewise.
14790
14791 2011-06-17  Bruno Haible  <bruno@clisp.org>
14792
14793         spawn-pipe tests: Fix link error.
14794         * tests/test-spawn-pipe-child.c: Undefine fprintf.
14795         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14796
14797 2011-06-17  Bruno Haible  <bruno@clisp.org>
14798
14799         Tests: Remove unnecessary dependency.
14800         * modules/canonicalize-tests (Depends-on): Remove progname.
14801         * modules/chown-tests (Depends-on): Likewise.
14802         * modules/dirname-tests (Depends-on): Likewise.
14803         * modules/fdopendir-tests (Depends-on): Likewise.
14804         * modules/fdutimensat-tests (Depends-on): Likewise.
14805         * modules/hash-tests (Depends-on): Likewise.
14806         * modules/lchown-tests (Depends-on): Likewise.
14807         * modules/linkat-tests (Depends-on): Likewise.
14808         * modules/renameat-tests (Depends-on): Likewise.
14809         * modules/spawn-pipe-tests (Depends-on): Likewise.
14810         * modules/utimensat-tests (Depends-on): Likewise.
14811
14812 2011-06-17  Bruno Haible  <bruno@clisp.org>
14813
14814         spawn-pipe tests: Fix link error.
14815         * tests/test-spawn-pipe-child.c: Undefine fflush.
14816
14817 2011-06-17  Bruno Haible  <bruno@clisp.org>
14818
14819         Fix tests link errors.
14820         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
14821         * modules/chown-tests (Makefile.am): Don't link test-chown with
14822         LIBINTL.
14823         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
14824         LIBINTL.
14825         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
14826         LIBINTL.
14827         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
14828         LIBINTL.
14829
14830 2011-06-16  Bruno Haible  <bruno@clisp.org>
14831
14832         crypto/gc-sha1: Fix recent regression.
14833         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
14834         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
14835
14836         crypto/gc-md5: Fix recent regression.
14837         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
14838
14839         crypto/gc-md4: Fix recent regression.
14840         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
14841         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
14842
14843         crypto/gc-arctwo: Fix recent regression.
14844         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
14845         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
14846
14847         crypto/gc-rijndael: Fix recent regression.
14848         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
14849         (configure.ac): Invoke AC_LIBOBJ here.
14850         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
14851         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14852
14853         crypto/gc-hmac-sha1: Fix recent regression.
14854         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
14855         (configure.ac): Invoke AC_LIBOBJ here.
14856         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
14857         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14858
14859         crypto/gc-hmac-md5: Fix recent regression.
14860         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
14861         (configure.ac): Invoke AC_LIBOBJ here.
14862         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
14863         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14864
14865         crypto/gc-des: Fix recent regression.
14866         * modules/crypto/gc-des (Files): Remove m4/des.m4.
14867         (configure.ac): Invoke AC_LIBOBJ here.
14868         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
14869         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14870
14871         crypto/gc-arcfour: Fix recent regression.
14872         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
14873         (configure.ac): Invoke AC_LIBOBJ here.
14874         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
14875         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14876
14877 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
14878
14879         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
14880         After the 2011-05-21 change, this macro requires
14881         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
14882         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14883
14884 2011-06-16  Bruno Haible  <bruno@clisp.org>
14885
14886         fprintftime: Move AC_LIBOBJ invocations to module description.
14887         * m4/fprintftime.m4: Remove file.
14888         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
14889         (configure.ac): Remove gl_FPRINTFTIME call.
14890         (Makefile.am): Augment lib_SOURCES.
14891         Reported by Jim Meyering.
14892
14893 2011-06-16  Bruno Haible  <bruno@clisp.org>
14894
14895         tmpfile-safer: Finish 2011-05-23 commit.
14896         * m4/stdio-safer.m4: Really remove file.
14897         Reported by Jim Meyering.
14898
14899 2011-06-16  Bruno Haible  <bruno@clisp.org>
14900
14901         syntax-check: Fix typo.
14902         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
14903         printf-posix.m4.
14904         Reported by Jim Meyering.
14905
14906 2011-06-13  Jim Meyering  <meyering@redhat.com>
14907
14908         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
14909         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
14910
14911 2011-05-23  Bruno Haible  <bruno@clisp.org>
14912
14913         yesno: Move AC_LIBOBJ invocations to module description.
14914         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
14915         * modules/yesno (Makefile.am): Augment lib_SOURCES.
14916
14917 2011-05-23  Bruno Haible  <bruno@clisp.org>
14918
14919         xstrtol: Move AC_LIBOBJ invocations to module description.
14920         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
14921         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
14922
14923 2011-05-23  Bruno Haible  <bruno@clisp.org>
14924
14925         xstrtold: Move AC_LIBOBJ invocations to module description.
14926         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
14927         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
14928
14929 2011-05-23  Bruno Haible  <bruno@clisp.org>
14930
14931         xstrtod: Move AC_LIBOBJ invocations to module description.
14932         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
14933         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
14934
14935 2011-05-23  Bruno Haible  <bruno@clisp.org>
14936
14937         xnanosleep: Move AC_LIBOBJ invocations to module description.
14938         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
14939         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
14940
14941 2011-05-23  Bruno Haible  <bruno@clisp.org>
14942
14943         xgetcwd: Move AC_LIBOBJ invocations to module description.
14944         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
14945         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
14946
14947 2011-05-23  Bruno Haible  <bruno@clisp.org>
14948
14949         xalloc: Move AC_LIBOBJ invocations to module description.
14950         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
14951         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
14952
14953 2011-05-23  Bruno Haible  <bruno@clisp.org>
14954
14955         write-any-file: Move AC_LIBOBJ invocations to module description.
14956         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
14957         invocation.
14958         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
14959
14960 2011-05-23  Bruno Haible  <bruno@clisp.org>
14961
14962         utimens: Move AC_LIBOBJ invocations to module description.
14963         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
14964         * modules/utimens (Makefile.am): Augment lib_SOURCES.
14965
14966 2011-05-23  Bruno Haible  <bruno@clisp.org>
14967
14968         utimecmp: Move AC_LIBOBJ invocations to module description.
14969         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
14970         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
14971
14972 2011-05-23  Bruno Haible  <bruno@clisp.org>
14973
14974         userspec: Move AC_LIBOBJ invocations to module description.
14975         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
14976         * modules/userspec (Makefile.am): Augment lib_SOURCES.
14977
14978 2011-05-23  Bruno Haible  <bruno@clisp.org>
14979
14980         unlinkdir: Move AC_LIBOBJ invocations to module description.
14981         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
14982         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
14983
14984 2011-05-23  Bruno Haible  <bruno@clisp.org>
14985
14986         unistd-safer: Move AC_LIBOBJ invocations to module description.
14987         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
14988         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
14989
14990 2011-05-23  Bruno Haible  <bruno@clisp.org>
14991
14992         tempname: Move AC_LIBOBJ invocations to module description.
14993         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
14994         * modules/tempname (Makefile.am): Augment lib_SOURCES.
14995
14996 2011-05-23  Bruno Haible  <bruno@clisp.org>
14997
14998         strftime: Move AC_LIBOBJ invocations to module description.
14999         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
15000         * modules/strftime (Makefile.am): Augment lib_SOURCES.
15001
15002 2011-05-23  Bruno Haible  <bruno@clisp.org>
15003
15004         stdlib-safer: Move AC_LIBOBJ invocations to module description.
15005         * m4/stdlib-safer.m4: Remove file.
15006         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
15007         (configure.ac): Remove gl_STDLIB_SAFER call.
15008         (Makefile.am): Augment lib_SOURCES.
15009
15010 2011-05-23  Bruno Haible  <bruno@clisp.org>
15011
15012         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
15013         * m4/stdio-safer.m4: Remove file.
15014         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
15015         (configure.ac): Remove gl_TMPFILE_SAFER call.
15016         (Makefile.am): Augment lib_SOURCES.
15017
15018 2011-05-23  Bruno Haible  <bruno@clisp.org>
15019
15020         popen-safer: Move AC_LIBOBJ invocations to module description.
15021         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
15022         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
15023         (configure.ac): Remove gl_POPEN_SAFER call.
15024         (Makefile.am): Augment lib_SOURCES.
15025
15026 2011-05-23  Bruno Haible  <bruno@clisp.org>
15027
15028         freopen-safer: Move AC_LIBOBJ invocations to module description.
15029         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
15030         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
15031         (configure.ac): Remove gl_FREOPEN_SAFER call.
15032         (Makefile.am): Augment lib_SOURCES.
15033
15034 2011-05-23  Bruno Haible  <bruno@clisp.org>
15035
15036         fopen-safer: Move AC_LIBOBJ invocations to module description.
15037         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
15038         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
15039         (configure.ac): Remove gl_FOPEN_SAFER call.
15040         (Makefile.am): Augment lib_SOURCES.
15041
15042 2011-05-23  Bruno Haible  <bruno@clisp.org>
15043
15044         crypto/sha512: Move AC_LIBOBJ invocations to module description.
15045         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
15046         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
15047
15048 2011-05-23  Bruno Haible  <bruno@clisp.org>
15049
15050         crypto/sha256: Move AC_LIBOBJ invocations to module description.
15051         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
15052         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
15053
15054 2011-05-23  Bruno Haible  <bruno@clisp.org>
15055
15056         crypto/sha1: Move AC_LIBOBJ invocations to module description.
15057         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
15058         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
15059
15060 2011-05-23  Bruno Haible  <bruno@clisp.org>
15061
15062         settime: Move AC_LIBOBJ invocations to module description.
15063         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
15064         * modules/settime (Makefile.am): Augment lib_SOURCES.
15065
15066 2011-05-23  Bruno Haible  <bruno@clisp.org>
15067
15068         savedir: Move AC_LIBOBJ invocations to module description.
15069         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
15070         * modules/savedir (Makefile.am): Augment lib_SOURCES.
15071
15072 2011-05-23  Bruno Haible  <bruno@clisp.org>
15073
15074         save-cwd: Move AC_LIBOBJ invocations to module description.
15075         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
15076         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
15077
15078 2011-05-23  Bruno Haible  <bruno@clisp.org>
15079
15080         same: Move AC_LIBOBJ invocations to module description.
15081         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
15082         * modules/same (Makefile.am): Augment lib_SOURCES.
15083
15084 2011-05-23  Bruno Haible  <bruno@clisp.org>
15085
15086         safe-write: Move AC_LIBOBJ invocations to module description.
15087         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
15088         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
15089         instead of gl_SAFE_WRITE.
15090         (Makefile.am): Augment lib_SOURCES.
15091
15092 2011-05-23  Bruno Haible  <bruno@clisp.org>
15093
15094         safe-read: Move AC_LIBOBJ invocations to module description.
15095         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
15096         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
15097         of gl_SAFE_READ.
15098         (Makefile.am): Augment lib_SOURCES.
15099
15100 2011-05-23  Bruno Haible  <bruno@clisp.org>
15101
15102         safe-alloc: Move AC_LIBOBJ invocations to module description.
15103         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
15104         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
15105
15106 2011-05-23  Bruno Haible  <bruno@clisp.org>
15107
15108         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
15109         * m4/rijndael.m4: Remove file.
15110         * modules/crypto/rijndael (Files): Remove it.
15111         (configure.ac): Remove gl_RIJNDAEL call.
15112         (Makefile.am): Augment lib_SOURCES.
15113
15114 2011-05-23  Bruno Haible  <bruno@clisp.org>
15115
15116         readtokens: Move AC_LIBOBJ invocations to module description.
15117         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
15118         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
15119
15120 2011-05-23  Bruno Haible  <bruno@clisp.org>
15121
15122         read-file: Move AC_LIBOBJ invocations to module description.
15123         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
15124         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
15125         of gl_FUNC_READ_FILE.
15126         (Makefile.am): Augment lib_SOURCES.
15127
15128 2011-05-23  Bruno Haible  <bruno@clisp.org>
15129
15130         quotearg: Move AC_LIBOBJ invocations to module description.
15131         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
15132         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
15133
15134 2011-05-23  Bruno Haible  <bruno@clisp.org>
15135
15136         quote: Move AC_LIBOBJ invocations to module description.
15137         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
15138         * modules/quote (Makefile.am): Augment lib_SOURCES.
15139
15140 2011-05-23  Bruno Haible  <bruno@clisp.org>
15141
15142         posixver: Move AC_LIBOBJ invocations to module description.
15143         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
15144         * modules/posixver (Makefile.am): Augment lib_SOURCES.
15145
15146 2011-05-23  Bruno Haible  <bruno@clisp.org>
15147
15148         posixtm: Move AC_LIBOBJ invocations to module description.
15149         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
15150         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
15151
15152 2011-05-23  Bruno Haible  <bruno@clisp.org>
15153
15154         physmem: Move AC_LIBOBJ invocations to module description.
15155         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
15156         * modules/physmem (Makefile.am): Augment lib_SOURCES.
15157
15158 2011-05-23  Bruno Haible  <bruno@clisp.org>
15159
15160         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
15161         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
15162         invocation.
15163         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
15164
15165 2011-05-23  Bruno Haible  <bruno@clisp.org>
15166
15167         mpsort: Move AC_LIBOBJ invocations to module description.
15168         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
15169         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
15170
15171 2011-05-23  Bruno Haible  <bruno@clisp.org>
15172
15173         modechange: Move AC_LIBOBJ invocations to module description.
15174         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
15175         * modules/modechange (Makefile.am): Augment lib_SOURCES.
15176
15177 2011-05-23  Bruno Haible  <bruno@clisp.org>
15178
15179         mkdir-p: Move AC_LIBOBJ invocations to module description.
15180         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
15181         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
15182
15183 2011-05-23  Bruno Haible  <bruno@clisp.org>
15184
15185         mkancesdirs: Move AC_LIBOBJ invocations to module description.
15186         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
15187         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
15188
15189 2011-05-23  Bruno Haible  <bruno@clisp.org>
15190
15191         mgetgroups: Move AC_LIBOBJ invocations to module description.
15192         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
15193         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
15194
15195 2011-05-23  Bruno Haible  <bruno@clisp.org>
15196
15197         memxor: Move AC_LIBOBJ invocations to module description.
15198         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
15199         * modules/memxor (Makefile.am): Augment lib_SOURCES.
15200
15201 2011-05-23  Bruno Haible  <bruno@clisp.org>
15202
15203         memcoll: Move AC_LIBOBJ invocations to module description.
15204         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
15205         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
15206
15207 2011-05-23  Bruno Haible  <bruno@clisp.org>
15208
15209         memcasecmp: Move AC_LIBOBJ invocations to module description.
15210         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
15211         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
15212
15213 2011-05-23  Bruno Haible  <bruno@clisp.org>
15214
15215         crypto/md5: Move AC_LIBOBJ invocations to module description.
15216         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
15217         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
15218
15219 2011-05-23  Bruno Haible  <bruno@clisp.org>
15220
15221         crypto/md4: Move AC_LIBOBJ invocations to module description.
15222         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
15223         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
15224
15225 2011-05-23  Bruno Haible  <bruno@clisp.org>
15226
15227         crypto/md2: Move AC_LIBOBJ invocations to module description.
15228         * m4/md2.m4: Remove file.
15229         * modules/crypto/md2 (Files): Remove it.
15230         (configure.ac): Remove gl_MD2 call.
15231         (Makefile.am): Augment lib_SOURCES.
15232
15233 2011-05-23  Bruno Haible  <bruno@clisp.org>
15234
15235         long-options: Move AC_LIBOBJ invocations to module description.
15236         * m4/long-options.m4: Remove file.
15237         * modules/long-options (Files): Remove it.
15238         (configure.ac): Remove gl_LONG_OPTIONS call.
15239         (Makefile.am): Augment lib_SOURCES.
15240
15241 2011-05-23  Bruno Haible  <bruno@clisp.org>
15242
15243         i-ring: Move AC_LIBOBJ invocations to module description.
15244         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
15245         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
15246
15247 2011-05-23  Bruno Haible  <bruno@clisp.org>
15248
15249         idcache: Move AC_LIBOBJ invocations to module description.
15250         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
15251         * modules/idcache (Makefile.am): Augment lib_SOURCES.
15252
15253 2011-05-23  Bruno Haible  <bruno@clisp.org>
15254
15255         human: Move AC_LIBOBJ invocations to module description.
15256         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
15257         * modules/human (Makefile.am): Augment lib_SOURCES.
15258
15259 2011-05-23  Bruno Haible  <bruno@clisp.org>
15260
15261         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
15262         * m4/hmac-sha1.m4: Remove file.
15263         * modules/crypto/hmac-sha1 (Files): Remove it.
15264         (configure.ac): Remove gl_HMAC_SHA1 call.
15265         (Makefile.am): Augment lib_SOURCES.
15266
15267 2011-05-23  Bruno Haible  <bruno@clisp.org>
15268
15269         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
15270         * m4/hmac-md5.m4: Remove file.
15271         * modules/crypto/hmac-md5 (Files): Remove it.
15272         (configure.ac): Remove gl_HMAC_MD5 call.
15273         (Makefile.am): Augment lib_SOURCES.
15274
15275 2011-05-23  Bruno Haible  <bruno@clisp.org>
15276
15277         hash: Move AC_LIBOBJ invocations to module description.
15278         * m4/hash.m4: Remove file.
15279         * modules/hash (Files): Remove it.
15280         (configure.ac): Remove gl_HASH call.
15281         (Makefile.am): Augment lib_SOURCES.
15282
15283 2011-05-23  Bruno Haible  <bruno@clisp.org>
15284
15285         hard-locale: Move AC_LIBOBJ invocations to module description.
15286         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
15287         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
15288
15289 2011-05-23  Bruno Haible  <bruno@clisp.org>
15290
15291         getugroups: Move AC_LIBOBJ invocations to module description.
15292         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
15293         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
15294
15295 2011-05-23  Bruno Haible  <bruno@clisp.org>
15296
15297         gettime: Move AC_LIBOBJ invocations to module description.
15298         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
15299         * modules/gettime (Makefile.am): Augment lib_SOURCES.
15300
15301 2011-05-23  Bruno Haible  <bruno@clisp.org>
15302
15303         getndelim2: Move AC_LIBOBJ invocations to module description.
15304         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
15305         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
15306
15307 2011-05-23  Bruno Haible  <bruno@clisp.org>
15308
15309         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
15310         * m4/gc-pbkdf2-sha1.m4: Remove file.
15311         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
15312         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
15313         (Makefile.am): Augment lib_SOURCES.
15314
15315 2011-05-23  Bruno Haible  <bruno@clisp.org>
15316
15317         fts: Move AC_LIBOBJ invocations to module description.
15318         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
15319         * modules/fts (configure.ac): ... to here.
15320
15321 2011-05-23  Bruno Haible  <bruno@clisp.org>
15322
15323         file-type: Move AC_LIBOBJ invocations to module description.
15324         * m4/file-type.m4: Remove file.
15325         * modules/file-type (Files): Remove it.
15326         (configure.ac): Remove gl_FILE_TYPE call.
15327         (Makefile.am): Augment lib_SOURCES.
15328
15329 2011-05-23  Bruno Haible  <bruno@clisp.org>
15330
15331         filenamecat*: Respect rules for use of AC_LIBOBJ.
15332         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
15333         Remove AC_LIBOBJ invocation.
15334         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
15335         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
15336
15337 2011-05-23  Bruno Haible  <bruno@clisp.org>
15338
15339         filemode: Move AC_LIBOBJ invocations to module description.
15340         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
15341         * modules/filemode (Makefile.am): Augment lib_SOURCES.
15342
15343 2011-05-23  Bruno Haible  <bruno@clisp.org>
15344
15345         openat-safer: Move AC_LIBOBJ invocations to module description.
15346         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
15347         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
15348
15349 2011-05-23  Bruno Haible  <bruno@clisp.org>
15350
15351         fcntl-safer: Move AC_LIBOBJ invocations to module description.
15352         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
15353         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
15354
15355 2011-05-23  Bruno Haible  <bruno@clisp.org>
15356
15357         exclude: Move AC_LIBOBJ invocations to module description.
15358         * m4/exclude.m4: Remove file.
15359         * modules/exclude (Files): Remove it.
15360         (configure.ac): Remove gl_EXCLUDE call.
15361         (Makefile.am): Augment lib_SOURCES.
15362
15363 2011-05-23  Bruno Haible  <bruno@clisp.org>
15364
15365         dirname*: Respect rules for use of AC_LIBOBJ.
15366         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
15367         invocations.
15368         * modules/dirname (Makefile.am): Augment lib_SOURCES.
15369         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
15370
15371 2011-05-23  Bruno Haible  <bruno@clisp.org>
15372
15373         dirent-safer: Move AC_LIBOBJ invocations to module description.
15374         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
15375         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
15376
15377 2011-05-23  Bruno Haible  <bruno@clisp.org>
15378
15379         crypto/des: Move AC_LIBOBJ invocations to module description.
15380         * m4/des.m4: Remove file.
15381         * modules/crypto/des (Files): Remove it.
15382         (configure.ac): Remove gl_DES call.
15383         (Makefile.am): Augment lib_SOURCES.
15384
15385 2011-05-23  Bruno Haible  <bruno@clisp.org>
15386
15387         cycle-check: Move AC_LIBOBJ invocations to module description.
15388         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
15389         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
15390
15391 2011-05-23  Bruno Haible  <bruno@clisp.org>
15392
15393         c-strtold: Move AC_LIBOBJ invocations to module description.
15394         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
15395         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
15396
15397 2011-05-23  Bruno Haible  <bruno@clisp.org>
15398
15399         c-strtod: Move AC_LIBOBJ invocations to module description.
15400         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
15401         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
15402
15403 2011-05-23  Bruno Haible  <bruno@clisp.org>
15404
15405         crc: Move AC_LIBOBJ invocations to module description.
15406         * m4/crc.m4: Remove file.
15407         * modules/crc (Files): Remove it.
15408         (configure.ac): Remove gl_CRC call.
15409         (Makefile.am): Augment lib_SOURCES.
15410
15411 2011-05-23  Bruno Haible  <bruno@clisp.org>
15412
15413         close-stream: Move AC_LIBOBJ invocations to module description.
15414         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
15415         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
15416
15417 2011-05-23  Bruno Haible  <bruno@clisp.org>
15418
15419         closeout: Move AC_LIBOBJ invocations to module description.
15420         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
15421         * modules/closeout (Makefile.am): Augment lib_SOURCES.
15422
15423 2011-05-23  Bruno Haible  <bruno@clisp.org>
15424
15425         closein: Move AC_LIBOBJ invocations to module description.
15426         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
15427         * modules/closein (Makefile.am): Augment lib_SOURCES.
15428
15429 2011-05-23  Bruno Haible  <bruno@clisp.org>
15430
15431         cloexec: Move AC_LIBOBJ invocations to module description.
15432         * m4/cloexec.m4: Remove file.
15433         * modules/cloexec (Files): Remove it.
15434         (configure.ac): Remove gl_CLOEXEC call.
15435         (Makefile.am): Augment lib_SOURCES.
15436
15437 2011-05-23  Bruno Haible  <bruno@clisp.org>
15438
15439         check-version: Move AC_LIBOBJ invocations to module description.
15440         * m4/check-version.m4: Remove file.
15441         * modules/check-version (Files): Remove it.
15442         (configure.ac): Remove gl_CHECK_VERSION call.
15443         (Makefile.am): Augment lib_SOURCES.
15444
15445 2011-05-23  Bruno Haible  <bruno@clisp.org>
15446
15447         chdir-safer: Move AC_LIBOBJ invocations to module description.
15448         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
15449         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
15450
15451 2011-05-23  Bruno Haible  <bruno@clisp.org>
15452
15453         canonicalize: Move AC_LIBOBJ invocations to module description.
15454         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
15455         AC_LIBOBJ invocation.
15456         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
15457
15458 2011-05-23  Bruno Haible  <bruno@clisp.org>
15459
15460         canon-host: Move AC_LIBOBJ invocations to module description.
15461         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
15462         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
15463         instead of gl_CANON_HOST.
15464         (Makefile.am): Augment lib_SOURCES.
15465
15466 2011-05-23  Bruno Haible  <bruno@clisp.org>
15467
15468         backupfile: Move AC_LIBOBJ invocations to module description.
15469         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
15470         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
15471
15472 2011-05-23  Bruno Haible  <bruno@clisp.org>
15473
15474         argmatch: Move AC_LIBOBJ invocations to module description.
15475         * m4/argmatch.m4: Remove file.
15476         * modules/argmatch (Files): Remove it.
15477         (configure.ac): Remove gl_ARGMATCH call.
15478         (Makefile.am): Augment lib_SOURCES.
15479
15480 2011-05-23  Bruno Haible  <bruno@clisp.org>
15481
15482         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
15483         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
15484         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
15485
15486 2011-05-23  Bruno Haible  <bruno@clisp.org>
15487
15488         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
15489         * m4/arcfour.m4: Remove file.
15490         * modules/crypto/arcfour (Files): Remove it.
15491         (configure.ac): Remove gl_ARCFOUR call.
15492         (Makefile.am): Augment lib_SOURCES.
15493
15494 2011-05-22  Bruno Haible  <bruno@clisp.org>
15495
15496         write: Move AC_LIBOBJ invocations to module description.
15497         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
15498         * modules/write (configure.ac): ... to here.
15499
15500 2011-05-22  Bruno Haible  <bruno@clisp.org>
15501
15502         wmemset: Move AC_LIBOBJ invocations to module description.
15503         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
15504         here...
15505         * modules/wmemset (configure.ac): ... to here.
15506
15507 2011-05-22  Bruno Haible  <bruno@clisp.org>
15508
15509         wmemmove: Move AC_LIBOBJ invocations to module description.
15510         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
15511         here...
15512         * modules/wmemmove (configure.ac): ... to here.
15513
15514 2011-05-22  Bruno Haible  <bruno@clisp.org>
15515
15516         wmemcpy: Move AC_LIBOBJ invocations to module description.
15517         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
15518         here...
15519         * modules/wmemcpy (configure.ac): ... to here.
15520
15521 2011-05-22  Bruno Haible  <bruno@clisp.org>
15522
15523         wmemcmp: Move AC_LIBOBJ invocations to module description.
15524         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
15525         here...
15526         * modules/wmemcmp (configure.ac): ... to here.
15527
15528 2011-05-22  Bruno Haible  <bruno@clisp.org>
15529
15530         wmemchr: Move AC_LIBOBJ invocations to module description.
15531         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
15532         here...
15533         * modules/wmemchr (configure.ac): ... to here.
15534
15535 2011-05-22  Bruno Haible  <bruno@clisp.org>
15536
15537         wcswidth: Move AC_LIBOBJ invocations to module description.
15538         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
15539         here...
15540         * modules/wcswidth (configure.ac): ... to here.
15541
15542 2011-05-22  Bruno Haible  <bruno@clisp.org>
15543
15544         wcwidth: Respect rules for use of AC_LIBOBJ.
15545         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
15546         invocation from here...
15547         * modules/wcwidth (configure.ac): ... to here.
15548         (Depends-on): Update conditions.
15549
15550 2011-05-22  Bruno Haible  <bruno@clisp.org>
15551
15552         wctype: Move AC_LIBOBJ invocations to module description.
15553         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
15554         invocation from here...
15555         * modules/wctype (configure.ac): ... to here.
15556         (Depends-on): Update conditions.
15557
15558 2011-05-22  Bruno Haible  <bruno@clisp.org>
15559
15560         wctrans: Move AC_LIBOBJ invocations to module description.
15561         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
15562         invocation from here...
15563         * modules/wctrans (configure.ac): ... to here.
15564
15565 2011-05-22  Bruno Haible  <bruno@clisp.org>
15566
15567         wctomb: Move AC_LIBOBJ invocations to module description.
15568         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
15569         invocations from here...
15570         * modules/wctomb (configure.ac): ... to here.
15571
15572 2011-05-22  Bruno Haible  <bruno@clisp.org>
15573
15574         wctob: Move AC_LIBOBJ invocations to module description.
15575         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
15576         gl_PREREQ_WCTOB invocations from here...
15577         * modules/wctob (configure.ac): ... to here.
15578         (Depends-on): Update conditions.
15579
15580 2011-05-22  Bruno Haible  <bruno@clisp.org>
15581
15582         wcsxfrm: Move AC_LIBOBJ invocations to module description.
15583         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
15584         here...
15585         * modules/wcsxfrm (configure.ac): ... to here.
15586
15587 2011-05-22  Bruno Haible  <bruno@clisp.org>
15588
15589         wcstok: Move AC_LIBOBJ invocations to module description.
15590         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
15591         * modules/wcstok (configure.ac): ... to here.
15592
15593 2011-05-22  Bruno Haible  <bruno@clisp.org>
15594
15595         wcsstr: Move AC_LIBOBJ invocations to module description.
15596         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
15597         * modules/wcsstr (configure.ac): ... to here.
15598
15599 2011-05-22  Bruno Haible  <bruno@clisp.org>
15600
15601         wcsspn: Move AC_LIBOBJ invocations to module description.
15602         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
15603         * modules/wcsspn (configure.ac): ... to here.
15604
15605 2011-05-22  Bruno Haible  <bruno@clisp.org>
15606
15607         wcsrtombs: Move AC_LIBOBJ invocations to module description.
15608         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
15609         gl_PREREQ_WCSRTOMBS invocations from here...
15610         * modules/wcsrtombs (configure.ac): ... to here.
15611
15612 2011-05-22  Bruno Haible  <bruno@clisp.org>
15613
15614         wcsrchr: Move AC_LIBOBJ invocations to module description.
15615         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
15616         here...
15617         * modules/wcsrchr (configure.ac): ... to here.
15618
15619 2011-05-22  Bruno Haible  <bruno@clisp.org>
15620
15621         wcspbrk: Move AC_LIBOBJ invocations to module description.
15622         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
15623         here...
15624         * modules/wcspbrk (configure.ac): ... to here.
15625
15626 2011-05-22  Bruno Haible  <bruno@clisp.org>
15627
15628         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
15629         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
15630         gl_PREREQ_WCSNRTOMBS invocations from here...
15631         * modules/wcsnrtombs (configure.ac): ... to here.
15632
15633 2011-05-22  Bruno Haible  <bruno@clisp.org>
15634
15635         wcsnlen: Move AC_LIBOBJ invocations to module description.
15636         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
15637         here...
15638         * modules/wcsnlen (configure.ac): ... to here.
15639
15640 2011-05-22  Bruno Haible  <bruno@clisp.org>
15641
15642         wcsncpy: Move AC_LIBOBJ invocations to module description.
15643         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
15644         here...
15645         * modules/wcsncpy (configure.ac): ... to here.
15646
15647 2011-05-22  Bruno Haible  <bruno@clisp.org>
15648
15649         wcsncmp: Move AC_LIBOBJ invocations to module description.
15650         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
15651         here...
15652         * modules/wcsncmp (configure.ac): ... to here.
15653
15654 2011-05-22  Bruno Haible  <bruno@clisp.org>
15655
15656         wcsncat: Move AC_LIBOBJ invocations to module description.
15657         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
15658         here...
15659         * modules/wcsncat (configure.ac): ... to here.
15660
15661 2011-05-22  Bruno Haible  <bruno@clisp.org>
15662
15663         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
15664         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
15665         from here...
15666         * modules/wcsncasecmp (configure.ac): ... to here.
15667
15668 2011-05-22  Bruno Haible  <bruno@clisp.org>
15669
15670         wcslen: Move AC_LIBOBJ invocations to module description.
15671         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
15672         * modules/wcslen (configure.ac): ... to here.
15673
15674 2011-05-22  Bruno Haible  <bruno@clisp.org>
15675
15676         wcsdup: Move AC_LIBOBJ invocations to module description.
15677         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
15678         * modules/wcsdup (configure.ac): ... to here.
15679
15680 2011-05-22  Bruno Haible  <bruno@clisp.org>
15681
15682         wcscspn: Move AC_LIBOBJ invocations to module description.
15683         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
15684         here...
15685         * modules/wcscspn (configure.ac): ... to here.
15686
15687 2011-05-22  Bruno Haible  <bruno@clisp.org>
15688
15689         wcscpy: Move AC_LIBOBJ invocations to module description.
15690         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
15691         * modules/wcscpy (configure.ac): ... to here.
15692
15693 2011-05-22  Bruno Haible  <bruno@clisp.org>
15694
15695         wcscoll: Move AC_LIBOBJ invocations to module description.
15696         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
15697         here...
15698         * modules/wcscoll (configure.ac): ... to here.
15699
15700 2011-05-22  Bruno Haible  <bruno@clisp.org>
15701
15702         wcscmp: Move AC_LIBOBJ invocations to module description.
15703         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
15704         * modules/wcscmp (configure.ac): ... to here.
15705
15706 2011-05-22  Bruno Haible  <bruno@clisp.org>
15707
15708         wcschr: Move AC_LIBOBJ invocations to module description.
15709         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
15710         * modules/wcschr (configure.ac): ... to here.
15711
15712 2011-05-22  Bruno Haible  <bruno@clisp.org>
15713
15714         wcscat: Move AC_LIBOBJ invocations to module description.
15715         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
15716         * modules/wcscat (configure.ac): ... to here.
15717
15718 2011-05-22  Bruno Haible  <bruno@clisp.org>
15719
15720         wcscasecmp: Move AC_LIBOBJ invocations to module description.
15721         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
15722         here...
15723         * modules/wcscasecmp (configure.ac): ... to here.
15724
15725 2011-05-22  Bruno Haible  <bruno@clisp.org>
15726
15727         wcrtomb: Move AC_LIBOBJ invocations to module description.
15728         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
15729         invocations from here...
15730         * modules/wcrtomb (configure.ac): ... to here.
15731
15732 2011-05-22  Bruno Haible  <bruno@clisp.org>
15733
15734         wcpncpy: Move AC_LIBOBJ invocations to module description.
15735         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
15736         here...
15737         * modules/wcpncpy (configure.ac): ... to here.
15738
15739 2011-05-22  Bruno Haible  <bruno@clisp.org>
15740
15741         wcpcpy: Move AC_LIBOBJ invocations to module description.
15742         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
15743         * modules/wcpcpy (configure.ac): ... to here.
15744
15745 2011-05-22  Bruno Haible  <bruno@clisp.org>
15746
15747         waitpid: Move AC_LIBOBJ invocations to module description.
15748         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
15749         invocation from here...
15750         * modules/waitpid (configure.ac): ... to here.
15751
15752 2011-05-22  Bruno Haible  <bruno@clisp.org>
15753
15754         utimensat: Move AC_LIBOBJ invocations to module description.
15755         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
15756         here...
15757         * modules/utimensat (configure.ac): ... to here.
15758
15759 2011-05-22  Bruno Haible  <bruno@clisp.org>
15760
15761         usleep: Move AC_LIBOBJ invocations to module description.
15762         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
15763         here...
15764         * modules/usleep (configure.ac): ... to here.
15765
15766 2011-05-22  Bruno Haible  <bruno@clisp.org>
15767
15768         unlockpt: Move AC_LIBOBJ invocations to module description.
15769         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
15770         gl_PREREQ_UNLOCKPT invocations from here...
15771         * modules/unlockpt (configure.ac): ... to here.
15772
15773 2011-05-22  Bruno Haible  <bruno@clisp.org>
15774
15775         unlink: Respect rules for use of AC_LIBOBJ.
15776         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
15777         * modules/unlink (configure.ac): ... to here.
15778
15779 2011-05-22  Bruno Haible  <bruno@clisp.org>
15780
15781         uname: Move AC_LIBOBJ invocations to module description.
15782         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
15783         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
15784         here...
15785         * modules/uname (configure.ac): ... to here.
15786
15787 2011-05-22  Bruno Haible  <bruno@clisp.org>
15788
15789         ttyname_r: Move AC_LIBOBJ invocations to module description.
15790         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
15791         gl_PREREQ_TTYNAME_R invocations from here...
15792         * modules/ttyname_r (configure.ac): ... to here.
15793
15794 2011-05-22  Bruno Haible  <bruno@clisp.org>
15795
15796         tsearch: Move AC_LIBOBJ invocations to module description.
15797         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
15798         invocations from here...
15799         * modules/tsearch (configure.ac): ... to here.
15800
15801 2011-05-22  Bruno Haible  <bruno@clisp.org>
15802
15803         towctrans: Move AC_LIBOBJ invocations to module description.
15804         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
15805         AC_LIBOBJ invocation from here...
15806         * modules/towctrans (configure.ac): ... to here.
15807
15808 2011-05-22  Bruno Haible  <bruno@clisp.org>
15809
15810         tmpfile: Move AC_LIBOBJ invocations to module description.
15811         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
15812         invocations from here...
15813         * modules/tmpfile (configure.ac): ... to here.
15814
15815 2011-05-22  Bruno Haible  <bruno@clisp.org>
15816
15817         times: Move AC_LIBOBJ invocations to module description.
15818         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
15819         * modules/times (configure.ac): ... to here.
15820
15821 2011-05-22  Bruno Haible  <bruno@clisp.org>
15822
15823         time_r: Move AC_LIBOBJ invocations to module description.
15824         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
15825         invocations from here...
15826         * modules/time_r (configure.ac): ... to here.
15827
15828 2011-05-22  Bruno Haible  <bruno@clisp.org>
15829
15830         timegm: Move AC_LIBOBJ invocations to module description.
15831         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
15832         invocations from here...
15833         * modules/timegm (configure.ac): ... to here.
15834
15835 2011-05-22  Bruno Haible  <bruno@clisp.org>
15836
15837         tcgetsid: Move AC_LIBOBJ invocations to module description.
15838         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
15839         and gl_PREREQ_TCGETSID invocations from here...
15840         * modules/tcgetsid (configure.ac): ... to here.
15841         (Depends-on): Update conditions.
15842
15843 2011-05-22  Bruno Haible  <bruno@clisp.org>
15844
15845         symlinkat: Move AC_LIBOBJ invocations to module description.
15846         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
15847         here...
15848         * modules/symlinkat (configure.ac): ... to here.
15849
15850 2011-05-22  Bruno Haible  <bruno@clisp.org>
15851
15852         symlink: Move AC_LIBOBJ invocations to module description.
15853         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
15854         here...
15855         * modules/symlink (configure.ac): ... to here.
15856
15857 2011-05-22  Bruno Haible  <bruno@clisp.org>
15858
15859         strverscmp: Move AC_LIBOBJ invocations to module description.
15860         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
15861         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
15862         from here...
15863         * modules/strverscmp (configure.ac): ... to here.
15864
15865 2011-05-22  Bruno Haible  <bruno@clisp.org>
15866
15867         strtok_r: Move AC_LIBOBJ invocations to module description.
15868         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
15869         and gl_PREREQ_STRTOK_R invocations from here...
15870         * modules/strtok_r (configure.ac): ... to here.
15871         (Depends-on): Update conditions.
15872
15873 2011-05-22  Bruno Haible  <bruno@clisp.org>
15874
15875         strtoumax: Move AC_LIBOBJ invocations to module description.
15876         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
15877         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
15878         from here...
15879         * modules/strtoumax (configure.ac): ... to here.
15880
15881 2011-05-22  Bruno Haible  <bruno@clisp.org>
15882
15883         strtoimax: Move AC_LIBOBJ invocations to module description.
15884         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
15885         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
15886         from here...
15887         * modules/strtoimax (configure.ac): ... to here.
15888
15889 2011-05-22  Bruno Haible  <bruno@clisp.org>
15890
15891         strtoull: Move AC_LIBOBJ invocations to module description.
15892         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
15893         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
15894         from here...
15895         * modules/strtoull (configure.ac): ... to here.
15896
15897 2011-05-22  Bruno Haible  <bruno@clisp.org>
15898
15899         strtoll: Move AC_LIBOBJ invocations to module description.
15900         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
15901         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
15902         here...
15903         * modules/strtoll (configure.ac): ... to here.
15904
15905 2011-05-22  Bruno Haible  <bruno@clisp.org>
15906
15907         strtoul: Move AC_LIBOBJ invocations to module description.
15908         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
15909         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15910         * modules/strtoul (configure.ac): ... to here.
15911
15912 2011-05-22  Bruno Haible  <bruno@clisp.org>
15913
15914         strtol: Move AC_LIBOBJ invocations to module description.
15915         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
15916         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15917         * modules/strtol (configure.ac): ... to here.
15918
15919 2011-05-22  Bruno Haible  <bruno@clisp.org>
15920
15921         strtod: Move AC_LIBOBJ invocations to module description.
15922         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
15923         invocations from here...
15924         * modules/strtod (configure.ac): ... to here.
15925
15926 2011-05-22  Bruno Haible  <bruno@clisp.org>
15927
15928         strstr*: Move AC_LIBOBJ invocations to module description.
15929         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
15930         invocations from here...
15931         * modules/strstr-simple (configure.ac): ... to here.
15932         * modules/strstr (configure.ac): ... and here.
15933
15934 2011-05-22  Bruno Haible  <bruno@clisp.org>
15935
15936         strsignal: Move AC_LIBOBJ invocations to module description.
15937         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
15938         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
15939         * modules/strsignal (configure.ac): ... to here.
15940         (Depends-on): Update conditions.
15941
15942 2011-05-22  Bruno Haible  <bruno@clisp.org>
15943
15944         strsep: Move AC_LIBOBJ invocations to module description.
15945         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
15946         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
15947         here...
15948         * modules/strsep (configure.ac): ... to here.
15949
15950 2011-05-22  Bruno Haible  <bruno@clisp.org>
15951
15952         strptime: Move AC_LIBOBJ invocations to module description.
15953         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
15954         gl_PREREQ_STRPTIME invocations from here...
15955         * modules/strptime (configure.ac): ... to here.
15956
15957 2011-05-22  Bruno Haible  <bruno@clisp.org>
15958
15959         strpbrk: Move AC_LIBOBJ invocations to module description.
15960         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
15961         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
15962         here...
15963         * modules/strpbrk (configure.ac): ... to here.
15964
15965 2011-05-22  Bruno Haible  <bruno@clisp.org>
15966
15967         strnlen: Move AC_LIBOBJ invocations to module description.
15968         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
15969         invocations from here...
15970         * modules/strnlen (configure.ac): ... to here.
15971
15972 2011-05-22  Bruno Haible  <bruno@clisp.org>
15973
15974         strndup: Move AC_LIBOBJ invocations to module description.
15975         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
15976         invocations from here...
15977         * modules/strndup (configure.ac): ... to here.
15978         (Depends-on): Update conditions.
15979
15980 2011-05-22  Bruno Haible  <bruno@clisp.org>
15981
15982         strncat: Move AC_LIBOBJ invocations to module description.
15983         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
15984         invocations from here...
15985         * modules/strncat (configure.ac): ... to here.
15986
15987 2011-05-22  Bruno Haible  <bruno@clisp.org>
15988
15989         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
15990         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
15991         invocations from here...
15992         * modules/strdup (configure.ac): ... to here.
15993         * modules/strdup-posix (configure.ac): ... and here.
15994
15995 2011-05-22  Bruno Haible  <bruno@clisp.org>
15996
15997         strcspn: Move AC_LIBOBJ invocations to module description.
15998         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
15999         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
16000         here...
16001         * modules/strcspn (configure.ac): ... to here.
16002
16003 2011-05-22  Bruno Haible  <bruno@clisp.org>
16004
16005         strchrnul: Move AC_LIBOBJ invocations to module description.
16006         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
16007         gl_PREREQ_STRCHRNUL invocations from here...
16008         * modules/strchrnul (configure.ac): ... to here.
16009
16010 2011-05-22  Bruno Haible  <bruno@clisp.org>
16011
16012         strcasestr*: Move AC_LIBOBJ invocations to module description.
16013         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
16014         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
16015         * modules/strcasestr-simple (configure.ac): ... to here.
16016         * modules/strcasestr (configure.ac): ... and here.
16017
16018 2011-05-22  Bruno Haible  <bruno@clisp.org>
16019
16020         strcase: Move AC_LIBOBJ invocations to module description.
16021         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
16022         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
16023         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
16024         gl_PREREQ_STRNCASECMP invocations from here...
16025         * modules/strcase (configure.ac): ... to here.
16026
16027 2011-05-22  Bruno Haible  <bruno@clisp.org>
16028
16029         stpncpy: Move AC_LIBOBJ invocations to module description.
16030         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
16031         here...
16032         * modules/stpncpy (configure.ac): ... to here.
16033
16034 2011-05-22  Bruno Haible  <bruno@clisp.org>
16035
16036         stpcpy: Move AC_LIBOBJ invocations to module description.
16037         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
16038         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
16039         here...
16040         * modules/stpcpy (configure.ac): ... to here.
16041
16042 2011-05-21  Bruno Haible  <bruno@clisp.org>
16043
16044         stat: Move AC_LIBOBJ invocations to module description.
16045         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
16046         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
16047         here...
16048         * modules/stat (configure.ac): ... to here.
16049
16050 2011-05-21  Bruno Haible  <bruno@clisp.org>
16051
16052         sleep: Move AC_LIBOBJ invocations to module description.
16053         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
16054         * modules/sleep (configure.ac): ... to here.
16055
16056 2011-05-21  Bruno Haible  <bruno@clisp.org>
16057
16058         signbit: Move AC_LIBOBJ invocations to module description.
16059         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
16060         * modules/signbit (configure.ac): ... to here.
16061
16062 2011-05-21  Bruno Haible  <bruno@clisp.org>
16063
16064         sigprocmask: Move AC_LIBOBJ invocations to module description.
16065         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
16066         gl_PREREQ_SIGPROMASK invocations from here...
16067         * modules/sigprocmask (configure.ac): ... to here.
16068
16069 2011-05-21  Bruno Haible  <bruno@clisp.org>
16070
16071         sigaction: Move AC_LIBOBJ invocations to module description.
16072         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
16073         gl_PREREQ_SIGACTION invocations from here...
16074         * modules/sigaction (configure.ac): ... to here.
16075
16076 2011-05-21  Bruno Haible  <bruno@clisp.org>
16077
16078         sig2str: Move AC_LIBOBJ invocations to module description.
16079         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
16080         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
16081         here...
16082         * modules/sig2str (configure.ac): ... to here.
16083
16084 2011-05-21  Bruno Haible  <bruno@clisp.org>
16085
16086         setlocale: Move AC_LIBOBJ invocations to module description.
16087         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
16088         gl_PREREQ_SETLOCALE invocations from here...
16089         * modules/setlocale (configure.ac): ... to here.
16090
16091 2011-05-21  Bruno Haible  <bruno@clisp.org>
16092
16093         unsetenv: Move AC_LIBOBJ invocations to module description.
16094         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
16095         and gl_PREREQ_UNSETENV invocations from here...
16096         * modules/unsetenv (configure.ac): ... to here.
16097         (Depends-on): Update.
16098
16099 2011-05-21  Bruno Haible  <bruno@clisp.org>
16100
16101         setenv: Move AC_LIBOBJ invocations to module description.
16102         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
16103         here...
16104         * modules/setenv (configure.ac): ... to here.
16105
16106 2011-05-21  Bruno Haible  <bruno@clisp.org>
16107
16108         selinux-h: Move AC_LIBOBJ invocations to module description.
16109         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
16110         AC_LIBOBJ invocation from here...
16111         * modules/selinux-h (configure.ac): ... to here.
16112
16113 2011-05-21  Bruno Haible  <bruno@clisp.org>
16114
16115         select: Respect rules for use of AC_LIBOBJ.
16116         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
16117         here...
16118         * modules/select (configure.ac): ... to here.
16119
16120 2011-05-21  Bruno Haible  <bruno@clisp.org>
16121
16122         scandir: Move AC_LIBOBJ invocations to module description.
16123         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
16124         invocations from here...
16125         * modules/scandir (configure.ac): ... to here.
16126
16127 2011-05-21  Bruno Haible  <bruno@clisp.org>
16128
16129         rpmatch: Move AC_LIBOBJ invocations to module description.
16130         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
16131         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
16132         here...
16133         * modules/rpmatch (configure.ac): ... to here.
16134
16135 2011-05-21  Bruno Haible  <bruno@clisp.org>
16136
16137         rmdir: Respect rules for use of AC_LIBOBJ.
16138         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
16139         * modules/rmdir (configure.ac): ... to here.
16140
16141 2011-05-21  Bruno Haible  <bruno@clisp.org>
16142
16143         renameat: Move AC_LIBOBJ invocations to module description.
16144         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
16145         here...
16146         * modules/renameat (configure.ac): ... to here.
16147
16148 2011-05-21  Bruno Haible  <bruno@clisp.org>
16149
16150         rename: Respect rules for use of AC_LIBOBJ.
16151         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
16152         here...
16153         * modules/rename (configure.ac): ... to here.
16154
16155 2011-05-21  Bruno Haible  <bruno@clisp.org>
16156
16157         remove: Move AC_LIBOBJ invocations to module description.
16158         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
16159         here...
16160         * modules/remove (configure.ac): ... to here.
16161
16162 2011-05-21  Bruno Haible  <bruno@clisp.org>
16163
16164         relocatable-lib: Move AC_LIBOBJ invocations to module description.
16165         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
16166         macro.
16167         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
16168         * modules/relocatable-lib (configure.ac): ... to here.
16169         * modules/relocatable-prog-wrapper (configure.ac): Invoke
16170         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
16171
16172 2011-05-21  Bruno Haible  <bruno@clisp.org>
16173
16174         relocatable-prog: Move AC_LIBOBJ invocations to module description.
16175         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
16176         here...
16177         * modules/relocatable-prog (configure.ac): ... to here.
16178
16179 2011-05-21  Bruno Haible  <bruno@clisp.org>
16180
16181         regex: Move AC_LIBOBJ invocations to module description.
16182         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
16183         invocations from here...
16184         * modules/regex (configure.ac): ... to here.
16185
16186 2011-05-21  Bruno Haible  <bruno@clisp.org>
16187
16188         realloc-*: Move AC_LIBOBJ invocations to module description.
16189         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
16190         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
16191         AC_LIBOBJ invocations from here...
16192         * modules/realloc-gnu (configure.ac): ... to here.
16193         * modules/realloc-posix (configure.ac): ... and here.
16194
16195 2011-05-21  Bruno Haible  <bruno@clisp.org>
16196
16197         readutmp: Move AC_LIBOBJ invocations to module description.
16198         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
16199         * modules/readutmp (configure.ac): ... to here.
16200
16201 2011-05-21  Bruno Haible  <bruno@clisp.org>
16202
16203         readlinkat: Move AC_LIBOBJ invocations to module description.
16204         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
16205         here...
16206         * modules/readlinkat (configure.ac): ... to here.
16207
16208 2011-05-21  Bruno Haible  <bruno@clisp.org>
16209
16210         readlink: Move AC_LIBOBJ invocations to module description.
16211         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
16212         gl_PREREQ_READLINK invocations from here...
16213         * modules/readlink (configure.ac): ... to here.
16214
16215 2011-05-21  Bruno Haible  <bruno@clisp.org>
16216
16217         readline: Move AC_LIBOBJ invocations to module description.
16218         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
16219         gl_PREREQ_READLINE invocations from here...
16220         * modules/readline (configure.ac): ... to here.
16221
16222 2011-05-21  Bruno Haible  <bruno@clisp.org>
16223
16224         read: Move AC_LIBOBJ invocations to module description.
16225         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
16226         * modules/read (configure.ac): ... to here.
16227
16228 2011-05-21  Bruno Haible  <bruno@clisp.org>
16229
16230         rawmemchr: Move AC_LIBOBJ invocations to module description.
16231         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
16232         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
16233         from here...
16234         * modules/rawmemchr (configure.ac): ... to here.
16235
16236 2011-05-21  Bruno Haible  <bruno@clisp.org>
16237
16238         random_r: Move AC_LIBOBJ invocations to module description.
16239         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
16240         gl_PREREQ_RANDOM_R invocations from here...
16241         * modules/random_r (configure.ac): ... to here.
16242
16243 2011-05-21  Bruno Haible  <bruno@clisp.org>
16244
16245         pwrite: Move AC_LIBOBJ invocations to module description.
16246         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
16247         * modules/pwrite (configure.ac): ... to here.
16248
16249 2011-05-21  Bruno Haible  <bruno@clisp.org>
16250
16251         putenv: Move AC_LIBOBJ invocations to module description.
16252         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
16253         * modules/putenv (configure.ac): ... to here.
16254
16255 2011-05-21  Bruno Haible  <bruno@clisp.org>
16256
16257         login_tty: Move AC_LIBOBJ invocations to module description.
16258         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
16259         * modules/login_tty (configure.ac): ... to here.
16260
16261 2011-05-21  Bruno Haible  <bruno@clisp.org>
16262
16263         openpty: Move AC_LIBOBJ invocations to module description.
16264         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
16265         * modules/openpty (configure.ac): ... to here.
16266
16267 2011-05-21  Bruno Haible  <bruno@clisp.org>
16268
16269         forkpty: Move AC_LIBOBJ invocations to module description.
16270         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
16271         * modules/forkpty (configure.ac): ... to here.
16272
16273 2011-05-21  Bruno Haible  <bruno@clisp.org>
16274
16275         ptsname: Move AC_LIBOBJ invocations to module description.
16276         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
16277         invocations from here...
16278         * modules/ptsname (configure.ac): ... to here.
16279
16280 2011-05-21  Bruno Haible  <bruno@clisp.org>
16281
16282         pread: Move AC_LIBOBJ invocations to module description.
16283         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
16284         * modules/pread (configure.ac): ... to here.
16285
16286 2011-05-21  Bruno Haible  <bruno@clisp.org>
16287
16288         posix_spawn*: Move AC_LIBOBJ invocations to module description.
16289         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
16290         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
16291         * modules/posix_spawn (configure.ac): ... to here.
16292         * modules/posix_spawnp (configure.ac): ... and here.
16293
16294 2011-05-21  Bruno Haible  <bruno@clisp.org>
16295
16296         popen: Move AC_LIBOBJ invocations to module description.
16297         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
16298         invocations from here...
16299         * modules/popen (configure.ac): ... to here.
16300
16301 2011-05-21  Bruno Haible  <bruno@clisp.org>
16302
16303         poll: Move AC_LIBOBJ invocations to module description.
16304         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
16305         invocations from here...
16306         * modules/poll (configure.ac): ... to here.
16307
16308 2011-05-21  Bruno Haible  <bruno@clisp.org>
16309
16310         pipe-posix: Move AC_LIBOBJ invocations to module description.
16311         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
16312         * modules/pipe-posix (configure.ac): ... to here.
16313
16314 2011-05-21  Bruno Haible  <bruno@clisp.org>
16315
16316         openat: Respect rules for use of AC_LIBOBJ.
16317         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
16318         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
16319         * modules/openat (configure.ac): ... to here.
16320
16321 2011-05-21  Bruno Haible  <bruno@clisp.org>
16322
16323         obstack-printf*: Move AC_LIBOBJ invocations to module description.
16324         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
16325         invocation from here...
16326         * modules/obstack-printf (configure.ac): ... to here.
16327         * modules/obstack-printf-posix (configure.ac): ... and here.
16328
16329 2011-05-21  Bruno Haible  <bruno@clisp.org>
16330
16331         nl_langinfo: Move AC_LIBOBJ invocations to module description.
16332         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
16333         from here...
16334         * modules/nl_langinfo (configure.ac): ... to here.
16335
16336 2011-05-21  Bruno Haible  <bruno@clisp.org>
16337
16338         nanosleep: Move AC_LIBOBJ invocations to module description.
16339         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
16340         gl_PREREQ_NANOSLEEP invocations from here...
16341         * modules/nanosleep (configure.ac): ... to here.
16342
16343 2011-05-21  Bruno Haible  <bruno@clisp.org>
16344
16345         mountlist: Move AC_LIBOBJ invocations to module description.
16346         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
16347         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
16348         * modules/mountlist (configure.ac): ... to here.
16349
16350 2011-05-21  Bruno Haible  <bruno@clisp.org>
16351
16352         mktime: Respect rules for use of AC_LIBOBJ.
16353         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
16354         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
16355         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
16356         (gl_FUNC_MKTIME_INTERNAL): ... and here...
16357         * modules/mktime (configure.ac): ... to here.
16358         * modules/mktime-internal (configure.ac): ... and here.
16359         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
16360
16361 2011-05-21  Bruno Haible  <bruno@clisp.org>
16362
16363         mkstemps: Move AC_LIBOBJ invocations to module description.
16364         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
16365         here...
16366         * modules/mkstemps (configure.ac): ... to here.
16367
16368 2011-05-21  Bruno Haible  <bruno@clisp.org>
16369
16370         mkstemp: Move AC_LIBOBJ invocations to module description.
16371         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
16372         gl_PREREQ_MKSTEMP invocations from here...
16373         * modules/mkstemp (configure.ac): ... to here.
16374
16375 2011-05-21  Bruno Haible  <bruno@clisp.org>
16376
16377         mkostemps: Move AC_LIBOBJ invocations to module description.
16378         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
16379         here...
16380         * modules/mkostemps (configure.ac): ... to here.
16381
16382 2011-05-21  Bruno Haible  <bruno@clisp.org>
16383
16384         mkostemp: Move AC_LIBOBJ invocations to module description.
16385         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
16386         gl_PREREQ_MKOSTEMP invocations from here...
16387         * modules/mkostemp (configure.ac): ... to here.
16388
16389 2011-05-21  Bruno Haible  <bruno@clisp.org>
16390
16391         mknod: Move AC_LIBOBJ invocations to module description.
16392         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
16393         * modules/mknod (configure.ac): ... to here.
16394
16395 2011-05-21  Bruno Haible  <bruno@clisp.org>
16396
16397         mkfifoat: Move AC_LIBOBJ invocations to module description.
16398         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
16399         here...
16400         * modules/mkfifoat (configure.ac): ... to here.
16401
16402 2011-05-21  Bruno Haible  <bruno@clisp.org>
16403
16404         mkfifo: Respect rules for use of AC_LIBOBJ.
16405         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
16406         here...
16407         * modules/mkfifo (configure.ac): ... to here.
16408
16409 2011-05-21  Bruno Haible  <bruno@clisp.org>
16410
16411         mkdtemp: Move AC_LIBOBJ invocations to module description.
16412         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
16413         invocations from here...
16414         * modules/mkdtemp (configure.ac): ... to here.
16415
16416 2011-05-21  Bruno Haible  <bruno@clisp.org>
16417
16418         mkdir: Move AC_LIBOBJ invocations to module description.
16419         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
16420         * modules/mkdir (configure.ac): ... to here.
16421
16422 2011-05-21  Bruno Haible  <bruno@clisp.org>
16423
16424         memset: Move AC_LIBOBJ invocations to module description.
16425         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
16426         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
16427         here...
16428         * modules/memset (configure.ac): ... to here.
16429
16430 2011-05-21  Bruno Haible  <bruno@clisp.org>
16431
16432         memrchr: Move AC_LIBOBJ invocations to module description.
16433         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
16434         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
16435         here...
16436         * modules/memrchr (configure.ac): ... to here.
16437
16438 2011-05-21  Bruno Haible  <bruno@clisp.org>
16439
16440         mempcpy: Move AC_LIBOBJ invocations to module description.
16441         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
16442         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
16443         here...
16444         * modules/mempcpy (configure.ac): ... to here.
16445
16446 2011-05-21  Bruno Haible  <bruno@clisp.org>
16447
16448         memmove: Move AC_LIBOBJ invocations to module description.
16449         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
16450         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
16451         here...
16452         * modules/memmove (configure.ac): ... to here.
16453
16454 2011-05-21  Bruno Haible  <bruno@clisp.org>
16455
16456         memmem*: Move AC_LIBOBJ invocations to module description.
16457         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
16458         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
16459         here...
16460         (gl_FUNC_MEMMEM): ... and here...
16461         * modules/memmem-simple (configure.ac): ... to here.
16462         * modules/memmem (configure.ac): ... and here.
16463
16464 2011-05-21  Bruno Haible  <bruno@clisp.org>
16465
16466         memcpy: Move AC_LIBOBJ invocations to module description.
16467         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
16468         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
16469         here...
16470         * modules/memcpy (configure.ac): ... to here.
16471
16472 2011-05-21  Bruno Haible  <bruno@clisp.org>
16473
16474         memcmp: Simplify autoconf macro.
16475         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
16476         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
16477         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
16478
16479 2011-05-21  Bruno Haible  <bruno@clisp.org>
16480
16481         memcmp: Move AC_LIBOBJ invocations to module description.
16482         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
16483         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
16484         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
16485         * modules/memcmp (configure.ac): ... to here.
16486         (Depends-on): Update conditions.
16487
16488 2011-05-21  Bruno Haible  <bruno@clisp.org>
16489
16490         memchr: Respect rules for use of AC_LIBOBJ.
16491         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
16492         invocations from here...
16493         * modules/memchr (configure.ac): ... to here.
16494
16495 2011-05-21  Bruno Haible  <bruno@clisp.org>
16496
16497         mbtowc: Move AC_LIBOBJ invocations to module description.
16498         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
16499         invocations from here...
16500         * modules/mbtowc (configure.ac): ... to here.
16501
16502 2011-05-21  Bruno Haible  <bruno@clisp.org>
16503
16504         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
16505         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
16506         gl_PREREQ_MBSRTOWCS invocations from here...
16507         * modules/mbsrtowcs (configure.ac): ... to here.
16508
16509 2011-05-21  Bruno Haible  <bruno@clisp.org>
16510
16511         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
16512         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
16513         gl_PREREQ_MBSNRTOWCS invocations from here...
16514         * modules/mbsnrtowcs (configure.ac): ... to here.
16515
16516 2011-05-21  Bruno Haible  <bruno@clisp.org>
16517
16518         mbsinit: Move AC_LIBOBJ invocations to module description.
16519         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
16520         invocations from here...
16521         * modules/mbsinit (configure.ac): ... to here.
16522
16523 2011-05-21  Bruno Haible  <bruno@clisp.org>
16524
16525         mbrlen: Move AC_LIBOBJ invocations to module description.
16526         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
16527         invocations from here...
16528         * modules/mbrlen (configure.ac): ... to here.
16529
16530 2011-05-21  Bruno Haible  <bruno@clisp.org>
16531
16532         mbrtowc: Respect rules for use of AC_LIBOBJ.
16533         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
16534         invocations from here...
16535         * modules/mbrtowc (configure.ac): ... to here.
16536
16537 2011-05-21  Bruno Haible  <bruno@clisp.org>
16538
16539         malloc-*: Move AC_LIBOBJ invocations to module description.
16540         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
16541         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
16542         AC_LIBOBJ invocations from here...
16543         * modules/malloc-gnu (configure.ac): ... to here.
16544         * modules/malloc-posix (configure.ac): ... and here.
16545
16546 2011-05-21  Bruno Haible  <bruno@clisp.org>
16547
16548         lstat, openat: Respect rules for use of AC_LIBOBJ.
16549         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
16550         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
16551         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
16552         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
16553         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
16554         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
16555         here.
16556         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
16557
16558 2011-05-21  Bruno Haible  <bruno@clisp.org>
16559
16560         lseek: Move AC_LIBOBJ invocations to module description.
16561         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
16562         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16563         * modules/lseek (configure.ac): ... to here.
16564
16565 2011-05-21  Bruno Haible  <bruno@clisp.org>
16566
16567         linkat: Move AC_LIBOBJ invocations to module description.
16568         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
16569         here...
16570         * modules/linkat (configure.ac): ... to here.
16571
16572 2011-05-21  Bruno Haible  <bruno@clisp.org>
16573
16574         link: Respect rules for use of AC_LIBOBJ.
16575         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
16576         * modules/link (configure.ac): ... to here.
16577
16578 2011-05-21  Bruno Haible  <bruno@clisp.org>
16579
16580         lchown: Move AC_LIBOBJ invocations to module description.
16581         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16582         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
16583         * modules/lchown (configure.ac): ... to here.
16584
16585 2011-05-21  Bruno Haible  <bruno@clisp.org>
16586
16587         iswctype: Move AC_LIBOBJ invocations to module description.
16588         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
16589         here...
16590         * modules/iswctype (configure.ac): ... to here.
16591
16592 2011-05-21  Bruno Haible  <bruno@clisp.org>
16593
16594         iswblank: Move AC_LIBOBJ invocations to module description.
16595         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
16596         here...
16597         * modules/iswblank (configure.ac): ... to here.
16598
16599 2011-05-21  Bruno Haible  <bruno@clisp.org>
16600
16601         atanl: Move AC_LIBOBJ invocations to module description.
16602         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
16603         * modules/atanl (configure.ac): ... to here.
16604
16605 2011-05-21  Bruno Haible  <bruno@clisp.org>
16606
16607         acosl: Move AC_LIBOBJ invocations to module description.
16608         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
16609         * modules/acosl (configure.ac): ... to here.
16610
16611 2011-05-21  Bruno Haible  <bruno@clisp.org>
16612
16613         asinl: Respect rules for use of AC_LIBOBJ.
16614         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
16615         * modules/asinl (configure.ac): ... to here.
16616
16617 2011-05-21  Bruno Haible  <bruno@clisp.org>
16618
16619         tanl: Move AC_LIBOBJ invocations to module description.
16620         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
16621         * modules/tanl (configure.ac): ... to here.
16622
16623 2011-05-21  Bruno Haible  <bruno@clisp.org>
16624
16625         cosl: Move AC_LIBOBJ invocations to module description.
16626         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
16627         * modules/cosl (configure.ac): ... to here.
16628
16629 2011-05-21  Bruno Haible  <bruno@clisp.org>
16630
16631         sinl: Move AC_LIBOBJ invocations to module description.
16632         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
16633         * modules/sinl (configure.ac): ... to here.
16634
16635 2011-05-21  Bruno Haible  <bruno@clisp.org>
16636
16637         logl: Move AC_LIBOBJ invocations to module description.
16638         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
16639         * modules/logl (configure.ac): ... to here.
16640
16641 2011-05-21  Bruno Haible  <bruno@clisp.org>
16642
16643         expl: Move AC_LIBOBJ invocations to module description.
16644         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
16645         * modules/expl (configure.ac): ... to here.
16646
16647 2011-05-21  Bruno Haible  <bruno@clisp.org>
16648
16649         roundl: Move AC_LIBOBJ invocations to module description.
16650         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
16651         * modules/roundl (configure.ac): ... to here.
16652
16653 2011-05-21  Bruno Haible  <bruno@clisp.org>
16654
16655         round: Move AC_LIBOBJ invocations to module description.
16656         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
16657         * modules/round (configure.ac): ... to here.
16658
16659 2011-05-21  Bruno Haible  <bruno@clisp.org>
16660
16661         roundf: Move AC_LIBOBJ invocations to module description.
16662         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
16663         * modules/roundf (configure.ac): ... to here.
16664
16665 2011-05-21  Bruno Haible  <bruno@clisp.org>
16666
16667         truncl: Move AC_LIBOBJ invocations to module description.
16668         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
16669         * modules/truncl (configure.ac): ... to here.
16670
16671 2011-05-21  Bruno Haible  <bruno@clisp.org>
16672
16673         trunc: Move AC_LIBOBJ invocations to module description.
16674         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
16675         * modules/trunc (configure.ac): ... to here.
16676
16677 2011-05-21  Bruno Haible  <bruno@clisp.org>
16678
16679         truncf: Move AC_LIBOBJ invocations to module description.
16680         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
16681         * modules/truncf (configure.ac): ... to here.
16682
16683 2011-05-21  Bruno Haible  <bruno@clisp.org>
16684
16685         ceill: Move AC_LIBOBJ invocations to module description.
16686         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
16687         * modules/ceill (configure.ac): ... to here.
16688
16689 2011-05-21  Bruno Haible  <bruno@clisp.org>
16690
16691         ceil: Move AC_LIBOBJ invocations to module description.
16692         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
16693         * modules/ceil (configure.ac): ... to here.
16694
16695 2011-05-21  Bruno Haible  <bruno@clisp.org>
16696
16697         ceilf: Move AC_LIBOBJ invocations to module description.
16698         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
16699         * modules/ceilf (configure.ac): ... to here.
16700
16701 2011-05-21  Bruno Haible  <bruno@clisp.org>
16702
16703         floorl: Respect rules for use of AC_LIBOBJ.
16704         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
16705         * modules/floorl (configure.ac): ... to here.
16706
16707 2011-05-21  Bruno Haible  <bruno@clisp.org>
16708
16709         floor: Respect rules for use of AC_LIBOBJ.
16710         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
16711         * modules/floor (configure.ac): ... to here.
16712
16713 2011-05-21  Bruno Haible  <bruno@clisp.org>
16714
16715         floorf: Move AC_LIBOBJ invocations to module description.
16716         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
16717         * modules/floorf (configure.ac): ... to here.
16718
16719 2011-05-20  Bruno Haible  <bruno@clisp.org>
16720
16721         sqrtl: Respect rules for use of AC_LIBOBJ.
16722         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
16723         * modules/sqrtl (configure.ac): ... to here.
16724
16725 2011-05-20  Bruno Haible  <bruno@clisp.org>
16726
16727         ldexpl: Respect rules for use of AC_LIBOBJ.
16728         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
16729         * modules/ldexpl (configure.ac): ... to here.
16730
16731 2011-05-20  Bruno Haible  <bruno@clisp.org>
16732
16733         frexpl*: Respect rules for use of AC_LIBOBJ.
16734         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
16735         invocation from here...
16736         * modules/frexpl (configure.ac): ... to here.
16737         * modules/frexpl-nolibm (configure.ac): ... and here.
16738
16739 2011-05-20  Bruno Haible  <bruno@clisp.org>
16740
16741         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
16742         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
16743         invocation from here...
16744         * modules/frexp (configure.ac): ... to here.
16745         * modules/frexp-nolibm (configure.ac): ... and here.
16746
16747 2011-05-20  Bruno Haible  <bruno@clisp.org>
16748
16749         isnan: Respect rules for use of AC_LIBOBJ.
16750         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
16751         invocations here.
16752         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
16753         REPLACE_ISNAN.
16754         * modules/isnand (configure.ac): Likewise.
16755         * modules/isnanl (configure.ac): Likewise.
16756
16757 2011-05-20  Bruno Haible  <bruno@clisp.org>
16758
16759         isnanl*: Respect rules for use of AC_LIBOBJ.
16760         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
16761         invocation from here...
16762         * modules/isnanl (configure.ac): ... to here.
16763         * modules/isnanl-nolibm (configure.ac): ... and here.
16764
16765 2011-05-20  Bruno Haible  <bruno@clisp.org>
16766
16767         isnand*: Move AC_LIBOBJ invocations to module description.
16768         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
16769         invocation from here...
16770         * modules/isnand (configure.ac): ... to here.
16771         * modules/isnand-nolibm (configure.ac): ... and here.
16772
16773 2011-05-20  Bruno Haible  <bruno@clisp.org>
16774
16775         isnanf*: Move AC_LIBOBJ invocations to module description.
16776         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
16777         invocation from here...
16778         * modules/isnanf (configure.ac): ... to here.
16779         * modules/isnanf-nolibm (configure.ac): ... and here.
16780
16781 2011-05-20  Bruno Haible  <bruno@clisp.org>
16782
16783         isnan*: Separate the AC_LIBOBJ invocations.
16784         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
16785         AC_LIBOBJ invocation.
16786         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
16787         here.
16788         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
16789         AC_LIBOBJ invocation.
16790         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
16791         here.
16792         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
16793         AC_LIBOBJ invocation.
16794         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
16795         here.
16796         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
16797
16798 2011-05-08  Bruno Haible  <bruno@clisp.org>
16799
16800         isinf: Move AC_LIBOBJ invocations to module description.
16801         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
16802         * modules/isinf (configure.ac): ... to here.
16803
16804 2011-05-08  Bruno Haible  <bruno@clisp.org>
16805
16806         isfinite: Move AC_LIBOBJ invocations to module description.
16807         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
16808         * modules/isfinite (configure.ac): ... to here.
16809
16810 2011-05-08  Bruno Haible  <bruno@clisp.org>
16811
16812         isblank: Move AC_LIBOBJ invocations to module description.
16813         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
16814         here...
16815         * modules/isblank (configure.ac): ... to here.
16816
16817 2011-05-08  Bruno Haible  <bruno@clisp.org>
16818
16819         isapipe: Move AC_LIBOBJ invocations to module description.
16820         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
16821         gl_PREREQ_ISAPIPE invocations from here...
16822         * modules/isapipe (configure.ac): ... to here.
16823         (Depends-on): Update condition.
16824
16825 2011-05-08  Bruno Haible  <bruno@clisp.org>
16826
16827         ioctl: Move AC_LIBOBJ invocations to module description.
16828         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
16829         invocations from here...
16830         * modules/ioctl (configure.ac): ... to here.
16831         (Depends-on): Update condition.
16832
16833 2011-05-08  Bruno Haible  <bruno@clisp.org>
16834
16835         imaxdiv: Move AC_LIBOBJ invocations to module description.
16836         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
16837         invocations from here...
16838         * modules/imaxdiv (configure.ac): ... to here.
16839
16840 2011-05-08  Bruno Haible  <bruno@clisp.org>
16841
16842         imaxabs: Move AC_LIBOBJ invocations to module description.
16843         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
16844         invocations from here...
16845         * modules/imaxabs (configure.ac): ... to here.
16846
16847 2011-05-08  Bruno Haible  <bruno@clisp.org>
16848
16849         getaddrinfo: Move AC_LIBOBJ invocations to module description.
16850         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
16851         AC_LIBOBJ invocations from here...
16852         * modules/getaddrinfo (configure.ac): ... to here.
16853         (Depends-on): Add conditions.
16854
16855 2011-05-08  Bruno Haible  <bruno@clisp.org>
16856
16857         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16858         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
16859         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16860         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
16861         (gl_PREREQ_INET_PTON): ... from here.
16862         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
16863         gl_PREREQ_INET_PTON here.
16864         (Depends-on): Update condition.
16865
16866 2011-05-08  Bruno Haible  <bruno@clisp.org>
16867
16868         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16869         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
16870         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16871         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
16872         (gl_PREREQ_INET_NTOP): ... from here.
16873         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
16874         gl_PREREQ_INET_NTOP here.
16875         (Depends-on): Update condition.
16876
16877 2011-05-08  Bruno Haible  <bruno@clisp.org>
16878
16879         iconv_open: Move AC_LIBOBJ invocations to module description.
16880         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
16881         AC_LIBOBJ invocations from here...
16882         * modules/iconv_open (configure.ac): ... to here.
16883
16884 2011-05-08  Bruno Haible  <bruno@clisp.org>
16885
16886         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
16887         If module 'iconv_open' is among the main modules and module
16888         'iconv_open-utf' is among the tests dependencies, then
16889         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
16890         return the special iconv_t values. Therefore iconv() and iconv_close()
16891         must support these special iconv_t values, already in lib, not only in
16892         tests.
16893         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
16894         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
16895         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
16896         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
16897         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
16898         (Depends-on): Add the dependencies of iconv_open-utf.
16899         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
16900         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
16901         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
16902
16903 2011-05-08  Bruno Haible  <bruno@clisp.org>
16904
16905         group-member: Move AC_LIBOBJ invocations to module description.
16906         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
16907         gl_PREREQ_GROUP_MEMBER invocations from here...
16908         * modules/group-member (configure.ac): ... to here.
16909
16910 2011-05-08  Bruno Haible  <bruno@clisp.org>
16911
16912         grantpt: Move AC_LIBOBJ invocations to module description.
16913         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
16914         invocations from here...
16915         * modules/grantpt (configure.ac): ... to here.
16916
16917 2011-05-08  Bruno Haible  <bruno@clisp.org>
16918
16919         glob: Move AC_LIBOBJ invocations to module description.
16920         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
16921         from here...
16922         * modules/glob (configure.ac): ... to here.
16923
16924 2011-05-08  Bruno Haible  <bruno@clisp.org>
16925
16926         getusershell: Move AC_LIBOBJ invocations to module description.
16927         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
16928         Move AC_LIBOBJ invocation from here...
16929         * modules/getusershell (configure.ac): ... to here.
16930         (Depends-on): Update condition.
16931
16932 2011-05-08  Bruno Haible  <bruno@clisp.org>
16933
16934         gettimeofday: Move AC_LIBOBJ invocations to module description.
16935         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
16936         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
16937         gl_PREREQ_GETTIMEOFDAY invocations from here...
16938         * modules/gettimeofday (configure.ac): ... to here.
16939
16940 2011-05-08  Bruno Haible  <bruno@clisp.org>
16941
16942         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
16943         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
16944         just gl_FUNC_TZSET.
16945         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
16946         (gl_FUNC_TZSET_CLOBBER): Remove actions.
16947         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
16948         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
16949
16950 2011-05-08  Bruno Haible  <bruno@clisp.org>
16951
16952         getsubopt: Move AC_LIBOBJ invocations to module description.
16953         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
16954         gl_PREREQ_GETSUBOPT invocations from here...
16955         * modules/getsubopt (configure.ac): ... to here.
16956
16957 2011-05-08  Bruno Haible  <bruno@clisp.org>
16958
16959         getpass-gnu: Move AC_LIBOBJ invocations to module description.
16960         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
16961         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
16962         * modules/getpass-gnu (configure.ac): ... to here.
16963
16964 2011-05-08  Bruno Haible  <bruno@clisp.org>
16965
16966         getpass: Move AC_LIBOBJ invocations to module description.
16967         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
16968         gl_PREREQ_GETPASS invocations from here...
16969         * modules/getpass (configure.ac): ... to here.
16970
16971 2011-05-08  Bruno Haible  <bruno@clisp.org>
16972
16973         getpagesize: Move AC_LIBOBJ invocations to module description.
16974         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
16975         from here...
16976         * modules/getpagesize (configure.ac): ... to here.
16977
16978 2011-05-08  Bruno Haible  <bruno@clisp.org>
16979
16980         getopt: Move AC_LIBOBJ invocations to module description.
16981         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
16982         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
16983         invocations from here...
16984         * modules/getopt-gnu (configure.ac): ... to here.
16985         * modules/getopt-posix (configure.ac): ... and here.
16986         (Depends-on): Update condition.
16987
16988 2011-05-08  Bruno Haible  <bruno@clisp.org>
16989
16990         getopt, argp: Respect rules for use of AC_LIBOBJ.
16991         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
16992         (gl_REPLACE_GETOPT_ALWAYS): New macro.
16993         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
16994         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
16995
16996 2011-05-08  Bruno Haible  <bruno@clisp.org>
16997
16998         getlogin_r: Move AC_LIBOBJ invocations to module description.
16999         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
17000         gl_PREREQ_GETLOGIN_R invocations from here...
17001         * modules/getlogin_r (configure.ac): ... to here.
17002
17003 2011-05-08  Bruno Haible  <bruno@clisp.org>
17004
17005         getlogin: Move AC_LIBOBJ invocations to module description.
17006         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
17007         here...
17008         * modules/getlogin (configure.ac): ... to here.
17009
17010 2011-05-08  Bruno Haible  <bruno@clisp.org>
17011
17012         getloadavg: Move AC_LIBOBJ invocations to module description.
17013         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
17014         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
17015         * modules/getloadavg (configure.ac): ... to here.
17016
17017 2011-05-08  Bruno Haible  <bruno@clisp.org>
17018
17019         gethrxtime: Move AC_LIBOBJ invocations to module description.
17020         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
17021         LIB_GETHRXTIME from here...
17022         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
17023         invocations from here...
17024         * modules/gethrxtime (configure.ac): ... to here.
17025
17026 2011-05-08  Bruno Haible  <bruno@clisp.org>
17027
17028         gethostname: Move AC_LIBOBJ invocations to module description.
17029         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
17030         gl_PREREQ_GETHOSTNAME invocations from here...
17031         * modules/gethostname (configure.ac): ... to here.
17032
17033 2011-05-08  Bruno Haible  <bruno@clisp.org>
17034
17035         getgroups: Move AC_LIBOBJ invocations to module description.
17036         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
17037         here...
17038         * modules/getgroups (configure.ac): ... to here.
17039
17040 2011-05-08  Bruno Haible  <bruno@clisp.org>
17041
17042         getdtablesize: Move AC_LIBOBJ invocations to module description.
17043         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
17044         invocation from here...
17045         * modules/getdtablesize (configure.ac): ... to here.
17046
17047 2011-05-08  Bruno Haible  <bruno@clisp.org>
17048
17049         getdomainname: Move AC_LIBOBJ invocations to module description.
17050         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
17051         gl_PREREQ_GETDOMAINNAME invocations from here...
17052         * modules/getdomainname (configure.ac): ... to here.
17053
17054 2011-05-08  Bruno Haible  <bruno@clisp.org>
17055
17056         getline: Move AC_LIBOBJ invocations to module description.
17057         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
17058         invocations from here...
17059         * modules/getline (configure.ac): ... to here.
17060
17061 2011-05-08  Bruno Haible  <bruno@clisp.org>
17062
17063         getline: Simplify.
17064         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
17065         It's already handled through the module dependency.
17066
17067 2011-05-08  Bruno Haible  <bruno@clisp.org>
17068
17069         getdelim: Move AC_LIBOBJ invocations to module description.
17070         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
17071         and gl_PREREQ_GETDELIM invocations from here...
17072         * modules/getdelim (configure.ac): ... to here.
17073         (Depends-on): Fix condition.
17074
17075 2011-05-08  Bruno Haible  <bruno@clisp.org>
17076
17077         getcwd: Move AC_LIBOBJ invocations to module description.
17078         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
17079         invocations from here...
17080         * modules/getcwd (configure.ac): ... to here.
17081
17082 2011-05-08  Bruno Haible  <bruno@clisp.org>
17083
17084         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
17085         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
17086         here...
17087         * modules/getcwd-lgpl (configure.ac): ... to here.
17088
17089 2011-05-07  Bruno Haible  <bruno@clisp.org>
17090
17091         crypto/gc: Move AC_LIBOBJ invocations to module description.
17092         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
17093         * modules/crypto/gc (configure.ac): ... to here.
17094
17095 2011-05-07  Bruno Haible  <bruno@clisp.org>
17096
17097         fwriting: Move AC_LIBOBJ invocations to module description.
17098         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
17099         here...
17100         * modules/fwriting (configure.ac): ... to here.
17101
17102 2011-05-07  Bruno Haible  <bruno@clisp.org>
17103
17104         fwritable: Move AC_LIBOBJ invocations to module description.
17105         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
17106         here...
17107         * modules/fwritable (configure.ac): ... to here.
17108
17109 2011-05-07  Bruno Haible  <bruno@clisp.org>
17110
17111         futimens: Move AC_LIBOBJ invocations to module description.
17112         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
17113         here...
17114         * modules/futimens (configure.ac): ... to here.
17115
17116 2011-05-07  Bruno Haible  <bruno@clisp.org>
17117
17118         ftruncate: Move AC_LIBOBJ invocations to module description.
17119         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
17120         gl_PREREQ_FTRUNCATE invocations from here...
17121         * modules/ftruncate (configure.ac): ... to here.
17122
17123 2011-05-07  Bruno Haible  <bruno@clisp.org>
17124
17125         fsync: Move AC_LIBOBJ invocations to module description.
17126         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
17127         invocations from here...
17128         * modules/fsync (configure.ac): ... to here.
17129
17130 2011-05-07  Bruno Haible  <bruno@clisp.org>
17131
17132         fsusage: Move AC_LIBOBJ invocations to module description.
17133         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
17134         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
17135         * modules/fsusage (configure.ac): ... to here.
17136
17137 2011-05-07  Bruno Haible  <bruno@clisp.org>
17138
17139         freopen: Move AC_LIBOBJ invocations to module description.
17140         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
17141         invocations from here...
17142         * modules/freopen (configure.ac): ... to here.
17143
17144 2011-05-07  Bruno Haible  <bruno@clisp.org>
17145
17146         free: Move AC_LIBOBJ invocations to module description.
17147         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
17148         invocations from here...
17149         * modules/free (configure.ac): ... to here.
17150
17151 2011-05-07  Bruno Haible  <bruno@clisp.org>
17152
17153         freadable: Move AC_LIBOBJ invocations to module description.
17154         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
17155         here...
17156         * modules/freadable (configure.ac): ... to here.
17157
17158 2011-05-07  Bruno Haible  <bruno@clisp.org>
17159
17160         fpurge: Move AC_LIBOBJ invocations to module description.
17161         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
17162         invocations from here...
17163         * modules/fpurge (configure.ac): ... to here.
17164
17165 2011-05-07  Bruno Haible  <bruno@clisp.org>
17166
17167         fpending: Move AC_LIBOBJ invocations to module description.
17168         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
17169         gl_FUNC_FPENDING.
17170         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
17171         invocations from here...
17172         * modules/fpending (configure.ac): ... to here.
17173
17174 2011-05-07  Bruno Haible  <bruno@clisp.org>
17175
17176         fopen: Move AC_LIBOBJ invocations to module description.
17177         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
17178         invocations from here...
17179         * modules/fopen (configure.ac): ... to here.
17180
17181 2011-05-07  Bruno Haible  <bruno@clisp.org>
17182
17183         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
17184         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
17185         gl_FUNC_FNMATCH_POSIX.
17186         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
17187         invocations from here...
17188         * modules/fnmatch (configure.ac): ... to here.
17189         * modules/fnmatch-gnu (configure.ac): ... and here.
17190
17191 2011-05-07  Bruno Haible  <bruno@clisp.org>
17192
17193         flock: Move AC_LIBOBJ invocations to module description.
17194         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
17195         invocations from here...
17196         * modules/flock (configure.ac): ... to here.
17197
17198 2011-05-07  Bruno Haible  <bruno@clisp.org>
17199
17200         fileblocks: Move AC_LIBOBJ invocations to module description.
17201         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
17202         gl_PREREQ_FILEBLOCKS invocations from here...
17203         * modules/fileblocks (configure.ac): ... to here.
17204
17205 2011-05-06  Bruno Haible  <bruno@clisp.org>
17206
17207         fflush: Move AC_LIBOBJ invocations to module description.
17208         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
17209         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
17210         invocations from here...
17211         * modules/fflush (configure.ac): ... to here.
17212
17213 2011-05-06  Bruno Haible  <bruno@clisp.org>
17214
17215         fdopendir: Move AC_LIBOBJ invocations to module description.
17216         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
17217         here...
17218         * modules/fdopendir (configure.ac): ... to here.
17219         (Depends-on): Improve conditions.
17220
17221 2011-05-06  Bruno Haible  <bruno@clisp.org>
17222
17223         _Exit: Move AC_LIBOBJ invocations to module description.
17224         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
17225         invocations from here...
17226         * modules/_Exit (configure.ac): ... to here.
17227
17228 2011-05-21  Bruno Haible  <bruno@clisp.org>
17229
17230         euidaccess: Respect rules for use of AC_LIBOBJ.
17231         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
17232         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
17233         from here...
17234         * modules/euidaccess (configure.ac): ... to here.
17235
17236 2011-05-06  Bruno Haible  <bruno@clisp.org>
17237
17238         error: Move AC_LIBOBJ invocations to module description.
17239         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
17240         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
17241         invocations from here...
17242         * modules/error (configure.ac): ... to here.
17243
17244 2011-05-06  Bruno Haible  <bruno@clisp.org>
17245
17246         duplocale: Move AC_LIBOBJ invocations to module description.
17247         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
17248         gl_PREREQ_DUPLOCALE invocations from here...
17249         * modules/duplocale (configure.ac): ... to here.
17250
17251 2011-05-05  Bruno Haible  <bruno@clisp.org>
17252
17253         dirfd: Move AC_LIBOBJ invocations to module description.
17254         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
17255         gl_FUNC_DIRFD.
17256         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
17257         here...
17258         * modules/dirfd (configure.ac): ... to here.
17259         (Depends-on): Fix condition.
17260
17261 2011-05-05  Bruno Haible  <bruno@clisp.org>
17262
17263         chown: Respect rules for use of AC_LIBOBJ.
17264         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
17265         * modules/chown (configure.ac): ... to here.
17266
17267 2011-05-05  Bruno Haible  <bruno@clisp.org>
17268
17269         chdir-long: Move AC_LIBOBJ invocations to module description.
17270         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
17271         gl_PREREQ_CHDIR_LONG invocations from here...
17272         * modules/chdir-long (configure.ac): ... to here.
17273
17274 2011-05-05  Bruno Haible  <bruno@clisp.org>
17275
17276         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
17277         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
17278         from here...
17279         * modules/canonicalize-lgpl (configure.ac): ... to here.
17280
17281 2011-05-05  Bruno Haible  <bruno@clisp.org>
17282
17283         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
17284         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
17285         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
17286         REPLACE_CALLOC.
17287         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
17288         * modules/calloc-gnu (configure.ac): Likewise.
17289
17290 2011-05-05  Bruno Haible  <bruno@clisp.org>
17291
17292         btowc: Move AC_LIBOBJ invocations to module description.
17293         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
17294         invocations from here...
17295         * modules/btowc (configure.ac): ... to here.
17296
17297 2011-05-21  Bruno Haible  <bruno@clisp.org>
17298
17299         atexit: Move AC_LIBOBJ invocations to module description.
17300         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
17301         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
17302         here...
17303         * modules/atexit (configure.ac): ... to here.
17304
17305 2011-05-05  Bruno Haible  <bruno@clisp.org>
17306
17307         atoll: Move AC_LIBOBJ invocations to module description.
17308         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
17309         invocations from here...
17310         * modules/atoll (configure.ac): ... to here.
17311
17312 2011-05-05  Bruno Haible  <bruno@clisp.org>
17313
17314         argz: Move AC_LIBOBJ invocations to module description.
17315         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
17316         * modules/argz (configure.ac): ... to here.
17317
17318 2011-05-05  Bruno Haible  <bruno@clisp.org>
17319
17320         alphasort: Move AC_LIBOBJ invocations to module description.
17321         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
17322         gl_PREREQ_ALPHASORT invocations from here...
17323         * modules/alphasort (configure.ac): ... to here.
17324
17325 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
17326
17327         verify: new macro verify_expr; verify_true deprecated
17328         * NEWS: Mention this.
17329         * doc/verify.texi (Compile-time Assertions): Document this.
17330         * lib/verify.h (verify_true): Deprecate.
17331         (verify_expr): New macro.
17332         * tests/test-verify.c (function): Test verify_expr.
17333
17334 2011-06-14  Jim Meyering  <meyering@redhat.com>
17335
17336         init.sh: give more portable redirection-related advice in a comment
17337         * tests/init.sh (stderr_fileno_): Update the advice in comments.
17338         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
17339         for lots of discussion.  Stefano Lattarini suggested the solution
17340         of putting "9>&2" after the command.  Reported by Bruno Haible.
17341
17342 2011-06-13  Bruno Haible  <bruno@clisp.org>
17343
17344         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
17345         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
17346         'none'.
17347
17348 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
17349
17350         ftoastr: use strtof only if HAVE_STRTOF
17351         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
17352         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
17353         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
17354         * modules/ftoastr (configure.ac): Check for strtof.
17355
17356 2011-06-13  Bruno Haible  <bruno@clisp.org>
17357
17358         gnulib-tool: Addendum to 2011-06-08 commit.
17359         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
17360         and --witness-c-macro have been given, augment AM_CPPFLAGS.
17361
17362 2011-06-13  Bruno Haible  <bruno@clisp.org>
17363
17364         fseeko: Provide a non-inline replacement of fseek().
17365         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
17366         * modules/fseeko (Depends-on): Add fseek.
17367         * modules/fseek (License): Change to LGPLv2+.
17368
17369 2011-06-13  Bruno Haible  <bruno@clisp.org>
17370
17371         ftello: Provide a non-inline replacement of ftell().
17372         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
17373         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
17374         not have ftello() (such as on mingw).
17375         * modules/ftello (Depends-on): Add ftell.
17376         * modules/ftell (License): Change to LGPLv2+.
17377
17378 2011-05-07  Bruno Haible  <bruno@clisp.org>
17379
17380         ftell: Move AC_LIBOBJ invocations to module description.
17381         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
17382         * modules/ftell (configure.ac): ... to here.
17383
17384 2011-05-07  Bruno Haible  <bruno@clisp.org>
17385
17386         ftello: Respect rules for use of AC_LIBOBJ.
17387         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
17388         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
17389         here...
17390         * modules/ftello (configure.ac): ... to here.
17391
17392 2011-05-07  Bruno Haible  <bruno@clisp.org>
17393
17394         fseeko: Simplify.
17395         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
17396         (gl_FUNC_FSEEKO): Inline it here.
17397
17398 2011-05-07  Bruno Haible  <bruno@clisp.org>
17399
17400         fseek: Move AC_LIBOBJ invocations to module description.
17401         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
17402         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
17403         * modules/fseek (configure.ac): ... to here.
17404
17405 2011-05-07  Bruno Haible  <bruno@clisp.org>
17406
17407         fseek: Respect rules for use of AC_LIBOBJ.
17408         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
17409         here...
17410         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
17411
17412 2011-05-07  Bruno Haible  <bruno@clisp.org>
17413
17414         fseeko: Respect rules for use of AC_LIBOBJ.
17415         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
17416         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
17417         here...
17418         * modules/fseeko (configure.ac): ... to here.
17419
17420 2011-06-13  Bruno Haible  <bruno@clisp.org>
17421
17422         gnulib-tool: Allow comments in the 'Depends-on' section.
17423         * doc/gnulib.texi (Module description): Mention comment syntax in the
17424         Depends-on section.
17425         * gnulib-tool (func_get_dependencies): Filter out comment lines.
17426
17427 2011-06-13  Bruno Haible  <bruno@clisp.org>
17428
17429         file-set.h: guard __attibute__ use, now that it's not always defined
17430         * lib/file-set.h (record_file): Use __attribute__ only with compiler
17431         versions that support it.  This fixes a coreutils build failure with
17432         the vendor cc on HP-UX 11.31.
17433
17434 2011-06-12  Bruno Haible  <bruno@clisp.org>
17435
17436         acl: Add support for HP-UX >= 11.11 JFS ACLs.
17437         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
17438         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
17439         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
17440         (acl, aclsort): New declarations.
17441         (aclv_nontrivial): New declaration.
17442         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
17443         (file_has_acl): Read also the second kind of HP-UX ACLs.
17444         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
17445         kind of HP-UX ACLs if the first kind fails.
17446         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
17447         second kind of HP-UX ACLs.
17448         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
17449         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
17450         agree.
17451         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
17452         hpuxjfs.
17453         Handle hpuxjfs.
17454         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
17455         hpuxjfs.
17456         Handle hpuxjfs.
17457         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
17458         (func_test_same_acls): Use both lsacl and getacl.
17459         Handle hpuxjfs.
17460         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
17461         (func_test_same_acls): Use both lsacl and getacl.
17462         Handle hpuxjfs.
17463
17464 2011-06-12  Bruno Haible  <bruno@clisp.org>
17465
17466         acl: Complete the 2010-08-10 fix.
17467         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
17468         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
17469         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
17470         explicitly.
17471         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
17472         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
17473
17474 2011-06-12  Bruno Haible  <bruno@clisp.org>
17475
17476         spawn-pipe tests: Comments.
17477         * tests/test-spawn-pipe-child.c (main): Update comment.
17478         Reported by James Youngman <jay@gnu.org>.
17479
17480 2011-06-11  James Youngman  <jay@gnu.org>
17481
17482         New module 'stat-size'.
17483         * modules/stat-size: New module.  Provides macros for accessing
17484         file size information in instances of struct stat.  Depends on the
17485         fileblocks module because it calls st_blocks.
17486         * lib/stat-size.h: New file, adapted from coreutils' system.h.
17487         * doc/gnulib.texi: Include stat-size.texi.
17488         * doc/stat-size.texi: Documentation for this module.
17489         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
17490         * m4/fileblocks.m4: Mention that stat-size depends on the call to
17491         AC_STRUCT_ST_BLOCKS.
17492
17493 2011-06-09  Bruno Haible  <bruno@clisp.org>
17494
17495         thread: Support pthreads-win32.
17496         * lib/glthread/thread.h (gl_thread_self): Define differently on
17497         pthreads-win32.
17498         (gl_null_thread): New declaration.
17499         (gl_thread_self_pointer): New macro.
17500         * lib/glthread/thread.c (gl_null_thread): New constant.
17501         * tests/test-lock.c: Use gl_thread_self_pointer instead of
17502         gl_thread_self.
17503         * tests/test-tls.c: Likewise.
17504         Suggested by Paul Eggert. Reported by Eric Blake.
17505
17506 2011-06-09  Bruno Haible  <bruno@clisp.org>
17507
17508         thread: Fix confusion between NULL and 0.
17509         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
17510         Reported by Paul Eggert.
17511
17512 2011-06-09  Bruno Haible  <bruno@clisp.org>
17513
17514         spawn-pipe tests: Avoid test failure on HP-UX 11.
17515         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
17516         is closed.
17517
17518 2011-06-09  Bruno Haible  <bruno@clisp.org>
17519
17520         acl tests: Fix compilation error on HP-UX 11.
17521         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
17522
17523 2011-06-09  Bruno Haible  <bruno@clisp.org>
17524
17525         rmdir: Avoid test failure on HP-UX 10.20.
17526         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
17527         EEXIST.
17528
17529 2011-06-08  Eric Blake  <eblake@redhat.com>
17530
17531         perror: fix test on mingw
17532         * modules/perror-tests (Depends-on): Add dup2.
17533
17534         strerror_r-posix: fix on MacOS
17535         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
17536         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
17537         logic bug.
17538         * lib/strerror_r.c (strerror_r): Fix the bug.
17539         * lib/strerror.c (strerror): Likewise.
17540         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
17541         problem.
17542         * doc/posix-functions/strerror.texi (strerror): Likewise.
17543         * doc/posix-functions/perror.texi (perror): Likewise.
17544         * tests/test-strerror.c (main): Enhance test.
17545         * tests/test-strerror_r.c (main): Likewise.
17546
17547 2011-06-08  Bruno Haible  <bruno@clisp.org>
17548
17549         gnulib-tool: Better isolation between different gnulib-tool invocations.
17550         * gnulib-tool: New option --witness-c-macro.
17551         (witness_c_macro): New variable.
17552         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
17553         AM_CPPFLAGS define it as a C macro.
17554         (func_emit_tests_Makefile_am): Likewise.
17555         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
17556         read it from there.
17557         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
17558         m4_define, not AC_DEFUN.
17559         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
17560         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
17561         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
17562         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
17563         s|...|...|, to substitute the values of the GNULIB_* module indicator
17564         variables.
17565         * modules/dirent (Makefile.am): Likewise.
17566         * modules/fcntl-h (Makefile.am): Likewise.
17567         * modules/iconv-h (Makefile.am): Likewise.
17568         * modules/langinfo (Makefile.am): Likewise.
17569         * modules/locale (Makefile.am): Likewise.
17570         * modules/math (Makefile.am): Likewise.
17571         * modules/netdb (Makefile.am): Likewise.
17572         * modules/poll-h (Makefile.am): Likewise.
17573         * modules/pty (Makefile.am): Likewise.
17574         * modules/search (Makefile.am): Likewise.
17575         * modules/signal (Makefile.am): Likewise.
17576         * modules/spawn (Makefile.am): Likewise.
17577         * modules/stdio (Makefile.am): Likewise.
17578         * modules/stdlib (Makefile.am): Likewise.
17579         * modules/string (Makefile.am): Likewise.
17580         * modules/sys_ioctl (Makefile.am): Likewise.
17581         * modules/sys_select (Makefile.am): Likewise.
17582         * modules/sys_socket (Makefile.am): Likewise.
17583         * modules/sys_stat (Makefile.am): Likewise.
17584         * modules/sys_times (Makefile.am): Likewise.
17585         * modules/sys_utsname (Makefile.am): Likewise.
17586         * modules/sys_wait (Makefile.am): Likewise.
17587         * modules/termios (Makefile.am): Likewise.
17588         * modules/time (Makefile.am): Likewise.
17589         * modules/unistd (Makefile.am): Likewise.
17590         * modules/wchar (Makefile.am): Likewise.
17591
17592 2011-06-08  Eric Blake  <eblake@redhat.com>
17593
17594         strerror: simplify replacement
17595         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
17596         * modules/strerror (configure.ac): No prereqs needed here...
17597         * modules/strerror-override (configure.ac): ...but this needs it.
17598         (Files): Add file for needed prereq macro.
17599
17600 2011-06-08  Bruno Haible  <bruno@clisp.org>
17601
17602         strerror_r-posix: Tweaks.
17603         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
17604         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
17605         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
17606         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
17607         (gl_FUNC_STRERROR_R): ... to here.
17608         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
17609
17610 2011-06-07  Eric Blake  <eblake@redhat.com>
17611
17612         perror: document fixed bugs
17613         * doc/posix-functions/perror.texi (perror): Document recent
17614         patches.
17615
17616 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
17617
17618         stat-time: get_stat_birthtime failure is better-defined
17619         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
17620         return a timestamp whose tv_sec and tv_nsec values are both -1.
17621         Previously, the spec said only that the tv_nsec value was negative.
17622         This upward-compatible change simplifies GNU tar a bit.
17623
17624 2011-06-07  Eric Blake  <eblake@redhat.com>
17625
17626         strerror_r-posix: work around cygwin 1.7.9
17627         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
17628         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
17629         bug without replacing strerror_r.
17630         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
17631         strerror_r is buggy, but without requiring strerror_r compilation.
17632         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
17633
17634         test-perror: relax test to ignore cygwin bug
17635         * tests/test-perror2.c (main): Relax test on requiring detection
17636         of stream errors, and use unbuffered stream.
17637         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
17638         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17639         * doc/posix-functions/fputc.texi (fputc): Likewise.
17640         * doc/posix-functions/fputs.texi (fputs): Likewise.
17641         * doc/posix-functions/fputws.texi (fputws): Likewise.
17642         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17643         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
17644         * doc/posix-functions/getopt.texi (getopt): Likewise.
17645         * doc/posix-functions/perror.texi (perror): Likewise.
17646         * doc/posix-functions/printf.texi (printf): Likewise.
17647         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
17648         * doc/posix-functions/psignal.texi (psignal): Likewise.
17649         * doc/posix-functions/putc.texi (putc): Likewise.
17650         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
17651         Likewise.
17652         * doc/posix-functions/putchar.texi (putchar): Likewise.
17653         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
17654         Likewise.
17655         * doc/posix-functions/puts.texi (puts): Likewise.
17656         * doc/posix-functions/putwc.texi (putwc): Likewise.
17657         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
17658         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17659         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17660         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17661         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17662         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17663         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
17664         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17665
17666 2011-05-22  Bruno Haible  <bruno@clisp.org>
17667
17668         strerror: Move AC_LIBOBJ invocations to module description.
17669         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
17670         gl_PREREQ_STRERROR invocations from here...
17671         * modules/strerror (configure.ac): ... to here.
17672
17673 2011-05-21  Bruno Haible  <bruno@clisp.org>
17674
17675         perror: Use common idiom.
17676         * modules/perror (configure.ac): Reorder statements.
17677
17678 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17679
17680         tests: fix usage message in 'mktempd_'
17681         * tests/init.sh (mktempd_): In the usage message, use literal
17682         'mktempd_', not '$ME' (which is even undefined), as the name of
17683         the subroutine.
17684
17685 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17686
17687         tests init: new function 'fatal_', for hard errors
17688         Before this patch, the only way offered by tests/init.sh to
17689         properly signal a hard error was the `framework_failure_'
17690         function.  But the error message issued by that function,
17691         as its name would suggest, refers to a set-up failure in the
17692         testsuite, while hard errors can obviously also be due to
17693         other reasons.  The best way to fix this inconsistency is to
17694         introduce a new function with a more general error message.
17695         * tests/init.sh (fatal_): New function.
17696
17697 2011-06-06  Eric Blake  <eblake@redhat.com>
17698
17699         canonicalize-lgpl: use common idiom
17700         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
17701         over newer POSIX -Rf.
17702         Reported by Bruno Haible.
17703
17704         canonicalize-lgpl: work around AIX realpath bug
17705         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
17706         * doc/posix-functions/realpath.texi (realpath): Document it.
17707         Reported by Bruno Haible.
17708
17709         strerror: work around FreeBSD bug
17710         * lib/strerror.c (strerror): Special case 0.
17711         Reported by Bruno Haible.
17712
17713         strerror-override: avoid bloating errno module
17714         * modules/errno (Files, configure.ac): Move replacement strings...
17715         * modules/strerror-override: ...to new module.
17716         * modules/strerror (Depends-on): Add strerror-override.
17717         * modules/strerror_r-posix (Depends-on): Likewise.
17718         * MODULES.html.sh: Document new module.
17719         Reported by Bruno Haible.
17720
17721 2011-06-06  Bruno Haible  <bruno@clisp.org>
17722
17723         spawn-pipe tests: Rename program.
17724         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
17725         * tests/test-spawn-pipe-child.c: Update comment.
17726         * tests/test-spawn-pipe.sh: Update.
17727         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
17728
17729         spawn-pipe tests: Link the child program only against libc.
17730         * tests/test-spawn-pipe-child.c: New file, extracted from
17731         tests/test-spawn-pipe.c.
17732         (main): Expect only one argument.
17733         (is_open): New function, copied from tests/test-pipe.c.
17734         * tests/test-spawn-pipe.c: Don't include <errno.h>.
17735         (child_main): Remove function.
17736         (test_pipe): Pass only one argument to the child program.
17737         (main): Remove child process code. Expect the child program's name as
17738         first argument.
17739         * tests/test-spawn-pipe.sh: Pass the child program's name as first
17740         argument.
17741         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
17742         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
17743         test-spawn-pipe-child against no libraries.
17744
17745 2011-06-06  Bruno Haible  <bruno@clisp.org>
17746
17747         careadlinkat: Avoid mismatch between ssize_t and int.
17748         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
17749         * lib/careadlinkat.c (careadlinkatcwd): Define always.
17750
17751 2011-06-06  Jim Meyering  <meyering@redhat.com>
17752
17753         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
17754         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
17755         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
17756
17757 2011-06-05  Bruno Haible  <bruno@clisp.org>
17758
17759         ansi-c++-opt: Interoperability with libtool.
17760         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
17761         set the variable to "no", not to ":".
17762         * NEWS: Mention the change.
17763
17764 2011-06-05  Bruno Haible  <bruno@clisp.org>
17765
17766         acl: Fix test failure on AIX 7.
17767         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
17768         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
17769
17770 2011-06-05  Bruno Haible  <bruno@clisp.org>
17771
17772         pipe-filter-ii: Fix test failure on AIX and IRIX.
17773         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
17774         with EAGAIN, retry with a smaller buffer size.
17775
17776 2011-06-05  Bruno Haible  <bruno@clisp.org>
17777
17778         localename: Fix link dependencies.
17779         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
17780         * modules/localename-tests (Makefile.am): Link test-localename with
17781         $(LIBTHREAD).
17782
17783 2011-06-05  Bruno Haible  <bruno@clisp.org>
17784
17785         error: Avoid gcc warning.
17786         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
17787
17788 2011-06-05  Bruno Haible  <bruno@clisp.org>
17789
17790         unsetenv: Avoid gcc warning.
17791         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
17792
17793 2011-06-05  Bruno Haible  <bruno@clisp.org>
17794
17795         setenv: Avoid gcc warning.
17796         * lib/setenv.c (setenv): Provide declaration if system lacks it.
17797
17798 2011-06-05  Bruno Haible  <bruno@clisp.org>
17799
17800         sys_select: Ensure memset is declared also on AIX 7.
17801         * lib/sys_select.in.h: Include <string.h> also on AIX.
17802         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
17803         self-contained also on AIX 7.1.
17804
17805 2011-06-04  Jim Meyering  <meyering@redhat.com>
17806
17807         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
17808         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
17809         function name, "error".
17810         (_gl_translatable_diag_func_re): New configurable variable.
17811
17812 2011-06-04  Bruno Haible  <bruno@clisp.org>
17813
17814         getopt: Avoid gcc warning.
17815         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
17816
17817 2011-06-04  Bruno Haible  <bruno@clisp.org>
17818
17819         strerror_r: Fix comments.
17820         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
17821         commit.
17822
17823 2011-06-04  Bruno Haible  <bruno@clisp.org>
17824
17825         perror: Fix compilation error.
17826         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
17827         Undefine fprintf, not sprintf.
17828         * modules/perror (Depends-on): Remove intprops, verify.
17829
17830 2011-06-04  Bruno Haible  <bruno@clisp.org>
17831
17832         setlocale: Enable replacement on Cygwin 1.5.
17833         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
17834         Cygwin 1.5.x.
17835         * doc/posix-functions/setlocale.texi: Mention that the problem with the
17836         LC_CTYPE category also exists on Cygwin 1.5.x.
17837
17838 2011-06-04  Bruno Haible  <bruno@clisp.org>
17839
17840         strerror-override: Don't disable symbol renamings.
17841         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
17842         * lib/strerror-override.c: Include config.h.
17843         (strerror_override): Don't undefine.
17844
17845 2011-06-03  Bruno Haible  <bruno@clisp.org>
17846
17847         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
17848         * lib/localename.h: Update copyright header.
17849         * lib/localename.c: Likewise.
17850         * lib/relocatable.h: Likewise.
17851         * lib/relocatable.c: Likewise.
17852
17853 2011-06-02  Bruno Haible  <bruno@clisp.org>
17854
17855         doc: Fix a module name.
17856         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
17857
17858 2011-06-02  Bruno Haible  <bruno@clisp.org>
17859
17860         pipe2: Remove dependency on 'nonblocking' module.
17861         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
17862         O_NONBLOCK is defined by gnulib.
17863         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
17864         is zero.
17865         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
17866         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
17867         defined by gnulib.
17868         (get_nonblocking_flag): New function.
17869         (main): Test O_NONBLOCK flag only if it is nonzero.
17870         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
17871
17872 2011-06-03  Jim Meyering  <meyering@redhat.com>
17873
17874         maint: three new prohibit-header-without-use rules
17875         Prohibit use of cloexec.h, posixver.h, same.h without use.
17876         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
17877         (sc_prohibit_posixver_without_use): Likewise.
17878         (sc_prohibit_same_without_use): Likewise.
17879
17880 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17881
17882         allocator: 'die' routine is now given requested size
17883         * lib/allocator.h (struct allocator.die): New size arg.
17884         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
17885         If the actual problem is an ssize_t limitation, not a size_t or
17886         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
17887
17888 2011-06-01  Eric Blake  <eblake@redhat.com>
17889
17890         strerror: drop strerror_r dependency
17891         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
17892         * lib/strerror-override.c (strerror_override): ...to new file.
17893         * lib/strerror-override.h: Add prototype.
17894         * lib/strerror-impl.h: Delete.
17895         * lib/strerror.c (strerror): New implementation.
17896         * modules/errno (Files): Add new files.
17897         (configure.ac): Compile new file as appropriate.
17898         * modules/strerror (Files): Drop unused file.
17899         (Depends-on): Drop strerror_r-posix.
17900         * MODULES.html.sh: Document strerror_r-posix.
17901         Requested by Sam Steingold.
17902
17903         perror: call strerror_r directly
17904         * modules/perror (Files): Drop strerror-impl.h.
17905         * lib/perror.c (perror): Use our own stack buffer, rather than
17906         calling a wrapper that uses static storage.
17907         * doc/posix-functions/perror.texi (perror): Document a limitation
17908         of our replacement.
17909
17910         strerror_r: fix includes for FreeBSD
17911         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
17912         since we use abort on some platforms.
17913         Reported by Matthias Bolte.
17914
17915 2011-05-31  Bruno Haible  <bruno@clisp.org>
17916
17917         Fix link errors in tests: openat-die uses gettext-h.
17918         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
17919         against $(LIBINTL).
17920         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
17921         against $(LIBINTL).
17922         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
17923         $(LIBINTL).
17924         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
17925         against $(LIBINTL).
17926         * modules/linkat-tests (Makefile.am): Link test-linkat against
17927         $(LIBINTL).
17928         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
17929         $(LIBINTL).
17930         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
17931         against $(LIBINTL).
17932         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
17933         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
17934         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
17935         $(LIBINTL).
17936         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
17937         $(LIBINTL).
17938         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
17939         $(LIBINTL).
17940         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17941
17942 2011-05-31  Bruno Haible  <bruno@clisp.org>
17943
17944         Fix link errors in tests: wait-process uses gettext-h.
17945         * modules/nonblocking-pipe-tests (Makefile.am): Set
17946         test_nonblocking_pipe_main_LDADD.
17947         * modules/nonblocking-socket-tests (Makefile.am): Link
17948         test-nonblocking-socket-main against $(LIBINTL).
17949         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17950
17951 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17952
17953         assert-h: work around 'verify' incompatibility
17954         * lib/verify.h: Use @...@ directives, not ifdef.
17955         * modules/assert-h (assert.h): Implement the directives.
17956         (assert.h): Substitute the symbol-prefix more consistently.
17957
17958 2011-05-29  Jim Meyering  <meyering@redhat.com>
17959
17960         trim: remove three superfluous assignments
17961         * lib/trim.c (trim2): Remove three superfluous assignments
17962         and correct brace positioning.
17963
17964 2011-05-29  Bruno Haible  <bruno@clisp.org>
17965
17966         wctype-h: Avoid namespace pollution on Solaris 2.6.
17967         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
17968         identifiers.
17969         * doc/posix-headers/wctype.texi: Mention the problem.
17970         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17971
17972 2011-05-28  Jim Meyering  <meyering@redhat.com>
17973
17974         parse-datetime.y: accommodate -Wstrict-overflow
17975         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
17976         placate -Wstrict-overflow.
17977
17978         trim: avoid a warning from -O2 -Wstrict-overflow
17979         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
17980
17981 2011-05-29  Bruno Haible  <bruno@clisp.org>
17982
17983         gnulib-tool: Fix bug in yesterday's commit.
17984         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
17985         twice.
17986
17987 2011-05-29  Bruno Haible  <bruno@clisp.org>
17988
17989         Allow multiple gnulib generated include files to be combined.
17990         * gnulib-tool (func_compute_include_guard_prefix): New function.
17991         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
17992         ${gl_include_guard_prefix} references.
17993         (func_import, func_create_testdir): Invoke
17994         func_compute_include_guard_prefix.
17995         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
17996         * lib/ctype.in.h: Likewise.
17997         * lib/dirent.in.h: Likewise.
17998         * lib/errno.in.h: Likewise.
17999         * lib/fcntl.in.h: Likewise.
18000         * lib/float.in.h: Likewise.
18001         * lib/getopt.in.h: Likewise.
18002         * lib/iconv.in.h: Likewise.
18003         * lib/langinfo.in.h: Likewise.
18004         * lib/locale.in.h: Likewise.
18005         * lib/math.in.h: Likewise.
18006         * lib/netdb.in.h: Likewise.
18007         * lib/netinet_in.in.h: Likewise.
18008         * lib/poll.in.h: Likewise.
18009         * lib/pthread.in.h: Likewise.
18010         * lib/pty.in.h: Likewise.
18011         * lib/sched.in.h: Likewise.
18012         * lib/se-selinux.in.h: Likewise.
18013         * lib/search.in.h: Likewise.
18014         * lib/signal.in.h: Likewise.
18015         * lib/spawn.in.h: Likewise.
18016         * lib/stdarg.in.h: Likewise.
18017         * lib/stddef.in.h: Likewise.
18018         * lib/stdint.in.h: Likewise.
18019         * lib/stdio.in.h: Likewise.
18020         * lib/stdlib.in.h: Likewise.
18021         * lib/string.in.h: Likewise.
18022         * lib/strings.in.h: Likewise.
18023         * lib/sys_file.in.h: Likewise.
18024         * lib/sys_ioctl.in.h: Likewise.
18025         * lib/sys_select.in.h: Likewise.
18026         * lib/sys_socket.in.h: Likewise.
18027         * lib/sys_stat.in.h: Likewise.
18028         * lib/sys_time.in.h: Likewise.
18029         * lib/sys_times.in.h: Likewise.
18030         * lib/sys_uio.in.h: Likewise.
18031         * lib/sys_utsname.in.h: Likewise.
18032         * lib/sys_wait.in.h: Likewise.
18033         * lib/sysexits.in.h: Likewise.
18034         * lib/termios.in.h: Likewise.
18035         * lib/time.in.h: Likewise.
18036         * lib/unistd.in.h: Likewise.
18037         * lib/wchar.in.h: Likewise.
18038         * lib/wctype.in.h: Likewise.
18039         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
18040         * modules/ctype (Makefile.am): Likewise.
18041         * modules/dirent (Makefile.am): Likewise.
18042         * modules/errno (Makefile.am): Likewise.
18043         * modules/fcntl-h (Makefile.am): Likewise.
18044         * modules/float (Makefile.am): Likewise.
18045         * modules/getopt-posix (Makefile.am): Likewise.
18046         * modules/iconv-h (Makefile.am): Likewise.
18047         * modules/langinfo (Makefile.am): Likewise.
18048         * modules/locale (Makefile.am): Likewise.
18049         * modules/math (Makefile.am): Likewise.
18050         * modules/netdb (Makefile.am): Likewise.
18051         * modules/netinet_in (Makefile.am): Likewise.
18052         * modules/poll-h (Makefile.am): Likewise.
18053         * modules/pthread (Makefile.am): Likewise.
18054         * modules/pty (Makefile.am): Likewise.
18055         * modules/sched (Makefile.am): Likewise.
18056         * modules/search (Makefile.am): Likewise.
18057         * modules/selinux-h (Makefile.am): Likewise.
18058         * modules/signal (Makefile.am): Likewise.
18059         * modules/spawn (Makefile.am): Likewise.
18060         * modules/stdarg (Makefile.am): Likewise.
18061         * modules/stddef (Makefile.am): Likewise.
18062         * modules/stdint (Makefile.am): Likewise.
18063         * modules/stdio (Makefile.am): Likewise.
18064         * modules/stdlib (Makefile.am): Likewise.
18065         * modules/string (Makefile.am): Likewise.
18066         * modules/strings (Makefile.am): Likewise.
18067         * modules/sys_file (Makefile.am): Likewise.
18068         * modules/sys_ioctl (Makefile.am): Likewise.
18069         * modules/sys_select (Makefile.am): Likewise.
18070         * modules/sys_socket (Makefile.am): Likewise.
18071         * modules/sys_stat (Makefile.am): Likewise.
18072         * modules/sys_time (Makefile.am): Likewise.
18073         * modules/sys_times (Makefile.am): Likewise.
18074         * modules/sys_uio (Makefile.am): Likewise.
18075         * modules/sys_utsname (Makefile.am): Likewise.
18076         * modules/sys_wait (Makefile.am): Likewise.
18077         * modules/sysexits (Makefile.am): Likewise.
18078         * modules/termios (Makefile.am): Likewise.
18079         * modules/time (Makefile.am): Likewise.
18080         * modules/unistd (Makefile.am): Likewise.
18081         * modules/wchar (Makefile.am): Likewise.
18082         * modules/wctype-h (Makefile.am): Likewise.
18083         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
18084
18085 2011-05-29  Bruno Haible  <bruno@clisp.org>
18086
18087         assert-h: Allow multiple gnulib generated replacements to coexist.
18088         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
18089
18090 2011-05-29  Bruno Haible  <bruno@clisp.org>
18091
18092         argp: Allow coexistence with strerror_r-posix module.
18093         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
18094         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
18095         by gnulib's <string.h> replacement), assume it has the POSIX signature,
18096         not the glibc signature.
18097
18098 2011-05-28  Bruno Haible  <bruno@clisp.org>
18099
18100         gnulib-tool: Alternative structure of testdirs, similar to --import.
18101         * gnulib-tool: New option --single-configure.
18102         (func_usage): Document it.
18103         (single_configure): New variable.
18104         (func_modules_transitive_closure_separately,
18105         func_modules_transitive_closure_separately,
18106         func_determine_use_libtests, func_modules_add_dummy_separately,
18107         func_modules_to_filelist_separately): New functions, extracted from
18108         func_import.
18109         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
18110         (func_import): Use the new functions.
18111         (func_create_testdir): Set final_modules. Handle $single_configure =
18112         true case.
18113
18114 2011-05-28  Bruno Haible  <bruno@clisp.org>
18115
18116         getloadavg: Remove an unreliable safety check.
18117         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
18118         getloadavg.c is in place.
18119         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
18120         Reported by Sam Steingold <sds@gnu.org>.
18121
18122 2011-05-28  Bruno Haible  <bruno@clisp.org>
18123
18124         doc: Cleanup yet another file produced by texinfo.tex.
18125         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
18126
18127 2011-05-28  Bruno Haible  <bruno@clisp.org>
18128
18129         Finish the conditional dependencies mechanism.
18130         * gnulib-tool: New option --no-conditional-dependencies.
18131         (func_usage): Document it. Don't mark --conditional-dependencies as
18132         experimental.
18133         (cond_dependencies): The possible values can now be true, false, empty.
18134         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
18135         (func_import): Store setting in gnulib-cache.m4 and read it from there.
18136         * doc/gnulib-tool.texi (Conditional dependencies): New section.
18137
18138 2011-05-28  Bruno Haible  <bruno@clisp.org>
18139
18140         doc: Use a recent texinfo.tex.
18141         * doc/Makefile (tex_opts): New variable.
18142         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
18143
18144 2011-05-28  Jim Meyering  <meyering@redhat.com>
18145
18146         intprops.h: adjust comment to match code change
18147         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
18148         only once, it *may* have side effects.  Also fix an unrelated typo.
18149         (_GL_INT_SIGNED): Likewise.
18150
18151 2011-05-26  Simon Josefsson  <simon@josefsson.org>
18152
18153         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
18154
18155 2011-05-26  Bruno Haible  <bruno@clisp.org>
18156
18157         mbsrchr: Avoid collision with system function on Interix.
18158         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
18159         Reported by Markus Duft <mduft@gentoo.org>.
18160
18161 2011-05-15  James Youngman  <jay@gnu.org>
18162
18163         getopt: for ambiguous options, enumerate the possibilities.
18164         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
18165         the ambiguous options when an ambiguous prefix is given. This was
18166         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
18167         glibc change was
18168         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
18169
18170 2011-05-25  Eric Blake  <eblake@redhat.com>
18171
18172         getcwd: work around mingw bug
18173         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
18174         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18175         Reported by Matthias Bolte.
18176
18177 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
18178
18179         test-intprops: disable -Wtype-limits diagnostics
18180         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
18181         diagnostics.  Otherwise, the integer overflow macros generate many
18182         diagnostics.  Reported by Jim Meyering in
18183         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
18184
18185         intprops: shorten, to pacify gcc -Woverlength-strings
18186         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
18187         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
18188         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
18189         likely to run afoul of C compiler limits for string constant lengths.
18190         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
18191
18192 2011-05-24  Eric Blake  <eblake@redhat.com>
18193
18194         docs: document recently fixed glibc printf bug
18195         * doc/posix-functions/fprintf.texi (fprintf): Document it.
18196         * doc/posix-functions/printf.texi (printf): Likewise.
18197         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18198         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18199
18200         closein-tests: convert to init.sh
18201         * modules/closein-tests (Files): Add init.sh
18202         * tests/test-closein.sh Use it.
18203
18204         yesno-tests: convert to init.sh
18205         * modules/yesno-tests (Files): Add init.sh.
18206         * tests/test-yesno.sh: Use it.
18207
18208         atexit-tests: ensure reliable exit status
18209         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
18210         Reported by Bruno Haible.
18211
18212 2011-05-24  Bruno Haible  <bruno@clisp.org>
18213
18214         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
18215         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
18216         gl_PREREQ_STRERROR_R invocations from here...
18217         * modules/strerror_r-posix (configure.ac): ... to here.
18218
18219 2011-05-24  Eric Blake  <eblake@redhat.com>
18220
18221         strerror_r: fix missing header
18222         * lib/strerror_r.c: Avoid compiler warning about snprintf.
18223
18224         strerror_r: fix AIX test failures
18225         * lib/strerror_r.c (strerror_r): Convert silent truncation to
18226         ERANGE failure.
18227
18228         strerror_r: fix Solaris test failures
18229         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
18230         failures.
18231         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
18232
18233         strerror_r: enforce POSIX recommendations
18234         * lib/strerror_r.c (safe_copy): New helper method.
18235         (strerror_r): Guarantee a non-empty string.
18236         * tests/test-strerror_r.c (main): Enhance tests to incorporate
18237         recent POSIX rulings and to match our strerror guarantees.
18238         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
18239
18240 2011-05-24  Jim Meyering  <meyering@redhat.com>
18241
18242         test-perror2.c: avoid warning about unused variable
18243         * tests/test-perror2.c (main): Remove declaration of unused "fp".
18244
18245 2011-05-24  Eric Blake  <eblake@redhat.com>
18246
18247         perror: avoid spurious test failure on HP-UX
18248         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
18249
18250         tests: fix logic bug in init.sh
18251         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
18252         shell.
18253
18254 2011-05-24  Jim Meyering  <meyering@redhat.com>
18255
18256         utimensat: do not reference an out-of-scope buffer
18257         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
18258         declared in an inner scope, yet "times" would be dereferenced outside
18259         the scope in which "ts" was valid.
18260         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
18261         of ts[2] "out/up", so that the use of aliased "times" (via
18262         "times = ts;") does not end up referencing an out-of-scope "ts"
18263
18264         opendir-safer.c: don't clobber errno; don't close negative FD
18265         * lib/opendir-safer.c (opendir_safer):
18266         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
18267         file descriptor, and more importantly, don't clobber the
18268         offending errno value with EINVAL.  Before, upon failure
18269         of dup_safer, we would pass the negative file descriptor to
18270         fdopendir, which would clobber errno.
18271
18272 2011-05-23  Bruno Haible  <bruno@clisp.org>
18273
18274         idcache: Fix module description.
18275         * modules/idcache (Include): Set to "idcache.h".
18276
18277 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
18278
18279         gnulib-tool: fix portability problem with MacOS sed
18280         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
18281         before the "}".  Problem reported by Leo in
18282         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
18283         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
18284         sed_extract_condition1, sed_extract_condition2.
18285
18286 2011-05-23  Bruno Haible  <bruno@clisp.org>
18287
18288         hash: Simplify autoconf macro.
18289         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
18290
18291 2011-05-23  Bruno Haible  <bruno@clisp.org>
18292
18293         getugroups: Fix module description.
18294         * modules/getugroups (Include): Set to "getugroups.h".
18295
18296 2011-05-23  Bruno Haible  <bruno@clisp.org>
18297
18298         linkat: Simplify autoconf macro.
18299         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
18300
18301 2011-05-23  Bruno Haible  <bruno@clisp.org>
18302             Eric Blake  <eblake@redhat.com>
18303
18304         linkat, renameat: Update dependencies.
18305         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
18306         * modules/linkat (Depends-on): Likewise. Remove also readlink,
18307         symlinkat.
18308
18309 2011-05-23  Jim Meyering  <meyering@redhat.com>
18310
18311         maint.mk: more tight_scope improvements
18312         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
18313         (_gl_TS_headers): Define only in if-0'd block.
18314         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
18315         sometimes we must *not* use it.  Adjust uses accordingly.
18316         (sc_tight_scope): Use much simpler grep-based test to determine
18317         whether we skip this rule.
18318
18319         maint.mk: generalize/improve the tight-scope rule
18320         * top/maint.mk: Emit a warning when the test is skipped.
18321         (_gl_TS_dir): Add $(srcdir)/ prefix.
18322         (_gl_TS_function_match): Simplify, rather than trying
18323         to enumerate common types.  Otherwise, it would fail to match an
18324         "extern unsigned char const *" declaration in idutils.
18325         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
18326         a way to support use of that type of macro.
18327         (_gl_TS_var_match): Simplify regexp.
18328         (_gl_TS_obj_files): New configurable variable.
18329         (_gl_TS_headers): Likewise.
18330
18331 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
18332
18333         verify: fix bug when gnulib <assert.h> is also included
18334         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
18335         is defined, not if _GL_STATIC_ASSERT_H is not defined.
18336         Perhaps there's a better way, but this fixes the immediate problem.
18337         Problem reported by Bruno Haible in
18338         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
18339
18340 2011-05-22  Bruno Haible  <bruno@clisp.org>
18341
18342         xgetcwd: Simplify autoconf macro.
18343         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
18344
18345 2011-05-22  Bruno Haible  <bruno@clisp.org>
18346
18347         New module 'mktime-internal'.
18348         * modules/mktime-internal: New file.
18349         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
18350         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
18351         mktime_internal as a C macro if libc has __mktime_internal.
18352         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
18353         conditions.
18354         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
18355
18356 2011-05-22  Bruno Haible  <bruno@clisp.org>
18357
18358         timegm: Correct mktime replacement statements.
18359         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
18360         defining mktime as a C macro. This completes a 2009-07-28 commit.
18361
18362 2011-05-22  Bruno Haible  <bruno@clisp.org>
18363
18364         timegm: Simplify autoconf macro.
18365         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
18366
18367 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18368
18369         clock-time: change to LGPLv2+.
18370         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
18371         BSD-like but we have no mark for that; this is good enough for now.
18372
18373 2011-05-21  Bruno Haible  <bruno@clisp.org>
18374
18375         strerror_r: Fix comments.
18376         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
18377
18378 2011-05-21  Bruno Haible  <bruno@clisp.org>
18379
18380         relocatable-prog-wrapper: Fix possible link error.
18381         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
18382         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
18383         (gl_FUNC_SETENV): ... to here.
18384         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
18385         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
18386
18387 2011-05-21  Bruno Haible  <bruno@clisp.org>
18388
18389         relocatable-prog-wrapper: Assume strerror() exists.
18390         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
18391         m4/strerror.m4.
18392         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
18393         * lib/relocwrapper.c: Remove mention of strerror module.
18394         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
18395         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
18396         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
18397         C macro.
18398
18399 2011-05-21  Bruno Haible  <bruno@clisp.org>
18400
18401         select: Simplify replacement idiom.
18402         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
18403         Win32 platforms.
18404         * lib/sys_select.in.h (select): Simplify accordingly.
18405         * modules/select (Depends-on): Likewise.
18406
18407 2011-05-21  Bruno Haible  <bruno@clisp.org>
18408
18409         mkdir-p: Simplify autoconf macro.
18410         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
18411         gl_FUNC_LCHOWN.
18412
18413 2011-05-21  Eric Blake  <eblake@redhat.com>
18414
18415         strerror_r: avoid clobbering strerror on cygwin
18416         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
18417         fall back instead to sys_errlist.
18418         * modules/strerror (configure.ac): Add witness.
18419         * tests/test-strerror_r.c (main): Enhance test.
18420         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
18421         * tests/test-perror2.c (main): Free memory before exit.
18422
18423 2011-05-21  Bruno Haible  <bruno@clisp.org>
18424
18425         mkdtemp: Use gnulib naming conventions.
18426         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
18427         * modules/mkdtemp (configure.ac): Update.
18428
18429 2011-05-20  Eric Blake  <eblake@redhat.com>
18430
18431         strerror_r: avoid corrupting errno on Solaris
18432         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
18433         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
18434
18435         strerror_r: avoid compiler warning
18436         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
18437
18438         strerror_r: simplify AIX code
18439         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
18440
18441         test-perror: avoid spurious failure on FreeBSD
18442         * modules/perror-tests (Depends-on): Add strerror, now that
18443         strerror_r no longer pulls it in.
18444
18445 2011-05-20  Bruno Haible  <bruno@clisp.org>
18446
18447         strerror_r-posix: Remove unused dependencies.
18448         * modules/strerror_r-posix (Depends-on): Remove strerror.
18449         Reported by Eric Blake.
18450
18451 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18452
18453         intprops: remove assumption about A|B representation
18454         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
18455         is a valid integer if both A and B are.  Although this is true for
18456         all known practical hosts, the C standard doesn't guarantee it,
18457         and the code need not assume it.  Also, this change may work around
18458         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
18459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
18460
18461 2011-05-20  Eric Blake  <eblake@redhat.com>
18462
18463         perror: work around FreeBSD bug
18464         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
18465         is broken.  Move AC_LIBOBJ...
18466         * modules/perror (configure.ac): Here.
18467         * doc/posix-functions/perror.texi (perror): Document this.
18468         * tests/test-perror2.c (main): Enhance test.
18469
18470         test-perror: check for strerror interactions
18471         * tests/macros.h (STREQ): Add macro.
18472         * modules/perror-tests (Files): Add second test.
18473         * tests/test-perror2.c (main): New file.
18474         * doc/posix-functions/perror.texi (perror): Document glibc bug.
18475
18476         test-perror: rewrite to use init script
18477         * modules/perror-tests (Files): Add init.sh.
18478         * tests/test-perror.sh: Use temporary directory.
18479
18480 2011-05-20  Jim Meyering  <meyering@redhat.com>
18481
18482         maint: replace misused "a" with "an"
18483         * doc/intprops.texi: "a integer"
18484         * doc/regex.texi: "a explanation"
18485         * lib/alignof.h: "a object"
18486         * lib/argmatch.h: "a explanation"
18487         * lib/argp-help.c: "a option" and "a OPTION_DOC"
18488         * lib/stdint.in.h: "a integer"
18489         * lib/userspec.c: "a owner"
18490         * doc/gnulib.texi: Fix "a idea", and reword.
18491
18492 2011-05-19  Jim Meyering  <meyering@redhat.com>
18493
18494         maint: correct misuse of "a" and "an"
18495         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
18496         * lib/argp-help.c: "an docum...": s/an/a/
18497         * lib/argp-parse.c: "An vector": s/An/A/
18498         * lib/execute.c: "an native": s/an/a/
18499         * lib/spawn-pipe.c: Likewise.
18500         * lib/gc.h: "an Gc_rc": s/an/a/
18501         * lib/unigbrk.in.h: "an grapheme": s/an/a/
18502         * lib/fts.c: "an stat.st_dev": s/an/a/
18503
18504 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18505
18506         intprops-tests: work around HP-UX 11.23 cc bug with constants
18507         * tests/test-intprops.c (VERIFY): New macro.
18508         (main): Use it, instead of verify, to work around the compiler bug; see
18509         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18510
18511         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
18512         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
18513         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
18514         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
18515         (_GL_REMAINDER_OVERFLOW): Use it.
18516
18517         intprops-tests: revert unsigned part of previous change
18518         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
18519         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
18520         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
18521         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
18522
18523 2011-05-19  Bruno Haible  <bruno@clisp.org>
18524
18525         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
18526         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
18527         strerror_r() returned without filling the buffer.
18528         Reported by Eric Blake.
18529
18530 2011-05-19  Eric Blake  <eblake@redhat.com>
18531
18532         strerror_r: guarantee unchanged errno
18533         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
18534         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
18535         failure.
18536         * tests/test-strerror_r.c (main): Enhance test.
18537
18538 2011-05-19  Bruno Haible  <bruno@clisp.org>
18539
18540         strerror_r: Reorder #if blocks.
18541         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
18542         for consistency with the previous commit.
18543
18544 2011-05-19  Bruno Haible  <bruno@clisp.org>
18545
18546         perror: Avoid clobbering the strerror buffer when possible.
18547         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
18548         * lib/strerror.c: Include it.
18549         * modules/strerror (Files): Add lib/strerror-impl.h.
18550         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
18551         (my_strerror): New function, defined through lib/strerror-impl.h.
18552         (perror): Use it instead of strerror.
18553         * modules/perror (Files): Add lib/strerror-impl.h.
18554         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
18555
18556 2011-05-19  Eric Blake  <eblake@redhat.com>
18557
18558         strerror_r: fix on newer cygwin
18559         * lib/strerror_r.c (strerror_r): Cygwin now has
18560         __xpg_strerror_r, use it.
18561
18562 2011-05-19  Bruno Haible  <bruno@clisp.org>
18563
18564         strerror_r: Avoid clobbering the strerror buffer when possible.
18565         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
18566         (sys_nerr, sys_errlist): New declarations.
18567         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
18568         HP-UX, native Win32, IRIX, and 32-bit Solaris.
18569         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
18570
18571 2011-05-19  Bruno Haible  <bruno@clisp.org>
18572
18573         strerror_r: Fix test failure on mingw.
18574         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
18575         EXTEND_STRERROR_R.
18576         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
18577         macros from errno.in.h instead.
18578
18579 2011-05-19  Eric Blake  <eblake@redhat.com>
18580
18581         strerror: relax test for Solaris
18582         * tests/test-strerror.c (main): Permit Solaris behavior.
18583         * tests/test-strerror_r.c (main): Likewise.
18584
18585         strerror: enforce POSIX ruling on strerror(0)
18586         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
18587         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
18588         * lib/strerror_r.c (rpl_strerror_r): Work around it.
18589         * doc/posix-functions/strerror.texi (strerror): Document it.
18590         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
18591         * tests/test-strerror.c (main): Strengthen test.
18592         * tests/test-strerror_r.c (main): Likewise.
18593
18594 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18595
18596         intprop-tests: port to older and more-pedantic compilers
18597         * modules/intprops-tests (Files): Add tests/macros.h.
18598         * tests/test-intprops.c: Include macros.h.
18599         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
18600         it's no longer documented to expand to an integer constant expression.
18601         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
18602         argument is floating point, as it's no longer documented to expand
18603         to an integer constant expression in that case.
18604         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
18605         compiler bugs reported by Bruno Haible.  See
18606         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18607         (U0, U1): New constants, to work around the same bugs.  Also,
18608         in tests, use e.g., "(unsigned int) 39" rather than "39u".
18609
18610         intprops: work around C compiler bugs
18611         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
18612         bug in Sun C 5.11 2010/08/13 and other compilers; see
18613         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
18614
18615         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
18616         * doc/intprops.texi (Integer Type Determination): Fix
18617         documentation for TYPE_IS_INTEGER: it returns an constant
18618         expression, not an integer constant expression.  Fix doc for
18619         TYPE_SIGNED: it returns an integer constant expression only if its
18620         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
18621         hardly worth documented that way....)
18622
18623 2011-05-18  Bruno Haible  <bruno@clisp.org>
18624
18625         strerror_r: Avoid clobbering the strerror buffer when possible.
18626         * lib/strerror_r.c (strerror_r): Merge the three implementations.
18627         Handle gnulib defined errno values here. When strerror() returns NULL
18628         or an empty string, return EINVAL.
18629         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
18630         gnulib defined errno values here.
18631         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
18632
18633 2011-05-18  Eric Blake  <eblake@redhat.com>
18634
18635         fnmatch: avoid compiler warning
18636         * lib/fnmatch_loop.c (FCT): Use correct type.
18637         Reported by Matthias Bolte.
18638
18639 2011-05-13  Jim Meyering  <meyering@redhat.com>
18640
18641         maint.mk: three new prohibit_<HDR>_without_use rules
18642         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
18643         (sc_prohibit_stdio-safer_without_use): Likewise.
18644         (sc_prohibit_xfreopen_without_use): Likewise.
18645
18646 2011-05-17  Jim Meyering  <meyering@redhat.com>
18647
18648         announce-gen: fail if the NEWS delta is empty
18649         If there's nothing noteworthy in NEWS, then either you forgot
18650         or you shouldn't be releasing.
18651         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
18652
18653 2011-05-17  Pádraig Brady <P@draigBrady.com>
18654
18655         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
18656         reserved symbols starting with double underscore from the check.
18657
18658 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18659
18660         intprops: add doc
18661         * doc/intprops.texi: New file, documenting intprops.
18662         * doc/gnulib.texi (Particular Modules): Include it.
18663
18664         verify: add doc to gnulib manual and fix example
18665         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
18666         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
18667         (Compile-time Assertions): Fix example so it can't overflow.
18668
18669 2011-05-17  Jim Meyering  <meyering@redhat.com>
18670
18671         warnings.m4: don't usurp save_CPPFLAGS variable name
18672         * m4/warnings.m4: Prefix local temporary variable name with gl_.
18673
18674         doc: fix typo
18675         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
18676
18677 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18678             Bruno Haible  <bruno@clisp.org>
18679
18680         doc: Tweak recent change.
18681         * README (Portability guidelines): Tweak new text.
18682         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
18683         Interix 6.1.
18684
18685 2011-05-16  Eric Blake  <eblake@redhat.com>
18686
18687         inttypes: avoid autoconf warning
18688         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
18689         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18690
18691 2011-05-16  Sam Steingold <sds@gnu.org>
18692         and Eric Blake  <eblake@redhat.com>
18693
18694         vc-list-files: accept multiple directory operands
18695         * build-aux/vc-list-files: Iterate over all remaining operands.
18696
18697 2011-05-16  Bruno Haible  <bruno@clisp.org>
18698
18699         Fix confusion regarding deprecated modules.
18700         * modules/calloc (Status, Notice): Mark module as deprecated, not
18701         obsolete.
18702         * modules/fnmatch-posix (Status, Notice): Likewise.
18703         * modules/getdate (Status, Notice): Likewise.
18704         * modules/getopt (Status, Notice): Likewise.
18705         * modules/malloc (Status, Notice): Likewise.
18706         * modules/pipe (Status, Notice): Likewise.
18707         * modules/realloc (Status, Notice): Likewise.
18708         * modules/rename-dest-slash (Status, Notice): Likewise.
18709         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
18710         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
18711         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
18712         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
18713         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
18714
18715 2011-05-16  Bruno Haible  <bruno@clisp.org>
18716
18717         doc: List the target platforms.
18718         * doc/gnulib-intro.texi (Target Platforms): New section.
18719         * doc/gnulib.texi (Introduction): Update menu.
18720         * README (Portability guidelines): Refer to the new section. Update
18721         statement about oldest supported environment. Remove rationale why
18722         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
18723         unportable C89 function.
18724         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
18725         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
18726
18727 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18728
18729         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
18730
18731 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18732
18733         intprops-tests: new module
18734         * modules/intprops-tests, tests/test-intprops.c: New files.
18735
18736         intprops: add safe, portable integer overflow checking
18737         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
18738         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
18739         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
18740         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
18741         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
18742         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
18743         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
18744         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
18745         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
18746         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
18747         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
18748
18749 2011-05-12  James Youngman  <jay@gnu.org>
18750
18751         Add a test for glibc's Bugzilla bug #12378.
18752         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
18753         doesn't allow the literal matching of a lone "[" (which is
18754         required by POSIX).
18755         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
18756
18757 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
18758
18759         Sync glibc change fixing Bugzilla bug #12378.
18760         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
18761         beginning and fall back to matching as normal character if the
18762         string ends before the matching ']' is found.  This is what POSIX
18763         requires.
18764
18765 2011-05-13  Eric Blake  <eblake@redhat.com>
18766
18767         getcwd-lgpl: relax test for FreeBSD
18768         * doc/posix-functions/getcwd.texi (getcwd): Document portability
18769         issue.
18770         * tests/test-getcwd-lgpl.c (main): Relax test.
18771         Reported by Matthias Bolte.
18772
18773 2011-05-11  Eric Blake  <eblake@redhat.com>
18774
18775         test-fflush: silence compiler warning
18776         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
18777
18778 2011-05-11  Bruno Haible  <bruno@clisp.org>
18779
18780         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
18781         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
18782         * modules/canonicalize (Depends-on): Add 'nocrash'.
18783         * modules/canonicalize-lgpl (Depends-on): Likewise.
18784         * doc/posix-functions/realpath.texi: Update platforms list.
18785         Reported by Ryan Schmidt <ryandesign@macports.org>.
18786
18787 2011-05-11  Bruno Haible  <bruno@clisp.org>
18788
18789         group-member: Declare function in <unistd.h>.
18790         * lib/unistd.in.h (group_member): New declaration.
18791         * lib/group-member.h: Remove file.
18792         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
18793         * tests/test-unistd-c++.cc: Check signature of group_member.
18794         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
18795         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
18796         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
18797         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
18798         HAVE_GROUP_MEMBER.
18799         * modules/group-member (Files): Remove lib/group-member.h.
18800         (Depends-on): Add unistd. Specify conditions.
18801         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18802         (Include): Change to <unistd.h>.
18803         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
18804         HAVE_GROUP_MEMBER.
18805         * NEWS: Mention the change.
18806         * lib/euidaccess.c: Don't include group-member.h.
18807
18808 2011-05-11  Bruno Haible  <bruno@clisp.org>
18809
18810         group-member: Document module.
18811         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
18812         module.
18813
18814 2011-05-11  Bruno Haible  <bruno@clisp.org>
18815
18816         fclose: Fix mistake earlier today.
18817         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
18818
18819 2011-05-11  Eric Blake  <eblake@redhat.com>
18820
18821         fclose: preserve fflush errors
18822         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
18823         Reported by Jim Meyering.
18824
18825         bootstrap: support a prereq of 'rpcgen -' on RHEL5
18826         * build-aux/bootstrap (check_versions): When no specific version
18827         is required, merely check that the app produces an exit status
18828         that indicates its existence.
18829
18830         maint.mk: drop redundant check
18831         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
18832         the same but better.
18833
18834 2011-05-11  Bruno Haible  <bruno@clisp.org>
18835
18836         fclose: Fix possible link error.
18837         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
18838         unregister_shadow_fd. Improve comments.
18839         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
18840         Eric Blake.
18841
18842 2011-05-11  Jim Meyering  <meyering@redhat.com>
18843
18844         maint.mk: improve "can not" detection and generalize rule name
18845         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
18846         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
18847         Use the same technique as in sc_prohibit_doubled_word, so that
18848         we recognize "can not" also when the words are separated by a newline.
18849         Suggested by Eric Blake.
18850         (perl_filename_lineno_text_): Define.  Factored out of...
18851         (prohibit_doubled_word_): ...here.  Use the new definition.
18852         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
18853         (prohibit_undesirable_word_seq_RE_): New overridable variable.
18854         (ignore_undesirable_word_sequence_RE_): New overridable variable.
18855
18856 2011-05-10  Eric Blake  <eblake@redhat.com>
18857
18858         fclose: avoid double close race when possible
18859         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
18860         all but WINDOWS_SOCKETS.
18861
18862 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
18863
18864         openat: correct new comment
18865         * lib/openat-proc.c (openat_proc_name): Correct the comment.
18866
18867 2011-05-10  Jim Meyering  <meyering@redhat.com>
18868
18869         openat: add comments
18870         * lib/openat-proc.c (openat_proc_name): Add comments,
18871         mostly from Eric Blake.
18872
18873 2011-05-09  Eric Blake  <eblake@redhat.com>
18874
18875         openat: reduce syscalls in first probe of /proc
18876         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
18877         be a directory.  Simplify the probe for .. bugs.
18878         * modules/openat (Depends-on): Drop same-inode.
18879         Reported by Bastien ROUCARIES.
18880
18881 2011-05-09  Jim Meyering  <meyering@redhat.com>
18882
18883         maint.mk: change semantics/name of tight_scope variables
18884         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
18885         Rename variables to align with semantics that make them more useful.
18886
18887         maint.mk: tweak new rule's name not to impinge
18888         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
18889         (sc_tight_scope): Use new rule name rather than $@-0.
18890
18891         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
18892         * top/maint.mk (sc_tight_scope): New rule.
18893         (sc_tight_scope-0): New rule, ifdef'd out.
18894         (_gl_TS_dir): Default.
18895         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
18896         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
18897
18898 2011-05-09  Simon Josefsson  <simon@josefsson.org>
18899
18900         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
18901         Haible <bruno@clisp.org>.
18902
18903 2011-05-08  Bruno Haible  <bruno@clisp.org>
18904
18905         Comments.
18906         * m4/isnanf.m4: Add comment.
18907         * m4/isnanl.m4: Likewise.
18908
18909 2011-05-08  Bruno Haible  <bruno@clisp.org>
18910
18911         glob: Remove obsolete macro.
18912         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
18913
18914 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18915
18916         intprops: Sun C 5.11 supports __typeof__
18917         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
18918         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
18919         which is new.
18920         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
18921
18922         intprops: switch to usual gnulib indenting and naming
18923         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
18924         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
18925
18926         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
18927
18928 2011-05-08  Jim Meyering  <meyering@redhat.com>
18929
18930         maint.mk: suppress "Entering/Leaving directory" diag in announcement
18931         * top/maint.mk (release-prep): Use make's --no-print-directory
18932         option when generating the announcement.  This eliminates the
18933         pesky "make[2]: Entering/Leaving directory" diagnostics in the
18934         generated announcement template.
18935
18936 2011-05-08  Bruno Haible  <bruno@clisp.org>
18937
18938         tzset: Fix gettimeofday wrapper on Solaris 2.6.
18939         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
18940         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
18941
18942 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18943
18944         ignore-value, verify: Omit include files from lib_SOURCES.
18945         * modules/ignore-value, modules/verify (Makefile.am):
18946         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
18947         that leads Automake to duplicate use of am__objects_... variables
18948         in Makefile.in.  See
18949         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
18950
18951 2011-05-07  Bruno Haible  <bruno@clisp.org>
18952
18953         fclose: Simplify autoconf macro.
18954         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
18955         defined.
18956
18957 2011-05-07  Bruno Haible  <bruno@clisp.org>
18958
18959         canonicalize-lgpl: Fix autoconf macro ordering bug.
18960         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
18961         gl_STDLIB_H_DEFAULTS.
18962
18963 2011-05-06  Eric Blake  <eblake@redhat.com>
18964
18965         maintainer-makefile: make sc_po_check easier to tune
18966         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
18967         to probe for strings, such as an alternate location for gnulib.
18968
18969         fclose: guarantee behavior on seekable stdin
18970         * modules/fclose (Depends-on): Add fflush.
18971         * doc/posix-functions/fclose.texi (fclose): Document this.
18972         * tests/test-fclose.c (main): Make test for this unconditional.
18973
18974 2011-05-06  Bruno Haible  <bruno@clisp.org>
18975
18976         fflush, fpurge: Relicense under LGPLv2+.
18977         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
18978         * modules/fpurge (License): Likewise.
18979         With permission from Eric Blake and Jim Meyering.
18980         Suggested by Eric Blake.
18981
18982 2011-05-06  Karl Berry  <karl@gnu.org>
18983
18984         * MODULES.html.sh (func_all_modules): remove exit.
18985
18986 2011-05-06  Jim Meyering  <meyering@redhat.com>
18987
18988         maint.mk: use info-gnu@ as the default only for a stable release
18989         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
18990         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
18991         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
18992         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
18993
18994 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18995
18996         assert-h: new module, which supports C1X-style static_assert
18997         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
18998         * lib/verify.h: Revamp so that this can be copied into assert.h,
18999         while retaining the ability to use it standalone as before.
19000         Rename private identifiers so as not to encroach on the
19001         standard C namespace, since this is now used by assert.h.
19002         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
19003         the old verify_true.
19004         (_GL_VERIFY_TRUE): New macro, with much of the contents of
19005         the old verify_true.  Use _GL_VERIFY_TYPE.
19006         (_GL_VERIFY): New macro, with much of the contents of the old verify.
19007         (static_assert): New macro, if _GL_STATIC_ASSERT_H
19008         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
19009         defined when this file is copied into the replacement assert.h.
19010         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
19011         and _Static_assert is not built in.
19012         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
19013         defined, and use the new macros mentioned above.
19014         * doc/posix-headers/assert.texi: Document this.
19015
19016 2011-05-05  Bruno Haible  <bruno@clisp.org>
19017
19018         fclose, fflush: Respect rules for use of AC_LIBOBJ.
19019         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
19020         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
19021         gl_REPLACE_FCLOSE here.
19022         * modules/fflush (Depends-on): Remove fclose.
19023         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
19024         combination with module 'fclose'.
19025
19026 2011-05-05  Bruno Haible  <bruno@clisp.org>
19027
19028         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
19029         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
19030         gl_FUNC_FFLUSH.
19031         (gl_FUNC_FFLUSH): Use it.
19032         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
19033         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
19034         gl_REPLACE_FSEEKO here.
19035
19036 2011-05-05  Bruno Haible  <bruno@clisp.org>
19037
19038         tzset: Relicense under LGPL.
19039         * modules/tzset (License): Change to LGPL.
19040         No agreement needed; it's a no-op.
19041
19042         strtoimax, strtoumax: Relicense under LGPL.
19043         * modules/strtoimax (License): Change to LGPL.
19044         * modules/strtoumax (License): Likewise.
19045         With permission from Jim Meyering, Paul Eggert:
19046         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
19047         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
19048
19049         getgroups: Relicense under LGPL.
19050         * modules/getgroups (License): Change to LGPL.
19051         With permission from Jim Meyering, Paul Eggert, Eric Blake:
19052         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
19053         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
19054         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19055
19056         nanosleep: Relicense under LGPL.
19057         * modules/nanosleep (License): Change to LGPL.
19058         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
19059         Haible:
19060         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
19061         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
19062         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
19064
19065         futimens: Relicense under LGPL.
19066         * modules/futimens (License): Change to LGPL.
19067         With permission from Eric Blake:
19068         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19069
19070         fflush: Relicense under LGPL.
19071         * modules/fflush (License): Change to LGPL.
19072         With permission from Eric Blake, Bruno Haible, Jim Meyering:
19073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19074         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
19075         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
19076
19077         tmpfile: Relicense under LGPL.
19078         * modules/tmpfile (License): Change to LGPL.
19079         With permission from Ben Pfaff:
19080         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
19081
19082         isfinite: Relicense under LGPL.
19083         * modules/isfinite (License): Change to LGPL.
19084         With permission from Ben Pfaff, Bruno Haible:
19085         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
19086         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
19087
19088         acosl..tanl: Relicense under LGPL.
19089         * modules/acosl (License): Change to LGPL.
19090         * modules/asinl (License): Likewise.
19091         * modules/atanl (License): Likewise.
19092         * modules/cosl (License): Likewise.
19093         * modules/expl (License): Likewise.
19094         * modules/logl (License): Likewise.
19095         * modules/sinl (License): Likewise.
19096         * modules/sqrtl (License): Likewise.
19097         * modules/tanl (License): Likewise.
19098         Source code originally from glibc and Paolo Bonzini. Agreements:
19099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
19100         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
19101
19102 2011-05-05  Bruno Haible  <bruno@clisp.org>
19103
19104         signal: Define sighandler_t.
19105         * lib/signal.in.h (sighandler_t): New type.
19106         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
19107         whether sighandler_t is defined.
19108         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
19109         * modules/signal (Depends-on): Add extensions.
19110         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
19111         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
19112         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
19113
19114 2011-05-05  Eric Blake  <eblake@redhat.com>
19115
19116         maint: remove useless REPLACE_*_H macros
19117         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
19118         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19119         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19120         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
19121         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19122         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19123         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
19124         * m4/btowc.m4: Update callers.
19125         * m4/dirfd.m4: Likewise.
19126         * m4/duplocale.m4: Likewise.
19127         * m4/fchdir.m4: Likewise.
19128         * m4/fdopendir.m4: Likewise.
19129         * m4/inet_ntop.m4: Likewise.
19130         * m4/inet_pton.m4: Likewise.
19131         * m4/ioctl.m4: Likewise.
19132         * m4/mbrlen.m4: Likewise.
19133         * m4/mbrtowc.m4: Likewise.
19134         * m4/mbsinit.m4: Likewise.
19135         * m4/mbsnrtowcs.m4: Likewise.
19136         * m4/mbsrtowcs.m4: Likewise.
19137         * m4/poll.m4: Likewise.
19138         * m4/setlocale.m4: Likewise.
19139         * m4/wcrtomb.m4: Likewise.
19140         * m4/wcsnrtombs.m4: Likewise.
19141         * m4/wcsrtombs.m4: Likewise.
19142         * m4/wctob.m4: Likewise.
19143         * m4/wcwidth.m4: Likewise.
19144         * modules/posix_spawn: Likewise.
19145         * modules/posix_spawn_file_actions_addclose: Likewise.
19146         * modules/posix_spawn_file_actions_adddup2: Likewise.
19147         * modules/posix_spawn_file_actions_addopen: Likewise.
19148         * modules/posix_spawn_file_actions_destroy: Likewise.
19149         * modules/posix_spawn_file_actions_init: Likewise.
19150         * modules/posix_spawnattr_destroy: Likewise.
19151         * modules/posix_spawnattr_getflags: Likewise.
19152         * modules/posix_spawnattr_getpgroup: Likewise.
19153         * modules/posix_spawnattr_getschedparam: Likewise.
19154         * modules/posix_spawnattr_getschedpolicy: Likewise.
19155         * modules/posix_spawnattr_getsigdefault: Likewise.
19156         * modules/posix_spawnattr_getsigmask: Likewise.
19157         * modules/posix_spawnattr_init: Likewise.
19158         * modules/posix_spawnattr_setflags: Likewise.
19159         * modules/posix_spawnattr_setpgroup: Likewise.
19160         * modules/posix_spawnattr_setschedparam: Likewise.
19161         * modules/posix_spawnattr_setschedpolicy: Likewise.
19162         * modules/posix_spawnattr_setsigdefault: Likewise.
19163         * modules/posix_spawnattr_setsigmask: Likewise.
19164         * modules/posix_spawnp: Likewise.
19165
19166 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
19167
19168         Add option to do-release-commit-and-tag to specify branch.
19169         * build-aux/do-release-commit-and-tag: Add --branch.
19170
19171 2011-05-03  Bruno Haible  <bruno@clisp.org>
19172
19173         Avoid unnecessary compilation units, through conditional dependencies.
19174         * modules/accept (Depends-on): Add conditions to the dependencies.
19175         * modules/acosl (Depends-on): Likewise.
19176         * modules/argz (Depends-on): Likewise.
19177         * modules/asinl (Depends-on): Likewise.
19178         * modules/atanl (Depends-on): Likewise.
19179         * modules/atoll (Depends-on): Likewise.
19180         * modules/bind (Depends-on): Likewise.
19181         * modules/btowc (Depends-on): Likewise.
19182         * modules/canonicalize-lgpl (Depends-on): Likewise.
19183         * modules/ceil (Depends-on): Likewise.
19184         * modules/ceilf (Depends-on): Likewise.
19185         * modules/ceill (Depends-on): Likewise.
19186         * modules/chdir-long (Depends-on): Likewise.
19187         * modules/chown (Depends-on): Likewise.
19188         * modules/close (Depends-on): Likewise.
19189         * modules/connect (Depends-on): Likewise.
19190         * modules/cosl (Depends-on): Likewise.
19191         * modules/dirfd (Depends-on): Likewise.
19192         * modules/dprintf (Depends-on): Likewise.
19193         * modules/dprintf-posix (Depends-on): Likewise.
19194         * modules/error (Depends-on): Likewise.
19195         * modules/euidaccess (Depends-on): Likewise.
19196         * modules/expl (Depends-on): Likewise.
19197         * modules/faccessat (Depends-on): Likewise.
19198         * modules/fchdir (Depends-on): Likewise.
19199         * modules/fclose (Depends-on): Likewise.
19200         * modules/fcntl (Depends-on): Likewise.
19201         * modules/fdopendir (Depends-on): Likewise.
19202         * modules/fflush (Depends-on): Likewise.
19203         * modules/floor (Depends-on): Likewise.
19204         * modules/floorf (Depends-on): Likewise.
19205         * modules/floorl (Depends-on): Likewise.
19206         * modules/fnmatch (Depends-on): Likewise.
19207         * modules/fopen (Depends-on): Likewise.
19208         * modules/fprintf-posix (Depends-on): Likewise.
19209         * modules/frexp (Depends-on): Likewise.
19210         * modules/frexp-nolibm (Depends-on): Likewise.
19211         * modules/frexpl (Depends-on): Likewise.
19212         * modules/frexpl-nolibm (Depends-on): Likewise.
19213         * modules/fseek (Depends-on): Likewise.
19214         * modules/fsusage (Depends-on): Likewise.
19215         * modules/ftell (Depends-on): Likewise.
19216         * modules/ftello (Depends-on): Likewise.
19217         * modules/futimens (Depends-on): Likewise.
19218         * modules/getcwd (Depends-on): Likewise.
19219         * modules/getcwd-lgpl (Depends-on): Likewise.
19220         * modules/getdelim (Depends-on): Likewise.
19221         * modules/getdomainname (Depends-on): Likewise.
19222         * modules/getgroups (Depends-on): Likewise.
19223         * modules/gethostname (Depends-on): Likewise.
19224         * modules/getline (Depends-on): Likewise.
19225         * modules/getlogin_r (Depends-on): Likewise.
19226         * modules/getopt-posix (Depends-on): Likewise.
19227         * modules/getpeername (Depends-on): Likewise.
19228         * modules/getsockname (Depends-on): Likewise.
19229         * modules/getsockopt (Depends-on): Likewise.
19230         * modules/getsubopt (Depends-on): Likewise.
19231         * modules/getusershell (Depends-on): Likewise.
19232         * modules/glob (Depends-on): Likewise.
19233         * modules/grantpt (Depends-on): Likewise.
19234         * modules/iconv_open (Depends-on): Likewise.
19235         * modules/iconv_open-utf (Depends-on): Likewise.
19236         * modules/inet_ntop (Depends-on): Likewise.
19237         * modules/inet_pton (Depends-on): Likewise.
19238         * modules/ioctl (Depends-on): Likewise.
19239         * modules/isapipe (Depends-on): Likewise.
19240         * modules/isfinite (Depends-on): Likewise.
19241         * modules/isinf (Depends-on): Likewise.
19242         * modules/lchown (Depends-on): Likewise.
19243         * modules/ldexpl (Depends-on): Likewise.
19244         * modules/link (Depends-on): Likewise.
19245         * modules/linkat (Depends-on): Likewise.
19246         * modules/listen (Depends-on): Likewise.
19247         * modules/logl (Depends-on): Likewise.
19248         * modules/lstat (Depends-on): Likewise.
19249         * modules/mbrlen (Depends-on): Likewise.
19250         * modules/mbrtowc (Depends-on): Likewise.
19251         * modules/mbsinit (Depends-on): Likewise.
19252         * modules/mbsnrtowcs (Depends-on): Likewise.
19253         * modules/mbsrtowcs (Depends-on): Likewise.
19254         * modules/mbtowc (Depends-on): Likewise.
19255         * modules/memcmp (Depends-on): Likewise.
19256         * modules/mkdir (Depends-on): Likewise.
19257         * modules/mkdtemp (Depends-on): Likewise.
19258         * modules/mkfifo (Depends-on): Likewise.
19259         * modules/mkfifoat (Depends-on): Likewise.
19260         * modules/mknod (Depends-on): Likewise.
19261         * modules/mkostemp (Depends-on): Likewise.
19262         * modules/mkostemps (Depends-on): Likewise.
19263         * modules/mkstemp (Depends-on): Likewise.
19264         * modules/mkstemps (Depends-on): Likewise.
19265         * modules/mktime (Depends-on): Likewise.
19266         * modules/nanosleep (Depends-on): Likewise.
19267         * modules/open (Depends-on): Likewise.
19268         * modules/openat (Depends-on): Likewise.
19269         * modules/perror (Depends-on): Likewise.
19270         * modules/poll (Depends-on): Likewise.
19271         * modules/popen (Depends-on): Likewise.
19272         * modules/posix_spawn (Depends-on): Likewise.
19273         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
19274         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
19275         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
19276         * modules/posix_spawnp (Depends-on): Likewise.
19277         * modules/pread (Depends-on): Likewise.
19278         * modules/printf-posix (Depends-on): Likewise.
19279         * modules/ptsname (Depends-on): Likewise.
19280         * modules/putenv (Depends-on): Likewise.
19281         * modules/pwrite (Depends-on): Likewise.
19282         * modules/readline (Depends-on): Likewise.
19283         * modules/readlink (Depends-on): Likewise.
19284         * modules/readlinkat (Depends-on): Likewise.
19285         * modules/recv (Depends-on): Likewise.
19286         * modules/recvfrom (Depends-on): Likewise.
19287         * modules/regex (Depends-on): Likewise.
19288         * modules/remove (Depends-on): Likewise.
19289         * modules/rename (Depends-on): Likewise.
19290         * modules/renameat (Depends-on): Likewise.
19291         * modules/rmdir (Depends-on): Likewise.
19292         * modules/round (Depends-on): Likewise.
19293         * modules/roundf (Depends-on): Likewise.
19294         * modules/roundl (Depends-on): Likewise.
19295         * modules/rpmatch (Depends-on): Likewise.
19296         * modules/select (Depends-on): Likewise.
19297         * modules/send (Depends-on): Likewise.
19298         * modules/sendto (Depends-on): Likewise.
19299         * modules/setenv (Depends-on): Likewise.
19300         * modules/setlocale (Depends-on): Likewise.
19301         * modules/setsockopt (Depends-on): Likewise.
19302         * modules/shutdown (Depends-on): Likewise.
19303         * modules/sigaction (Depends-on): Likewise.
19304         * modules/signbit (Depends-on): Likewise.
19305         * modules/sigprocmask (Depends-on): Likewise.
19306         * modules/sinl (Depends-on): Likewise.
19307         * modules/sleep (Depends-on): Likewise.
19308         * modules/snprintf (Depends-on): Likewise.
19309         * modules/snprintf-posix (Depends-on): Likewise.
19310         * modules/socket (Depends-on): Likewise.
19311         * modules/sprintf-posix (Depends-on): Likewise.
19312         * modules/sqrtl (Depends-on): Likewise.
19313         * modules/stat (Depends-on): Likewise.
19314         * modules/strchrnul (Depends-on): Likewise.
19315         * modules/strdup-posix (Depends-on): Likewise.
19316         * modules/strerror (Depends-on): Likewise.
19317         * modules/strerror_r-posix (Depends-on): Likewise.
19318         * modules/strndup (Depends-on): Likewise.
19319         * modules/strnlen (Depends-on): Likewise.
19320         * modules/strptime (Depends-on): Likewise.
19321         * modules/strsep (Depends-on): Likewise.
19322         * modules/strsignal (Depends-on): Likewise.
19323         * modules/strstr-simple (Depends-on): Likewise.
19324         * modules/strtod (Depends-on): Likewise.
19325         * modules/strtoimax (Depends-on): Likewise.
19326         * modules/strtok_r (Depends-on): Likewise.
19327         * modules/strtoumax (Depends-on): Likewise.
19328         * modules/symlink (Depends-on): Likewise.
19329         * modules/symlinkat (Depends-on): Likewise.
19330         * modules/tanl (Depends-on): Likewise.
19331         * modules/tcgetsid (Depends-on): Likewise.
19332         * modules/tmpfile (Depends-on): Likewise.
19333         * modules/trunc (Depends-on): Likewise.
19334         * modules/truncf (Depends-on): Likewise.
19335         * modules/truncl (Depends-on): Likewise.
19336         * modules/uname (Depends-on): Likewise.
19337         * modules/unlink (Depends-on): Likewise.
19338         * modules/unlockpt (Depends-on): Likewise.
19339         * modules/unsetenv (Depends-on): Likewise.
19340         * modules/usleep (Depends-on): Likewise.
19341         * modules/utimensat (Depends-on): Likewise.
19342         * modules/vasprintf (Depends-on): Likewise.
19343         * modules/vdprintf (Depends-on): Likewise.
19344         * modules/vdprintf-posix (Depends-on): Likewise.
19345         * modules/vfprintf-posix (Depends-on): Likewise.
19346         * modules/vprintf-posix (Depends-on): Likewise.
19347         * modules/vsnprintf (Depends-on): Likewise.
19348         * modules/vsnprintf-posix (Depends-on): Likewise.
19349         * modules/vsprintf-posix (Depends-on): Likewise.
19350         * modules/wcrtomb (Depends-on): Likewise.
19351         * modules/wcscasecmp (Depends-on): Likewise.
19352         * modules/wcscspn (Depends-on): Likewise.
19353         * modules/wcsdup (Depends-on): Likewise.
19354         * modules/wcsncasecmp (Depends-on): Likewise.
19355         * modules/wcsnrtombs (Depends-on): Likewise.
19356         * modules/wcspbrk (Depends-on): Likewise.
19357         * modules/wcsrtombs (Depends-on): Likewise.
19358         * modules/wcsspn (Depends-on): Likewise.
19359         * modules/wcsstr (Depends-on): Likewise.
19360         * modules/wcstok (Depends-on): Likewise.
19361         * modules/wcswidth (Depends-on): Likewise.
19362         * modules/wctob (Depends-on): Likewise.
19363         * modules/wctomb (Depends-on): Likewise.
19364         * modules/wctype (Depends-on): Likewise.
19365         * modules/wcwidth (Depends-on): Likewise.
19366         * modules/write (Depends-on): Likewise.
19367
19368 2011-05-03  Bruno Haible  <bruno@clisp.org>
19369
19370         Support for conditional dependencies.
19371         * doc/gnulib.texi (Module description): Document the syntax of
19372         conditional dependencies.
19373         * gnulib-tool: New option --conditional-dependencies.
19374         (func_usage): Document it.
19375         (cond_dependencies): New variable.
19376         (func_get_automake_snippet_conditional,
19377         func_get_automake_snippet_unconditional): New functions, extracted from
19378         func_get_automake_snippet.
19379         (func_get_automake_snippet): Use them.
19380         (sed_first_32_chars): New variable.
19381         (func_module_shellfunc_name): New function.
19382         (func_module_shellvar_name): New function.
19383         (func_module_conditional_name): New function.
19384         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
19385         func_cond_module_condition): New functions.
19386         (func_modules_transitive_closure): Add support for conditional
19387         dependencies.
19388         (func_emit_lib_Makefile_am): For a conditional module, enclose the
19389         conditional automake snippet in an automake conditional.
19390         (func_emit_autoconf_snippets): Emit shell functions that contain the
19391         code for conditional modules.
19392         (func_import, func_create_testdir): Update specification.
19393
19394 2011-05-03  Eric Blake  <eblake@redhat.com>
19395
19396         test-getaddrinfo: report error information
19397         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
19398
19399 2011-05-03  Jim Meyering  <meyering@redhat.com>
19400
19401         bootstrap: avoid build failure when $GZIP is set
19402         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
19403         program name.  If defined at all, it is supposed to list gzip options.
19404         Reported by Alan Curry in http://debbugs.gnu.org/8609
19405
19406 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
19407
19408         readme-release: new module with release instructions
19409         * modules/readme-release: New module.
19410         * top/README-release: New file, from coreutils, grep, diffutils.
19411         * MODULES.html.sh (Support for maintaining and releasing): Add it.
19412
19413 2011-05-02  Eric Blake  <eblake@redhat.com>
19414
19415         fflush: also replace fclose when fixing fflush
19416         * modules/fflush (Depends-on): Add fclose.
19417         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
19418         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
19419         memstreams with no backing fd.
19420         * doc/posix-functions/fclose.texi (fclose): Document the use of
19421         fflush module to fix the bug.
19422         * tests/test-fclose.c (main): Relax test when fclose is used in
19423         isolation.
19424
19425         fclose: add some tests
19426         * modules/fclose-tests: New test module.
19427         * tests/test-fclose.c: New file.
19428         * doc/posix-functions/fclose.texi (fclose): Document the bug.
19429
19430         fclose: reduced dependencies
19431         * modules/fclose (Depends-on): Switch from fflush/fseeko to
19432         simpler lseek.
19433         * lib/fclose.c (rpl_fclose): Likewise.
19434         Reported by Simon Josefsson.
19435
19436         exit: drop remaining clients
19437         * modules/argmatch (Depends-on): Replace exit with stdlib.
19438         * modules/copy-file (Depends-on): Likewise.
19439         * modules/execute (Depends-on): Likewise.
19440         * modules/exitfail (Depends-on): Likewise.
19441         * modules/obstack (Depends-on): Likewise.
19442         * modules/pagealign_alloc (Depends-on): Likewise.
19443         * modules/pipe-filter-gi (Depends-on): Likewise.
19444         * modules/pipe-filter-ii (Depends-on): Likewise.
19445         * modules/savewd (Depends-on): Likewise.
19446         * modules/spawn-pipe (Depends-on): Likewise.
19447         * modules/wait-process (Depends-on): Likewise.
19448         * modules/xsetenv (Depends-on): Likewise.
19449         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
19450         * modules/git-merge-changelog (Depends-on): Likewise.
19451         * modules/long-options (Depends-on): Likewise.
19452         * modules/pt_chown (Depends-on): Likewise.
19453         * modules/sysexits (Depends-on): Likewise.
19454
19455         freading: relax license from LGPLv3+ to LGPLv2+
19456         * modules/freading (License): Relax LGPL version.
19457
19458 2011-05-02  Bruno Haible  <bruno@clisp.org>
19459
19460         fchdir: Remove unused dependencies.
19461         * modules/fchdir (Depends-on): Remove include_next.
19462
19463 2011-05-02  Bruno Haible  <bruno@clisp.org>
19464
19465         gnulib-tool: Refactor.
19466         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
19467         from func_emit_autoconf_snippets.
19468         (func_emit_autoconf_snippets): Use it.
19469
19470 2011-05-02  Simon Josefsson  <simon@josefsson.org>
19471
19472         * NEWS: Document removal of 'exit'.
19473         * modules/exit: Remove file.
19474
19475 2011-05-01  Bruno Haible  <bruno@clisp.org>
19476
19477         Update DEPENDENCIES.
19478         * DEPENDENCIES (gettext): Recommend the newest release.
19479         Reported by Simon Josefsson.
19480
19481 2011-05-01  Bruno Haible  <bruno@clisp.org>
19482
19483         gnulib-tool: Reduce code duplication.
19484         * gnulib-tool (func_emit_autoconf_snippets): New function.
19485         (func_import, func_create_testdir): Use it.
19486
19487 2011-04-30  Eric Blake  <eblake@redhat.com>
19488
19489         fclose: don't fail on non-seekable input stream
19490         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
19491         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
19492         since fflush is allowed to fail in that case.
19493
19494 2011-04-30  Bruno Haible  <bruno@clisp.org>
19495
19496         dup3: cleanup
19497         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
19498
19499 2011-04-30  Bruno Haible  <bruno@clisp.org>
19500
19501         netdb: Make it work in C++ mode.
19502         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
19503         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
19504         module.
19505         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
19506         gl_MODULE_INDICATOR_FOR_TESTS.
19507         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
19508         * modules/netdb-c++-tests: New file.
19509         * tests/test-netdb-c++.cc: New file.
19510
19511 2011-04-30  Bruno Haible  <bruno@clisp.org>
19512
19513         New modules 'vfscanf', 'vscanf'.
19514         * modules/vfscanf: New file.
19515         * modules/vscanf: New file.
19516         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
19517         here.
19518         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
19519         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
19520
19521 2011-04-30  Bruno Haible  <bruno@clisp.org>
19522
19523         passfd: Add comments.
19524         * lib/passfd.c: Add comments about platforms.
19525
19526 2011-04-30  Bruno Haible  <bruno@clisp.org>
19527
19528         sys_uio: Make <sys/uio.h> self-contained.
19529         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
19530         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
19531
19532 2011-04-30  Bruno Haible  <bruno@clisp.org>
19533
19534         sys_socket: Ensure 'struct iovec' definition.
19535         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
19536         <sys/socket.h>.
19537         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
19538
19539 2011-04-30  Bruno Haible  <bruno@clisp.org>
19540
19541         sys_uio: Protect definition of 'struct iovec'.
19542         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
19543         it as a C struct.
19544
19545 2011-04-30  Bruno Haible  <bruno@clisp.org>
19546
19547         manywarnings: fix indentation
19548         * m4/manywarnings.m4: Indent by 2 spaces consistently.
19549
19550 2011-04-30  Pádraig Brady <P@draigBrady.com>
19551
19552         manywarnings: add -Wno-missing-field-initializers if needed.
19553         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
19554         option if it's needed to allow initialization with { 0, }
19555
19556 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
19557
19558         announce-gen: cosmetic improvement
19559         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
19560
19561 2011-04-29  Jim Meyering  <meyering@redhat.com>
19562
19563         vc-list-files: indent with spaces, not TABs
19564         * build-aux/vc-list-files: Convert leading TABs to spaces,
19565         to match the style of most other files in gnulib.
19566
19567         announce-gen: indent with spaces, not TABs
19568         * build-aux/announce-gen: Convert all TABs to spaces, to match
19569         the style of most other files in gnulib.
19570
19571 2011-04-29  Eric Blake  <eblake@redhat.com>
19572
19573         quotearg: avoid uninitialized variable use
19574         * lib/quotearg.c (quoting_options_from_style): Initialize
19575         remaining fields, and ensure that custom styles are only used via
19576         quoting_options rather than quoting_style.
19577
19578 2011-04-29  Jim Meyering  <meyering@redhat.com>
19579
19580         maint.mk: remove unused VC-tag variable
19581         * top/maint.mk (VC-tag): Remove unused variable.
19582
19583 2011-04-29  Bruno Haible  <bruno@clisp.org>
19584
19585         netdb: fix gai_strerror replacements
19586         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
19587         * modules/netdb: Substitute it.
19588
19589 2011-04-29  Jim Meyering  <meyering@redhat.com>
19590
19591         test-getcwd.c: avoid new set-but-not-used warning
19592         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
19593         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
19594         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
19595         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
19596
19597         test-hash.c: avoid a new shadowing warning
19598         * tests/test-hash.c (main): Don't shadow "dup".
19599
19600 2011-04-28  Eric Blake  <eblake@redhat.com>
19601
19602         getaddrinfo: fix gai_strerror signature
19603         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
19604         and work around mingw with UNICODE defined.
19605         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
19606         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
19607         * modules/netdb (Makefile.am): Substitute it.
19608         * lib/netdb.in.h (gai_strerror): Declare replacement.
19609         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
19610         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
19611         the fix.
19612
19613         getsockopt: avoid compiler warning
19614         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
19615         Reported by Matthias Bolte.
19616
19617         tests: drop unused link dependency
19618         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
19619         * modules/dirent-safer-tests (Makefile.am): Likewise.
19620         * modules/fdopendir-tests (Makefile.am): Likewise.
19621         * modules/mkfifoat-tests (Makefile.am): Likewise.
19622         * modules/openat-safer-tests (Makefile.am): Likewise.
19623         * modules/openat-tests (Makefile.am): Likewise.
19624         * modules/readlinkat-tests (Makefile.am): Likewise.
19625         * modules/symlinkat-tests (Makefile.am): Likewise.
19626         * modules/linkat-tests (Makefile.am): Likewise.
19627         (Depends-on): Switch to filenamecat-lgpl.
19628         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
19629         LIBINTL.
19630         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
19631         * tests/test-linkat.c (main): Don't require xalloc.
19632
19633         hash, mgetgroups: drop xalloc dependency
19634         * lib/hash.c (includes): Adjust includes.
19635         * lib/mgetgroups.c (includes): Likewise.
19636         (xgetgroups): Move...
19637         * lib/xgetgroups.c: ...to new file.
19638         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
19639         * modules/xgetgroups: New file, split from...
19640         * modules/mgetgroups: ...here.
19641         (Depends-on): Add xalloc-oversized.
19642         * modules/hash (Depends-on): Likewise.
19643         * modules/hash-tests (Depends-on): Drop xalloc.
19644         (test_hash_LDADD): Drop unused library.
19645         * tests/test-hash.c (main): Break xalloc dependency.
19646         (includes): Drop unused include.
19647
19648         xalloc-oversized: new module
19649         * modules/xalloc-oversized: New module.
19650         * modules/xalloc (Depends-on): Add it.
19651         * lib/xalloc.h (xalloc_oversized): Move...
19652         * lib/xalloc-oversized.h: ...into new file.
19653
19654         utimecmp: drop dependency on xmalloc
19655         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
19656         due to memory pressure.
19657         * modules/utimecmp (Depends-on): Drop xalloc.
19658
19659 2011-04-27  Eric Blake  <eblake@redhat.com>
19660
19661         getcwd: fix mingw bugs
19662         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
19663         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
19664         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
19665
19666 2011-04-27  Bruno Haible  <bruno@clisp.org>
19667
19668         mkstemps: Ensure declaration on MacOS X 10.5.
19669         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
19670         * doc/glibc-functions/mkstemps.texi: Document header file problem on
19671         MacOS X.
19672
19673 2011-04-27  Bruno Haible  <bruno@clisp.org>
19674
19675         mkstemp: More documentation.
19676         * doc/posix-functions/mkstemp.texi: Document header file problem on
19677         MacOS X.
19678
19679 2011-04-27  Bruno Haible  <bruno@clisp.org>
19680
19681         mkstemp: Tweak configure message when cross-compiling.
19682         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
19683         result as a guess.
19684
19685 2011-04-27  Bruno Haible  <bruno@clisp.org>
19686
19687         clean-temp: Clarify what it does.
19688         * lib/clean-temp.h: Add more comments.
19689         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
19690         module.
19691         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
19692         * doc/glibc-functions/mkstemps.texi: Likewise.
19693         * doc/glibc-functions/mkostemps.texi: Likewise.
19694
19695 2011-04-27  Eric Blake  <eblake@redhat.com>
19696
19697         fchdir: avoid extra chdir and fix test
19698         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
19699         getcwd-lgpl.
19700         * lib/fchdir.c (get_name): Any absolute name will do; it does not
19701         have to be canonical.
19702         (canonicalize_file_name): Drop unused macro.
19703         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
19704
19705         filenamecat-lgpl: fix licence
19706         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
19707         when it was first created.
19708
19709         linkat, renameat: add missing dependency
19710         * modules/linkat (Depends-on): Require getcwd-lgpl.
19711         * modules/renameat (Depends-on): Likewise.
19712
19713         tests: reduce dependencies
19714         * tests/test-linkat.c (main): Use lighter-weight getcwd.
19715         * tests/test-renameat.c (main): Likewise.
19716         * modules/linkat-tests (Depends-on): Relax dependency.
19717         * modules/renameat-tests (Depends-on): Likewise.
19718         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
19719         dependency explicit.
19720
19721         save-cwd: reduce default dependency
19722         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
19723         * lib/save-cwd.c: Update comments.
19724         * NEWS: Document the semantic change.
19725
19726         getcwd: enhance tests
19727         * tests/test-getcwd-lgpl.c: New file, taken from...
19728         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
19729         repeat long path stress tests from m4 probe.
19730         * modules/getcwd-lgpl-tests: New module.
19731         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
19732         * m4/getcwd-abort-bug.m4: Update comment.
19733         * m4/getcwd-path-max.m4: Likewise.
19734
19735         getcwd-lgpl: new module
19736         * modules/getcwd-lgpl: New module.
19737         * lib/getcwd-lgpl.c: New file.
19738         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19739         * MODULES.html.sh (lacking POSIX:2008): Likewise.
19740         * modules/getcwd (configure.ac): Set C witness.
19741         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
19742
19743         getcwd: tweak comments
19744         * m4/getcwd-abort-bug.m4: Fix comments.
19745         * m4/getcwd-path-max.m4: Likewise.
19746         * m4/getcwd.m4: Likewise.
19747
19748 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19749         and Eric Blake  <eblake@redhat.com>
19750
19751         mkstemp: replace if system version uses wrong permissions
19752         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
19753         read/write mode bits set in file created by mkstemp.
19754         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
19755
19756 2011-04-27  Eric Blake  <eblake@redhat.com>
19757
19758         passfd: avoid compiler warning
19759         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
19760         Reported by Laine Stump.
19761
19762 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
19763
19764         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
19765         required by the NetBSD (and perhaps other 4.4BSD derived) join.
19766
19767 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19768         and Eric Blake  <eblake@redhat.com>
19769
19770         mkstemp: mention clean-temp module
19771         * lib/mkstemp.c: Add comment.
19772         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
19773
19774 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
19775
19776         inttypes: also provide default values for 32-bit tests
19777         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
19778         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
19779
19780 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19781
19782         strtoumax: remove dependency on strtoimax
19783         This is like the strtoull change of yesterday.
19784         * modules/strtoumax (Files): Add lib/strtoimax.c.
19785         (Depends-on): Remove strtoimax and add verify.
19786
19787         inttypes-incomplete: new module
19788         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
19789         all but the PRI* and SCN* parts of gl_INTTYPES_H.
19790         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
19791         of gl_INTTYPES_H.
19792         (gl_INTTYPES_H): Rewrite in terms of these new macros.
19793         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
19794         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
19795         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
19796         * modules/strtoumax, modules/xstrtol (Depends-on):
19797         Depend on inttypes-incomplete, not inttypes.
19798         * modules/inttypes-incomplete: New module, containing the contents
19799         of the old modules/inttypes module, except that the Files: section
19800         omits m4/inttypes-pri.m4, and the configure.ac section invokes
19801         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
19802         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
19803         (Depends-on): Depend only on inttypes-incomplete.
19804         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
19805
19806         inttypes: omit now-redundant strtoimax and strtoumax work
19807         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
19808         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
19809
19810         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
19811         This supports apps that need pointers to strtoimax and strtoumax,
19812         and ports to HP-UX 11.00 64.bit, which has macros that expand to
19813         nonexistent functions.  See
19814         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
19815         et seq.
19816         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
19817         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
19818         a macro.
19819         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19820
19821 2011-04-25  Simon Josefsson  <simon@josefsson.org>
19822
19823         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
19824
19825 2011-04-25  Bruno Haible  <bruno@clisp.org>
19826
19827         strtol, strtoul: Mark modules as obsolete.
19828         * modules/strtol (Status, Notice): New sections.
19829         * modules/strtoul (Status, Notice): New sections.
19830
19831 2011-04-25  Bruno Haible  <bruno@clisp.org>
19832
19833         strtod: Remove check for strtod, unless supporting old platforms.
19834         * modules/strtod-obsolete: New file.
19835         * m4/strtod-obsolete.m4: New file.
19836         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
19837         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
19838         * modules/strtod (Depends-on): Add strtod-obsolete.
19839         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
19840
19841 2011-04-25  Bruno Haible  <bruno@clisp.org>
19842
19843         strcase: Make module obsolete.
19844         * modules/strcase (Status, Notice): New sections.
19845
19846 2011-04-25  Bruno Haible  <bruno@clisp.org>
19847
19848         dup2: Remove check for dup2, unless supporting old obsolete platforms.
19849         * modules/dup2-obsolete: New file.
19850         * m4/dup2-obsolete.m4: New file.
19851         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
19852         gl_FUNC_DUP2_OBSOLETE is not also defined.
19853         * modules/dup2 (Depends-on): Add dup2-obsolete.
19854         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
19855
19856 2011-04-25  Bruno Haible  <bruno@clisp.org>
19857
19858         strnlen: Avoid memchr related link error on old obsolete platforms.
19859         * modules/memchr-obsolete: New file.
19860         * m4/memchr-obsolete.m4: New file.
19861         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
19862         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
19863         * modules/memchr (Depends-on): Add memchr-obsolete.
19864         * modules/strnlen (Depends-on): Likewise.
19865         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
19866
19867 2011-04-25  Jim Meyering  <meyering@redhat.com>
19868
19869         maint.mk: makefile_at_at_check extend and clean up
19870         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
19871         in addition to */Makefile.am.
19872         Exempt legitimate uses of @VAR@ notation, e.g.,
19873         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
19874         Remove obsolete coreutils-specific comment.
19875         Prompted by discussion here:
19876         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
19877
19878 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19879
19880         strtoul: remove dependency on strtol
19881         This is so that 'configure' need not check for strtol merely because
19882         the application needs strtoul.
19883         * modules/strtoul (Files): Add lib/strtol.c.
19884         (Depends-on): Remove strtol.
19885
19886         strtoull: remove dependency on strtoul
19887         This is like the strtoll change.
19888         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
19889         (Depends-on): Remove strtoul.
19890
19891         strtoll: remove dependency on strtol
19892         This is so that 'configure' need not check for strtol merely because
19893         the application needs strtoll.
19894         * modules/strtoll (Files): Add lib/strtol.c.
19895         (Depends-on): Remove strtol.
19896
19897 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19898
19899         inttypes: Move some configure check to module 'imaxdiv'.
19900         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
19901         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
19902         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
19903
19904 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19905
19906         inttypes: Move some configure check to module 'imaxabs'.
19907         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
19908         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
19909         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
19910
19911 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19912
19913         inttypes: Remove configure tests that are not needed since 2009-12-31.
19914         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
19915         gl_cv_header_working_inttypes_h.
19916
19917 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19918
19919         * modules/strnlen (Depends-on): Remove memchr.
19920         The strnlen implementation doesn't need the memchr module's fixes; see
19921         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
19922
19923         strtol: remove dependency on wchar
19924         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
19925         * modules/strtol (Depends-on): Remove wchar.
19926
19927 2011-04-21  Eric Blake  <eblake@redhat.com>
19928
19929         passfd: fix test regression on Linux
19930         * modules/passfd-tests (configure.ac): Correct socketpair check.
19931
19932         passfd: speed up configure and drop unused code
19933         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
19934         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
19935         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
19936         Instead of probing at configure for unix_scm_rights_bsd44_way,
19937         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
19938         check to a struct member probe.
19939         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
19940         (sendfd, recvfd): Update preprocessor checks.
19941         * modules/passfd (Files): Reflect rename, and drop unused file.
19942         (Depends-on): Drop unused dependency.
19943
19944         passfd: allow compilation on mingw
19945         * modules/sys_socket (Depends-on): Add sys_uio.
19946         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
19947         iovec and a minimal struct msghdr.
19948         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
19949         * tests/test-sys_socket.c (main): Enhance test.
19950         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
19951         guaranteed to provide what we need.
19952         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
19953         * modules/passfd-tests (Depends-on): Add sys_wait.
19954         * tests/test-passfd.c (main): Skip test on mingw, for now.
19955         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
19956         partial 'struct msghdr' implementation.
19957
19958         sys_uio: new module
19959         * modules/sys_uio: New module.
19960         * modules/sys_uio-tests: Likewise.
19961         * lib/sys_uio.in.h: New file.
19962         * m4/sys_uio_h.m4: Likewise.
19963         * tests/test-sys_uio.c: Likewise.
19964         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
19965         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
19966
19967 2011-04-20  Jim Meyering  <meyering@redhat.com>
19968
19969         useless-if-before-free: avoid false-positive
19970         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
19971         disjunct so that it too requires a terminating ";".  Without that,
19972         this script would identify as useless one statement from gcc that
19973         was not:
19974           if (aligned_ptr)
19975             free (((void **) aligned_ptr) [-1]);
19976
19977 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
19978
19979         doc: update users.txt.
19980         * users.txt: Add barcode.
19981
19982 2011-04-19  Bruno Haible  <bruno@clisp.org>
19983
19984         ioctl: Remove link dependency on native Windows.
19985         * lib/fd-hook.h: Renamed from lib/close-hook.h.
19986         (gl_close_fn, gl_ioctl_fn): New types.
19987         (struct fd_hook): Renamed from struct close_hook. Change type of
19988         private_close_fn field. Add private_ioctl_fn field.
19989         (close_hook_fn): Add parameter for primary close method.
19990         (execute_close_hooks, execute_all_close_hooks): Likewise.
19991         (ioctl_hook_fn): New type.
19992         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
19993         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19994         argument.
19995         (unregister_fd_hook): Renamed from unregister_close_hook.
19996         * lib/fd-hook.c: Renamed from lib/close-hook.c.
19997         Don't include <unistd.h>.
19998         (close): Remove undef.
19999         (anchor): Update.
20000         (execute_close_hooks): Add argument for primary close method.
20001         (execute_all_close_hooks): Likewise.
20002         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
20003         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
20004         argument. Allow each argument to be NULL.
20005         (unregister_fd_hook): Renamed from unregister_close_hook.
20006         * lib/close.c (rpl_close): Pass 'close' function pointer to
20007         execute_all_close_hooks.
20008         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
20009         (primary_ioctl): New function.
20010         (ioctl): Don't call ioctlsocket here. Instead, call
20011         execute_all_ioctl_hooks.
20012         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
20013         close method.
20014         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
20015         (fd_sockets_hook): Renamed from close_sockets_hook.
20016         (gl_sockets_startup, gl_sockets_cleanup): Update.
20017         * modules/fd-hook: Renamed from modules/close-hook. Update.
20018         * modules/close (Depends-on): Add fd-hook, remove close-hook.
20019         * modules/sockets (Depends-on): Likewise.
20020         * modules/ioctl (Depends-on): Add fd-hook.
20021         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
20022         GNULIB_SOCKET.
20023
20024 2011-04-19  Bruno Haible  <bruno@clisp.org>
20025
20026         Move the support of O_NONBLOCK in open() to the 'open' module.
20027         * modules/nonblocking (Depends-on): Remove 'open'.
20028         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
20029         gl_cv_have_open_O_NONBLOCK.
20030         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
20031         O_NONBLOCK support.
20032         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
20033
20034 2011-04-17  Bruno Haible  <bruno@clisp.org>
20035
20036         pipe2: Simplify code.
20037         * lib/pipe2.c (pipe2): Reduce code duplication.
20038
20039 2011-04-17  Bruno Haible  <bruno@clisp.org>
20040
20041         nonblocking: Add comment.
20042         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
20043
20044 2011-04-17  Bruno Haible  <bruno@clisp.org>
20045
20046         nonblocking: Add tests for sockets.
20047         * tests/test-nonblocking-socket.sh: New file.
20048         * tests/test-nonblocking-socket-main.c: New file.
20049         * tests/test-nonblocking-socket-child.c: New file.
20050         * tests/test-nonblocking-socket.h: New file.
20051         * tests/socket-server.h: New file.
20052         * tests/socket-client.h: New file.
20053         * modules/nonblocking-socket-tests: New file.
20054         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
20055
20056 2011-04-17  Bruno Haible  <bruno@clisp.org>
20057
20058         nonblocking: Add tests for pipes.
20059         * tests/test-nonblocking-pipe.sh: New file.
20060         * tests/test-nonblocking-pipe-main.c: New file.
20061         * tests/test-nonblocking-pipe-child.c: New file.
20062         * tests/test-nonblocking-pipe.h: New file.
20063         * tests/test-nonblocking-writer.h: New file.
20064         * tests/test-nonblocking-reader.h: New file.
20065         * tests/test-nonblocking-misc.h: New file.
20066         * modules/nonblocking-pipe-tests: New file.
20067         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
20068
20069 2011-04-16  Bruno Haible  <bruno@clisp.org>
20070
20071         gettext: Clarify the needed programmer actions.
20072         * modules/gettext (Notice): New field.
20073         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
20074
20075 2011-04-16  Bruno Haible  <bruno@clisp.org>
20076
20077         strchrnul: Tweak last commit.
20078         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
20079         bug.
20080         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
20081         as in _GL_FUNCDECL_SYS.
20082         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
20083         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
20084
20085 2011-04-15  Eric Blake  <eblake@redhat.com>
20086
20087         strchrnul: work around cygwin bug
20088         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
20089         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
20090         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
20091         * modules/string (Makefile.am): Substitute it.
20092         * lib/string.in.h (strchrnul): Use it.
20093
20094 2011-04-15  Bruno Haible  <bruno@clisp.org>
20095
20096         Don't require lib/stdio-write.c when only module 'stdio' is used.
20097         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
20098         invocation.
20099         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
20100
20101 2011-04-14  Bruno Haible  <bruno@clisp.org>
20102
20103         Support non-blocking pipe I/O in read() on native Windows.
20104         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
20105         (read): New declaration.
20106         * lib/read.c: New file.
20107         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
20108         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
20109         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
20110         vscanf): New declarations.
20111         * lib/stdio-read.c: New file.
20112         * m4/read.m4: New file.
20113         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
20114         REPLACE_READ.
20115         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
20116         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20117         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
20118         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
20119         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
20120         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20121         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
20122         * modules/read: New file.
20123         * modules/nonblocking (Files): Add lib/stdio-read.c.
20124         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
20125         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
20126         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20127         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
20128         * modules/pread (Depends-on): Add read.
20129         * modules/safe-read (Depends-on): Likewise.
20130         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
20131         gets, scanf, vfscanf, vscanf): Verify signatures.
20132         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
20133         problem with non-blocking pipes.
20134         * doc/posix-functions/fgetc.texi: Likewise.
20135         * doc/posix-functions/fgets.texi: Likewise.
20136         * doc/posix-functions/fread.texi: Likewise.
20137         * doc/posix-functions/fscanf.texi: Likewise.
20138         * doc/posix-functions/getc.texi: Likewise.
20139         * doc/posix-functions/getchar.texi: Likewise.
20140         * doc/posix-functions/gets.texi: Likewise.
20141         * doc/posix-functions/scanf.texi: Likewise.
20142         * doc/posix-functions/vfscanf.texi: Likewise.
20143         * doc/posix-functions/vscanf.texi: Likewise.
20144
20145 2011-04-14  Bruno Haible  <bruno@clisp.org>
20146
20147         Support non-blocking pipe I/O in write() on native Windows.
20148         * lib/write.c (rpl_write): Split a write request that failed merely
20149         because the byte count was larger than the pipe buffer's size.
20150         * doc/posix-functions/write.texi: Mention the problem with large byte
20151         counts.
20152
20153 2011-04-14  Bruno Haible  <bruno@clisp.org>
20154
20155         wchar: Ensure that wchar_t gets defined on uClibc.
20156         * lib/wchar.in.h: On uClibc, include <stddef.h>.
20157         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
20158
20159 2011-04-13  Bruno Haible  <bruno@clisp.org>
20160
20161         safe-write, full-read: Avoid unnecessary compilation units.
20162         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
20163         (Depends-on): Remove safe-read. Add ssize_t.
20164         * modules/full-read (Files): Add lib/full-write.c.
20165         (Depends-on): Add full-write.
20166
20167 2011-04-13  Bruno Haible  <bruno@clisp.org>
20168
20169         Support non-blocking pipe I/O and SIGPIPE in pwrite().
20170         * modules/pwrite (Depends-on): Add 'write'.
20171
20172 2011-04-13  Bruno Haible  <bruno@clisp.org>
20173
20174         Support non-blocking pipe I/O in write() on native Windows.
20175         * lib/unistd.in.h (write): Enable replacement also if
20176         GNULIB_UNISTD_H_NONBLOCKING is 1.
20177         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
20178         (rpl_write): When failing to write on a non-blocking pipe, change
20179         errno from ENOSPC to EAGAIN.
20180         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
20181         putchar, puts, vfprintf, vprintf): Enable replacement also if
20182         GNULIB_STDIO_H_NONBLOCKING is 1.
20183         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
20184         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
20185         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
20186         CALL_WITH_SIGPIPE_EMULATION.
20187         (CALL_WITH_SIGPIPE_EMULATION): Use them.
20188         * m4/nonblocking.m4: New file.
20189         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
20190         for non-blocking I/O support.
20191         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20192         GNULIB_UNISTD_H_NONBLOCKING.
20193         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
20194         required for non-blocking I/O support.
20195         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
20196         * modules/nonblocking (Files): Add m4/nonblocking.m4,
20197         lib/stdio-write.c, m4/asm-underscore.m4.
20198         (Depends-on): Add stdio, unistd.
20199         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
20200         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
20201         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
20202         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
20203         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
20204         problem with non-blocking pipes.
20205         * doc/posix-functions/fputc.texi: Likewise.
20206         * doc/posix-functions/fputs.texi: Likewise.
20207         * doc/posix-functions/fwrite.texi: Likewise.
20208         * doc/posix-functions/printf.texi: Likewise.
20209         * doc/posix-functions/putc.texi: Likewise.
20210         * doc/posix-functions/putchar.texi: Likewise.
20211         * doc/posix-functions/puts.texi: Likewise.
20212         * doc/posix-functions/vfprintf.texi: Likewise.
20213         * doc/posix-functions/vprintf.texi: Likewise.
20214         * doc/posix-functions/write.texi: Likewise.
20215
20216 2011-04-10  Jim Meyering  <meyering@redhat.com>
20217
20218         maint.mk: prohibit doubled words
20219         Detect them also when they're separated by a newline.
20220         There are 3 ways to customize it:
20221           - disable the test on a per file basis, as usual with rules using
20222             $(VC_LIST_EXCEPT)
20223           - replace the default doubled-word-selecting regexp (affects all files)
20224           - ignore a particular file-vs-doubled-word match
20225         I nearly used that last one to ignore the "is is" match in
20226         coreutils' NEWS file, since the text was "ls -is is ..."
20227         To do that, I would have added this line to cfg.mk:
20228           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
20229         but it would have ignored any "is is" match in NEWS.
20230         Low probability, but still...
20231         Instead, I changed the text, slightly:
20232           -  ls -is is now consistent with ls -lis in ignoring values returned
20233           +  "ls -is" is now consistent with ls -lis in ignoring values returned
20234         * top/maint.mk (prohibit_double_word_RE_): Provide default.
20235         (prohibit_doubled_word_): Define.
20236         (sc_prohibit_doubled_word): New rule.
20237         (sc_prohibit_the_the): Remove.  Subsumed by the above.
20238
20239 2011-04-10  Jim Meyering  <meyering@redhat.com>
20240
20241         maint: fix doubled-word typo in comment
20242         * m4/gethostname.m4: s/is is/it is/
20243         * m4/getdomainname.m4: Likewise.
20244
20245 2011-04-10  Jim Meyering  <meyering@redhat.com>
20246
20247         maint: remove doubled word: s/it it/it/
20248         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
20249
20250 2011-04-10  Jim Meyering  <meyering@redhat.com>
20251
20252         maint.mk: remove useless semicolon and backslash
20253         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
20254         semicolon and backslash.
20255
20256 2011-04-10  Bruno Haible  <bruno@clisp.org>
20257
20258         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
20259         * modules/stdint-tests (Depends-on): Add wchar.
20260
20261 2011-04-10  Jim Meyering  <meyering@redhat.com>
20262
20263         maint: remove doubled words in comments, e.g., s/a a/a/
20264         * lib/strptime.c (day_of_the_week): s/the the/the/
20265         * tests/test-chown.h (test_chown): s/a a/a/
20266
20267         test-chown.h: correct a cast
20268         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
20269         when the destination is a stat.st_gid.
20270
20271 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
20272
20273         getaddrinfo: Fix test for sa_len member.
20274         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
20275         include <sys/types.h> before <sys/socket.h>.
20276
20277 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
20278
20279         maint: change "can not" to "cannot"
20280         * doc/posix-functions/iconv.texi (iconv): This one crossed line
20281         boundaries.
20282
20283 2011-04-09  Jim Meyering  <meyering@redhat.com>
20284
20285         maint: change "a a" to "a"
20286         * tests/test-lchown.h (test_lchown): s/a a/a/
20287
20288         maint.mk: prohibit \<the the\>
20289         * top/maint.mk (sc_prohibit_the_the): New rule.
20290
20291         maint: fix "the the" in comment
20292         * lib/count-one-bits.h: s/the the/the/
20293
20294         maint: change "can not" to "cannot"
20295         But do not change the occurrences in maintain.texi or in
20296         build-aux/po/Makefile.in.in, which I presume comes from gettext.
20297         * doc/gnulib-tool.texi: s/can not/cannot/
20298         * doc/posix-functions/accept.texi (accept): Likewise.
20299         * doc/posix-functions/socket.texi (socket): Likewise.
20300         * lib/mbrtowc.c: Likewise.
20301
20302         maint.mk: prohibit use of "can not"
20303         * top/maint.mk (sc_prohibit_can_not): New rule.
20304         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
20305
20306 2011-04-09  Bruno Haible  <bruno@clisp.org>
20307
20308         careadlinkat: Guard against misuse of careadlinkatcwd.
20309         * lib/careadlinkat.c: Include <stdlib.h>.
20310         (careadlinkatcwd): Check that the fd argument is as expected.
20311
20312 2011-04-09  Bruno Haible  <bruno@clisp.org>
20313
20314         careadlinkat: Use common coding style.
20315         * lib/careadlinkat.c: Move gnulib includes after system includes.
20316
20317 2011-04-09  Bruno Haible  <bruno@clisp.org>
20318
20319         careadlinkat: Clarify specification.
20320         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
20321         (careadlinkatcwd): Add comment.
20322         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
20323
20324 2011-04-09  Bruno Haible  <bruno@clisp.org>
20325
20326         areadlinkat: Avoid link error on many platforms.
20327         * modules/areadlinkat (Depends-on): Add areadlink.
20328
20329 2011-04-09  Bruno Haible  <bruno@clisp.org>
20330
20331         allocator, careadlinkat: Fix double-inclusion guard.
20332         * lib/allocator.h: Fix double-inclusion guard.
20333         * lib/careadlinkat.h: Likewise.
20334
20335 2011-04-09  Bruno Haible  <bruno@clisp.org>
20336
20337         relocatable-prog-wrapper: Update after module 'areadlink' changed.
20338         * lib/relocwrapper.c: Update dependencies hierarchy.
20339         * build-aux/install-reloc: Update list of files to be compiled.
20340         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
20341         lib/allocator.[hc].
20342
20343 2011-04-08  Eric Blake  <eblake@redhat.com>
20344
20345         strftime: silence gnulib-tool warning
20346         * modules/strftime-tests (Depends-on): Drop automatic dependency.
20347
20348 2011-04-08  Bruno Haible  <bruno@clisp.org>
20349
20350         verify: Fix syntax error with GCC 4.6 in C++ mode.
20351         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
20352         (HAVE_STATIC_ASSERT): New macro.
20353         (verify_true, verify): Use 'static_assert' if it is supported and
20354         '_Static_assert' is not supported.
20355
20356 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
20357
20358         allocator: New module.
20359         * modules/allocator, lib/allocator.c: New files.
20360         * lib/allocator.h (stdlib_allocator): New decl.
20361         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
20362         Remove.  Do not include <stdlib.h>.
20363         (careadlinkat): Use stdlib_allocator instead of rolling our own.
20364         * modules/careadlinkat (Files): Remove lib/allocator.h.
20365         (Depends-on): Add allocator.
20366
20367         stdlib: let modules use system malloc, realloc
20368         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
20369         if !_GL_USE_STDLIB_ALLOC.
20370         (malloc, realloc): Limit this change to a smaller scope.
20371
20372         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
20373         (malloc, realloc): Don't #undef; no longer needed.
20374         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20375         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20376         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
20377         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20378         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20379         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20380         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20381         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
20382
20383         careadlinkat: rename members to avoid problem
20384         * lib/allocator.h (struct allocator): Rename members from
20385         malloc/realloc to allocate/reallocate, to avoid problems if malloc
20386         and realloc are #define'd.  Reported by Eric Blake in
20387         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
20388         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
20389
20390 2011-04-08  Eric Blake  <eblake@redhat.com>
20391
20392         nonblocking: reduce dependency
20393         * tests/test-nonblocking.c: Only test sockets when in use.
20394         * modules/nonblocking-tests (Depends-on): Drop socket.
20395         (Makefile.am): Link even if sockets are not present.
20396         * modules/pipe2-tests (Makefile.am): Likewise.
20397         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
20398
20399         pipe2: fix O_NONBLOCK support on mingw
20400         * modules/pipe2 (Depends-on): Add nonblocking.
20401         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
20402         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
20403         * tests/test-nonblocking.c (main): Likewise.
20404         * modules/pipe2-tests (Makefile.am): Avoid link failure.
20405
20406         fcntl-h: fix O_ACCMODE on cygwin
20407         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
20408         * lib/fcntl.in.h (O_ACCMODE): Fix it.
20409
20410         pipe-filter: drop O_NONBLOCK workarounds
20411         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
20412         * modules/pipe-filter-ii (Depends-on): Likewise.
20413         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
20414
20415         nonblocking: provide O_NONBLOCK for mingw
20416         * modules/nonblocking (Depends-on): Add open.
20417         (configure.ac): Set new witness macro.
20418         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
20419         * modules/fcntl-h (Makefile.am): Substitute it.
20420         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
20421         nonblocking module is in use.
20422         * lib/nonblocking.c: Adjust portability test.
20423         * lib/open.c (open): Don't let native open see gnulib flag.
20424         * tests/test-fcntl-h.c (main): Enhance test.
20425         * tests/test-open.h (test_open): Likewise.
20426         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
20427
20428         careadlinkat: fix compilation error on mingw
20429         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
20430         within struct allocator.
20431
20432 2011-04-06  Eric Blake  <eblake@redhat.com>
20433
20434         binary-io: relicense under LGPLv2+
20435         * modules/binary-io (License): Relax to LGPLv2+.
20436         Requested for libvirt, and required by pipe2.
20437
20438 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
20439
20440         verify: use _Static_assert if available
20441         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
20442         (verify_true, verify): Use it if available.  This generates better
20443         diagnostics with GCC 4.6.0 and later.
20444
20445 2011-04-05  Bruno Haible  <bruno@clisp.org>
20446
20447         Remove leftover generated .h files after config.status changed.
20448
20449         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
20450         GL_GENERATE_ALLOCA_H.
20451         * modules/alloca-opt (Makefile.am): Remove alloca.h if
20452         GL_GENERATE_ALLOCA_H evaluates to false.
20453
20454         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
20455         GL_GENERATE_ARGZ_H.
20456         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
20457         evaluates to false.
20458
20459         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
20460         GL_GENERATE_BYTESWAP_H.
20461         * modules/byteswap (Makefile.am): Remove byteswap.h if
20462         GL_GENERATE_BYTESWAP_H evaluates to false.
20463
20464         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
20465         GL_GENERATE_ERRNO_H.
20466         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
20467         evaluates to false.
20468
20469         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
20470         GL_GENERATE_FLOAT_H.
20471         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
20472         evaluates to false.
20473
20474         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
20475         GL_GENERATE_FNMATCH_H.
20476         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
20477         GL_GENERATE_FNMATCH_H evaluates to false.
20478
20479         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
20480         GL_GENERATE_GLOB_H.
20481         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
20482         evaluates to false.
20483
20484         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
20485         automake conditional GL_GENERATE_ICONV_H.
20486         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
20487         evaluates to false.
20488
20489         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
20490         GL_GENERATE_NETINET_IN_H.
20491         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
20492         GL_GENERATE_NETINET_IN_H evaluates to false.
20493
20494         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
20495         conditional GL_GENERATE_PTHREAD_H.
20496         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
20497         * modules/pthread (Makefile.am): Remove pthread.h if
20498         GL_GENERATE_PTHREAD_H evaluates to false.
20499
20500         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
20501         GL_GENERATE_SCHED_H.
20502         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
20503         evaluates to false.
20504
20505         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
20506         conditional GL_GENERATE_SELINUX_CONTEXT_H.
20507         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
20508         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
20509
20510         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
20511         GL_GENERATE_STDARG_H.
20512         * modules/stdarg (Makefile.am): Remove stdarg.h if
20513         GL_GENERATE_STDARG_H evaluates to false.
20514
20515         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
20516         GL_GENERATE_STDBOOL_H.
20517         * modules/stdbool (Makefile.am): Remove stdbool.h if
20518         GL_GENERATE_STDBOOL_H evaluates to false.
20519
20520         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
20521         conditional GL_GENERATE_STDDEF_H.
20522         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
20523         * modules/stddef (Makefile.am): Remove stddef.h if
20524         GL_GENERATE_STDDEF_H evaluates to false.
20525
20526         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
20527         GL_GENERATE_STDINT_H.
20528         * modules/stdint (Makefile.am): Remove stdint.h if
20529         GL_GENERATE_STDINT_H evaluates to false.
20530
20531         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
20532         GL_GENERATE_SYSEXITS_H.
20533         * modules/sysexits (Makefile.am): Remove sysexits.h if
20534         GL_GENERATE_SYSEXITS_H evaluates to false.
20535
20536         Reported by Karl Berry and Ralf Wildenhues.
20537
20538 2011-04-05  Bruno Haible  <bruno@clisp.org>
20539
20540         Ensure to rebuild generated .h files when config.status has changed.
20541         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
20542         config.status.
20543         * modules/ctype (Makefile.am): Likewise.
20544         * modules/dirent (Makefile.am): Likewise.
20545         * modules/errno (Makefile.am): Likewise.
20546         * modules/fcntl-h (Makefile.am): Likewise.
20547         * modules/float (Makefile.am): Likewise.
20548         * modules/getopt-posix (Makefile.am): Likewise.
20549         * modules/glob (Makefile.am): Likewise.
20550         * modules/iconv-h (Makefile.am): Likewise.
20551         * modules/inttypes (Makefile.am): Likewise.
20552         * modules/langinfo (Makefile.am): Likewise.
20553         * modules/locale (Makefile.am): Likewise.
20554         * modules/math (Makefile.am): Likewise.
20555         * modules/netdb (Makefile.am): Likewise.
20556         * modules/netinet_in (Makefile.am): Likewise.
20557         * modules/poll-h (Makefile.am): Likewise.
20558         * modules/pthread (Makefile.am): Likewise.
20559         * modules/pty (Makefile.am): Likewise.
20560         * modules/sched (Makefile.am): Likewise.
20561         * modules/search (Makefile.am): Likewise.
20562         * modules/selinux-h (Makefile.am): Likewise.
20563         * modules/signal (Makefile.am): Likewise.
20564         * modules/spawn (Makefile.am): Likewise.
20565         * modules/stdarg (Makefile.am): Likewise.
20566         * modules/stdbool (Makefile.am): Likewise.
20567         * modules/stddef (Makefile.am): Likewise.
20568         * modules/stdint (Makefile.am): Likewise.
20569         * modules/stdio (Makefile.am): Likewise.
20570         * modules/stdlib (Makefile.am): Likewise.
20571         * modules/string (Makefile.am): Likewise.
20572         * modules/strings (Makefile.am): Likewise.
20573         * modules/sys_file (Makefile.am): Likewise.
20574         * modules/sys_ioctl (Makefile.am): Likewise.
20575         * modules/sys_select (Makefile.am): Likewise.
20576         * modules/sys_socket (Makefile.am): Likewise.
20577         * modules/sys_stat (Makefile.am): Likewise.
20578         * modules/sys_time (Makefile.am): Likewise.
20579         * modules/sys_times (Makefile.am): Likewise.
20580         * modules/sys_utsname (Makefile.am): Likewise.
20581         * modules/sys_wait (Makefile.am): Likewise.
20582         * modules/sysexits (Makefile.am): Likewise.
20583         * modules/termios (Makefile.am): Likewise.
20584         * modules/time (Makefile.am): Likewise.
20585         * modules/unistd (Makefile.am): Likewise.
20586         * modules/wchar (Makefile.am): Likewise.
20587         * modules/wctype-h (Makefile.am): Likewise.
20588         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
20589
20590 2011-04-05  Bruno Haible  <bruno@clisp.org>
20591
20592         pipe2: Relicense under LGPLv2+.
20593         * modules/pipe2 (License): Change to LGPLv2+.
20594         Requested by Eric Blake, for libvirt.
20595
20596 2011-04-05  Bruce Korb  <bkorb@gnu.org>
20597
20598         bootstrap: compute gnulib_extra_files after updating build_aux
20599         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
20600         change build_aux or also supply gnulib_extra_files.  Handle correctly.
20601
20602 2011-04-05  Eric Blake  <eblake@redhat.com>
20603
20604         bootstrap: preserve git whitelist item sorting
20605         * build-aux/bootstrap (sort_patterns): New function.
20606         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
20607
20608 2011-04-05  Simon Josefsson  <simon@josefsson.org>
20609
20610         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
20611         sc_space_tab check.
20612
20613 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
20614
20615         areadlink, areadlinkat: rewrite in terms of careadlinkat
20616         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
20617         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
20618         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
20619         (malloc, realloc): Remove #undefs.
20620         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
20621         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
20622         readlink, ssize_t, stdint, unistd.
20623         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
20624         areadlink, stdint.
20625
20626         careadlinkat: new module
20627         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
20628         * modules/careadlinkat: New files, written by me with
20629         a review and feedback from Ben Pfaff in
20630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
20631
20632 2011-04-01  Bruno Haible  <bruno@clisp.org>
20633
20634         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
20635         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
20636         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
20637         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
20638         Reported by Bruce Korb <bruce.korb@gmail.com>.
20639
20640 2011-04-01  Bruno Haible  <bruno@clisp.org>
20641
20642         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
20643         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
20644         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
20645         * modules/wcpcpy (Depends-on): Add extensions.
20646         * modules/wcpncpy (Depends-on): Likewise.
20647         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
20648         systems.
20649         * doc/posix-functions/wcpncpy.texi: Likewise.
20650         * doc/posix-functions/wcwidth.texi: Likewise.
20651
20652 2011-03-31  Eric Blake  <eblake@redhat.com>
20653
20654         nonblocking: fix mingw test failures
20655         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
20656         non-blocking flag on regular file.
20657         (get_nonblocking_flag): Set errno on invalid fd.
20658         * tests/test-nonblocking.c (main): Avoid test failure on
20659         directories if fchdir is not active.
20660         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
20661
20662 2011-03-31  Bruno Haible  <bruno@clisp.org>
20663
20664         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
20665         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
20666         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
20667         Reported by Simon Josefsson <simon@josefsson.org>.
20668
20669 2011-03-31  Bruno Haible  <bruno@clisp.org>
20670         and Eric Blake  <eblake@redhat.com>
20671
20672         nonblocking: new module
20673         * modules/nonblocking: New module.
20674         * modules/nonblocking-tests: Likewise.
20675         * lib/nonblocking.h: New file.
20676         * lib/nonblocking.c: Likewise.
20677         * tests/test-nonblocking.c: New test.
20678         * lib/ioctl.c (ioctl) [mingw]: Update comment.
20679
20680 2011-03-30  Bruno Haible  <bruno@clisp.org>
20681
20682         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
20683         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
20684         instead of 'printf' format for GCC >= 4.4.
20685         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
20686         (fprintf, printf, vfprintf, vprintf): Declare with
20687         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
20688         the system's vfprintf() function.
20689         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
20690
20691 2011-03-30  Eric Blake  <eblake@redhat.com>
20692
20693         passfd: fix scoping bug
20694         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
20695         before sendmsg/recvmsg.
20696
20697         passfd: standardize coding conventions
20698         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
20699         can be learned at compile time.
20700         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
20701         ifdefs.
20702         (sendfd, recvfd): Follow gnulib code conventions.
20703
20704         passfd: fix incorrect sendmsg arguments
20705         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
20706         incorrect msg_controllen value.
20707         * modules/passfd-tests (Depends-on): Check for alarm.
20708         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
20709         Reported by Bastien ROUCARIES.
20710
20711 2011-03-30  Bruno Haible  <bruno@clisp.org>
20712
20713         c-strcasestr: Relicense under LGPLv2+.
20714         * modules/c-strcasestr (License): Change to LGPLv2+.
20715         Requested by Eric Blake, for libvirt.
20716
20717 2011-03-30  Simon Josefsson  <simon@josefsson.org>
20718
20719         * users.txt: Add libidn2.  Fix libtasn1 link.
20720
20721 2011-03-30  Jim Meyering  <meyering@redhat.com>
20722
20723         tests: readlink* ("",... fails with EINVAL on newer kernels
20724         readlink and readlinkat have typically failed with ENOENT for
20725         the invalid, empty file name,  "".  However, with the advent
20726         of linux-2.6.39, they fail with EINVAL.
20727         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
20728         when operating on the empty file name.
20729         * tests/test-readlink.h (test_readlink): Likewise.
20730
20731 2011-03-29  Bruno Haible  <bruno@clisp.org>
20732
20733         Relicense some modules under LGPLv2+, for libidn2.
20734         * modules/array-mergesort (License): Change to LGPLv2+.
20735         * modules/c-strcaseeq (License): Likewise.
20736         * modules/striconveh (License): Likewise.
20737         * modules/striconveha (License): Likewise.
20738         * modules/uniconv/base (License): Likewise.
20739         * modules/uniconv/u8-conv-from-enc (License): Likewise.
20740         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
20741         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
20742         * modules/unictype/base (License): Likewise.
20743         * modules/unictype/bidiclass-of (License): Likewise.
20744         * modules/unictype/category-M (License): Likewise.
20745         * modules/unictype/category-none (License): Likewise.
20746         * modules/unictype/category-of (License): Likewise.
20747         * modules/unictype/category-test (License): Likewise.
20748         * modules/unictype/category-test-withtable (License): Likewise.
20749         * modules/unictype/combining-class (License): Likewise.
20750         * modules/unictype/joiningtype-of (License): Likewise.
20751         * modules/unictype/scripts (License): Likewise.
20752         * modules/uninorm/base (License): Likewise.
20753         * modules/uninorm/canonical-decomposition (License): Likewise.
20754         * modules/uninorm/composition (License): Likewise.
20755         * modules/uninorm/decompose-internal (License): Likewise.
20756         * modules/uninorm/decomposition-table (License): Likewise.
20757         * modules/uninorm/nfc (License): Likewise.
20758         * modules/uninorm/nfd (License): Likewise.
20759         * modules/uninorm/u32-normalize (License): Likewise.
20760         * modules/unistr/base (License): Likewise.
20761         * modules/unistr/u32-cpy (License): Likewise.
20762         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
20763         * modules/unistr/u32-to-u8 (License): Likewise.
20764         * modules/unistr/u32-uctomb (License): Likewise.
20765         * modules/unistr/u8-check (License): Likewise.
20766         * modules/unistr/u8-mblen (License): Likewise.
20767         * modules/unistr/u8-mbtouc (License): Likewise.
20768         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
20769         * modules/unistr/u8-mbtoucr (License): Likewise.
20770         * modules/unistr/u8-prev (License): Likewise.
20771         * modules/unistr/u8-strlen (License): Likewise.
20772         * modules/unistr/u8-to-u32 (License): Likewise.
20773         * modules/unistr/u8-uctomb (License): Likewise.
20774         * modules/unitypes (License): Likewise.
20775         Requested by Simon Josefsson.
20776
20777 2011-03-29  Simon Josefsson  <simon@josefsson.org>
20778
20779         lib-symbol-visibility: Add a notice.
20780         * modules/lib-symbol-visibility (Notice): New field.
20781
20782 2011-03-29  Bruno Haible  <bruno@clisp.org>
20783
20784         getaddrinfo: Doc fix.
20785         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
20786         section "fixed in Gnulib".
20787
20788 2011-03-28  Simon Josefsson  <simon@josefsson.org>
20789
20790         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
20791         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
20792
20793 2011-03-26  Bruno Haible  <bruno@clisp.org>
20794
20795         unictype/property-byname: Reduce the number of load-time relocations.
20796         * lib/unictype/pr_byname.c: Include <stdlib.h>.
20797         (UC_PROPERTY_INDEX_*): New enumeration values.
20798         (uc_property_byname): Convert an index from the lookup table to an
20799         uc_property_t.
20800         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
20801         values.
20802
20803 2011-03-26  Bruno Haible  <bruno@clisp.org>
20804
20805         unictype/property-byname: Allow omitted word separators and aliases.
20806         * lib/unictype/pr_byname.gperf: Add property names without word
20807         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
20808         for 'space'.
20809
20810 2011-03-26  Bruno Haible  <bruno@clisp.org>
20811
20812         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
20813         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
20814         also hyphens to space.
20815         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
20816         without spaces.
20817         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
20818
20819 2011-03-26  Bruno Haible  <bruno@clisp.org>
20820
20821         unictype/joiningtype-byname: Recognize long names as well.
20822         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
20823         a long name.
20824         * lib/unictype/joiningtype_byname.c: Include <string.h>,
20825         unictype/joiningtype_byname.h.
20826         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
20827         * lib/unictype/joiningtype_byname.gperf: New file.
20828         * modules/unictype/joiningtype-byname (Files): Add
20829         lib/unictype/joiningtype_byname.gperf.
20830         (Depends-on): Add gperf.
20831         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
20832         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
20833         long names.
20834
20835         Tests for module 'unictype/joiningtype-longname'.
20836         * modules/unictype/joiningtype-longname-tests: New file.
20837         * tests/unictype/test-joiningtype_longname.c: New file.
20838
20839         New module 'unictype/joiningtype-longname'.
20840         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
20841         * lib/unictype/joiningtype_longname.c: New file.
20842         * modules/unictype/joiningtype-longname: New file.
20843         * modules/unictype/joiningtype-all (Depends-on): Add
20844         unictype/joiningtype-longname.
20845
20846 2011-03-26  Bruno Haible  <bruno@clisp.org>
20847
20848         unictype/bidiclass-byname: Recognize long names as well.
20849         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
20850         name.
20851         * lib/unictype/bidi_byname.c: Include <string.h>,
20852         unictype/bidi_byname.h.
20853         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
20854         * lib/unictype/bidi_byname.gperf: New file.
20855         * modules/unictype/bidiclass-byname (Files): Add
20856         lib/unictype/bidi_byname.gperf.
20857         (Depends-on): Add gperf.
20858         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
20859         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
20860         long names.
20861
20862         Tests for module 'unictype/bidiclass-longname'.
20863         * modules/unictype/bidiclass-longname-tests: New file.
20864         * tests/unictype/test-bidi_longname.c: New file.
20865
20866         New module 'unictype/bidiclass-longname'.
20867         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
20868         * lib/unictype/bidi_longname.c: New file.
20869         * modules/unictype/bidiclass-longname: New file.
20870         * modules/unictype/bidiclass-all (Depends-on): Add
20871         unictype/bidiclass-longname.
20872
20873 2011-03-26  Bruno Haible  <bruno@clisp.org>
20874
20875         unictype/bidi*: Rename modules.
20876         * modules/unictype/bidiclass-all: Renamed from
20877         modules/unictype/bidicategory-all.
20878         * modules/unictype/bidiclass-name: Renamed from
20879         modules/unictype/bidiclass-name.
20880         (Description): Update.
20881         * modules/unictype/bidiclass-name-tests: Renamed from
20882         modules/unictype/bidicategory-name-tests.
20883         * modules/unictype/bidiclass-byname: Renamed from
20884         modules/unictype/bidicategory-byname.
20885         (Description): Update.
20886         * modules/unictype/bidiclass-byname-tests: Renamed from
20887         modules/unictype/bidicategory-byname-tests.
20888         * modules/unictype/bidiclass-of: Renamed from
20889         modules/unictype/bidicategory-of.
20890         (Description): Update.
20891         * modules/unictype/bidiclass-of-tests: Renamed from
20892         modules/unictype/bidicategory-of-tests.
20893         * modules/unictype/bidiclass-test: Renamed from
20894         modules/unictype/bidicategory-test.
20895         (Description): Update.
20896         * modules/unictype/bidiclass-test-tests: Renamed from
20897         modules/unictype/bidicategory-test-tests.
20898         * modules/unictype/bidicategory-all: New file, a simple redirection.
20899         * modules/unictype/bidicategory-name: Likewise.
20900         * modules/unictype/bidicategory-byname: Likewise.
20901         * modules/unictype/bidicategory-of: Likewise.
20902         * modules/unictype/bidicategory-test: Likewise.
20903         * modules/unictype/property-bidi-* (Dependencies): Update.
20904         * lib/unictype/bidi_*.c: Update comment.
20905
20906 2011-03-26  Bruno Haible  <bruno@clisp.org>
20907
20908         unictype/bidi*: Rename functions, part 2.
20909         * modules/unictype/bidicategory-name (configure.ac): Update required
20910         libunistring version.
20911         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
20912
20913 2011-03-25  Bruno Haible  <bruno@clisp.org>
20914
20915         New module 'unictype/combining-class-all'.
20916         * modules/unictype/combining-class-all: New file.
20917
20918         Tests for module 'unictype/combining-class-byname'.
20919         * modules/unictype/combining-class-byname-tests: New file.
20920         * tests/unictype/test-combiningclass_byname.c: New file.
20921
20922         New module 'unictype/combining-class-byname'.
20923         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
20924         * lib/unictype/combiningclass_byname.c: New file.
20925         * lib/unictype/combiningclass_byname.gperf: New file.
20926         * modules/unictype/combining-class-byname: New file.
20927
20928         Tests for module 'unictype/combining-class-longname'.
20929         * modules/unictype/combining-class-longname-tests: New file.
20930         * tests/unictype/test-combiningclass_longname.c: New file.
20931
20932         New module 'unictype/combining-class-longname'.
20933         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
20934         * lib/unictype/combiningclass_longname.c: New file.
20935         * modules/unictype/combining-class-longname: New file.
20936
20937         Tests for module 'unictype/combining-class-name'.
20938         * modules/unictype/combining-class-name-tests: New file.
20939         * tests/unictype/test-combiningclass_name.c: New file.
20940
20941         New module 'unictype/combining-class-name'.
20942         * lib/unictype.in.h (uc_combining_class_name): New declaration.
20943         * lib/unictype/combiningclass_name.c: New file.
20944         * modules/unictype/combining-class-name: New file.
20945
20946 2011-03-25  Bruno Haible  <bruno@clisp.org>
20947
20948         unictype/combining-class: Rename source files.
20949         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
20950         of unictype/combining.h.
20951         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
20952         Update.
20953         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
20954         * modules/unictype/combining-class (Description): Fix.
20955         (Files, Makefile.am): Update.
20956         * tests/unictype/test-combiningclass.c: Renamed from
20957         tests/unictype/test-combining.c.
20958         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
20959
20960 2011-03-25  Bruno Haible  <bruno@clisp.org>
20961
20962         unictype: Update list of canonical combining classes.
20963         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
20964
20965 2011-03-25  Bruno Haible  <bruno@clisp.org>
20966
20967         unictype/category-byname: Recognize long names as well.
20968         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
20969         a long name.
20970         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
20971         unictype/categ_byname.h.
20972         (UC_CATEGORY_INDEX_*): New enumeration values.
20973         (uc_general_category_byname): Use uc_general_category_lookup and
20974         convert from index to value.
20975         * lib/unictype/categ_byname.gperf: New file.
20976         * modules/unictype/category-byname (Files): Add
20977         lib/unictype/categ_byname.gperf.
20978         (Depends-on): Add gperf.
20979         (Makefile.am): Add rule for generating unictype/categ_byname.h.
20980         * tests/unictype/test-categ_byname.c (main): Test the recognition of
20981         long names.
20982
20983         Tests for module 'unictype/category-longname'.
20984         * modules/unictype/category-longname-tests: New file.
20985         * tests/unictype/test-categ_longname.c: New file.
20986
20987         New module 'unictype/category-longname'.
20988         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
20989         * lib/unictype/categ_longname.c: New file.
20990         * modules/unictype/category-longname: New file.
20991         * modules/unictype/category-all (Depends-on): Add it.
20992
20993 2011-03-25  Bruno Haible  <bruno@clisp.org>
20994
20995         Tests for module 'unictype/category-LC'.
20996         * modules/unictype/category-LC-tests: New file.
20997         * tests/unictype/test-categ_LC.c: New file, automatically generated.
20998
20999         New module 'unictype/category-LC'.
21000         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
21001         (UC_CATEGORY_LC): New declaration.
21002         (UC_CASED_LETTER): New macro.
21003         * lib/gen-uni-tables.c (is_category_LC): New function.
21004         (output_categories): Also handle category LC.
21005         (UC_CATEGORY_MASK_LC): New enumeration value.
21006         (general_category_byname): Also handle category LC.
21007         * lib/unictype/categ_LC.c: New file.
21008         * lib/unictype/categ_LC.h: New file, automatically generated.
21009         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
21010         category LC.
21011         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
21012         * modules/unictype/category-LC: New file.
21013         * modules/unictype/category-byname (Depends-on): Add
21014         unictype/category-LC.
21015         * modules/unictype/category-all (Depends-on): Likewise.
21016
21017 2011-03-25  Eric Blake  <eblake@redhat.com>
21018
21019         xmalloc: revert yesterday's regression
21020         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
21021         realloc's underlying behavior (allowing allocation of zero-size
21022         objects, especially if malloc-gnu is also in use).
21023
21024 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
21025
21026         maint.mk: add missing version to VC-tag
21027         * top/maint.mk: git tag was missing actual tag name; add it.
21028
21029         valgrind: do leak checking, and exit with code 1 on error (not 0)
21030         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
21031         to VALGRIND.
21032
21033 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
21034
21035         posix-modules: say what it does.
21036         * posix-modules: Add a line to the --help output saying what it does.
21037
21038 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
21039
21040         xmalloc: Do not leak if underlying realloc is C99 compatible.
21041         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
21042         This avoids a leak on C99-based systems.  See
21043         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
21044
21045 2011-03-24  Eric Blake  <eblake@redhat.com>
21046
21047         realloc: document portability problem
21048         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
21049         passing 0 size to realloc.
21050
21051 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
21052
21053         doc: update users.txt
21054         * users.txt: Add cvsps, tmpwatch
21055
21056 2011-03-23  Matt Rice  <ratmice@gmail.com>
21057
21058         doc: update users.txt
21059         * users.txt: Add gdb.
21060
21061 2011-03-23  Jim Meyering  <meyering@redhat.com>
21062
21063         doc: update users.txt
21064         Looking through matches up to the following URL (there are still
21065         several more pages), I found several projects that use gnulib:
21066         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
21067         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
21068         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
21069
21070 2011-03-22  Bruno Haible  <bruno@clisp.org>
21071
21072         unictype/bidi*: Rename functions.
21073         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
21074         uc_bidi_class, uc_is_bidi_class): New declarations.
21075         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
21076         uc_bidi_category_byname.
21077         (uc_bidi_category_byname): New function.
21078         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
21079         u_bidi_category_name.
21080         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
21081         (uc_bidi_category_name): New function.
21082         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
21083         uc_bidi_category.
21084         (uc_bidi_category): New function.
21085         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
21086         uc_is_bidi_category. Invoke uc_bidi_class.
21087         (uc_is_bidi_category): New function.
21088         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
21089         instead of uc_bidi_category_byname.
21090         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
21091         instead of uc_bidi_category_name.
21092         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
21093         uc_bidi_category.
21094         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
21095         instead of uc_is_bidi_category.
21096
21097 2011-03-21  Bruno Haible  <bruno@clisp.org>
21098
21099         New module 'unictype/joininggroup-all'.
21100         * modules/unictype/joininggroup-all: New file.
21101
21102         Tests for module 'unictype/joininggroup-of'.
21103         * modules/unictype/joininggroup-of-tests: New file.
21104         * tests/unictype/test-joininggroup_of.c: New file.
21105         * tests/unictype/test-joininggroup_of.h: New file, automatically
21106         generated by gen-uni-tables.
21107
21108         New module 'unictype/joininggroup-of'.
21109         * modules/unictype/joininggroup-of: New file.
21110         * lib/unictype/joininggroup_of.c: New file.
21111         * lib/unictype/joininggroup_of.h: New file, automatically generated by
21112         gen-uni-tables.
21113
21114         Tests for module 'unictype/joininggroup-byname'.
21115         * modules/unictype/joininggroup-byname-tests: New file.
21116         * tests/unictype/test-joininggroup_byname.c: New file.
21117
21118         New module 'unictype/joininggroup-byname'.
21119         * modules/unictype/joininggroup-byname: New file.
21120         * lib/unictype/joininggroup_byname.c: New file.
21121         * lib/unictype/joininggroup_byname.gperf: New file.
21122
21123         Tests for module 'unictype/joininggroup-name'.
21124         * modules/unictype/joininggroup-name-tests: New file.
21125         * tests/unictype/test-joininggroup_name.c: New file.
21126
21127         New module 'unictype/joininggroup-name'.
21128         * modules/unictype/joininggroup-name: New file.
21129         * lib/unictype/joininggroup_name.c: New file.
21130         * lib/unictype/joininggroup_name.h: New file.
21131
21132         New module 'unictype/joiningtype-all'.
21133         * modules/unictype/joiningtype-all: New file.
21134
21135         Tests for module 'unictype/joiningtype-of'.
21136         * modules/unictype/joiningtype-of-tests: New file.
21137         * tests/unictype/test-joiningtype_of.c: New file.
21138         * tests/unictype/test-joiningtype_of.h: New file, automatically
21139         generated by gen-uni-tables.
21140
21141         New module 'unictype/joiningtype-of'.
21142         * modules/unictype/joiningtype-of: New file.
21143         * lib/unictype/joiningtype_of.c: New file.
21144         * lib/unictype/joiningtype_of.h: New file, automatically generated by
21145         gen-uni-tables.
21146
21147         Tests for module 'unictype/joiningtype-byname'.
21148         * modules/unictype/joiningtype-byname-tests: New file.
21149         * tests/unictype/test-joiningtype_byname.c: New file.
21150
21151         New module 'unictype/joiningtype-byname'.
21152         * modules/unictype/joiningtype-byname: New file.
21153         * lib/unictype/joiningtype_byname.c: New file.
21154
21155         Tests for module 'unictype/joiningtype-name'.
21156         * modules/unictype/joiningtype-name-tests: New file.
21157         * tests/unictype/test-joiningtype_name.c: New file.
21158
21159         New module 'unictype/joiningtype-name'.
21160         * modules/unictype/joiningtype-name: New file.
21161         * lib/unictype/joiningtype_name.c: New file.
21162
21163         unictype: Add support for Arabic shaping properties.
21164         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
21165         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
21166         declarations.
21167         (UC_JOINING_GROUP_*): New enumeration values.
21168         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
21169         declarations.
21170         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
21171         (unicode_joining_type): New variable.
21172         (UC_JOINING_GROUP_*): New enumeration values.
21173         (unicode_joining_group): New variable.
21174         (fill_arabicshaping, joining_type_as_c_identifier,
21175         output_joining_type_test, output_joining_type,
21176         joining_group_as_c_identifier, output_joining_group_test,
21177         output_joining_group): New functions.
21178         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
21179         fill_arabicshaping and output_joining_type_test, output_joining_type,
21180         output_joining_group_test, output_joining_group.
21181         Reported by Simon Josefsson.
21182
21183 2011-03-21  Jim Meyering  <meyering@redhat.com>
21184
21185         strftime: fix a bug in yesterday's change
21186         * lib/strftime.c (add): Accommodate width's initial value of -1.
21187         Otherwise, nstrftime would copy uninitialized data into
21188         the result buffer.
21189
21190 2011-03-21  Jim Meyering  <meyering@redhat.com>
21191
21192         tests: add strftime-tests module
21193         * tests/test-strftime.c: New file.
21194         * modules/strftime-tests: New module.
21195
21196 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21197
21198         strftime: don't assume a byte count fits in 'int'
21199         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
21200         found this problem by static analysis, using gcc -Wstrict-overflow
21201         (GCC 4.5.2, x86-64).  This reported an optimization that depended
21202         on an integer overflow having undefined behavior, but it turns out
21203         that the argument is a size, which might not fit in 'int' anyway,
21204
21205 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21206
21207         stdio: don't require ignore_value around fwrite
21208
21209         This patch works around libc bug 11959
21210         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
21211         Without this patch, applications must often write
21212         ignore_value (fwrite (...)) even though the ignore_value is
21213         not helpful here.  It's common to write many objects, using
21214         fwrite/printf/etc., and then use ferror to detect output error.
21215
21216         I considered making this patch optional, but decided against it,
21217         because libc is obviously being inconsistent here: there is no
21218         reason libc should insist that user code must inspect fwrite
21219         return's value without also insisting that it inspect printf's,
21220         putchar's, etc.  If user code wants to have a strict style where
21221         all these functions' values are checked (so that ferror need not
21222         be checked), we could add support for that style in a new gnulib
21223         module, but in the meantime it's better to be consistent and to
21224         support common usage.
21225
21226         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
21227         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
21228         that we are compiling in checking mode, and if not C++, and
21229         if not already wrapping fwrite for some other reason.
21230         (fwrite): #define to rpl_fwrite if the latter is defined.
21231
21232 2011-03-20  Bruno Haible  <bruno@clisp.org>
21233
21234         verror: Fix compilation error introduced on 2011-02-13.
21235         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
21236         instead of __attribute__.
21237         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21238
21239 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21240             Bruno Haible  <bruno@clisp.org>
21241
21242         socklen: do not depend on sys_socket
21243         While trying to modify Emacs to use gnulib's socklen module,
21244         I discovered a circular dependency: socklen depends on sys_socket
21245         and vice versa.  Emacs can use socklen, but it does not need
21246         sys_socket because it has its own substitute for sys/socket.h.
21247         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
21248         gl_TYPE_SOCKLEN_T.
21249         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
21250         gl_PREREQ_SYS_H_SOCKET.
21251         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
21252         gl_PREREQ_SYS_H_SOCKET.
21253         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
21254         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
21255         * modules/socklen (Depends-on): Do not depend on sys_socket.
21256         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
21257
21258 2011-03-20  Jim Meyering  <meyering@redhat.com>
21259
21260         maint.mk: sort file names *after* new transformation
21261         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
21262         prefix would have led to an unwarranted failure in GNU parted.
21263         Sort after that transformation.
21264
21265 2011-03-19  Jim Meyering  <meyering@redhat.com>
21266
21267         maint.mk: fix po-file syntax-check rule
21268         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
21269         Patch by Bruno Haible.
21270
21271 2011-03-19  Bruno Haible  <bruno@clisp.org>
21272
21273         socklen: Update comment.
21274         * m4/socklen.m4: Update comment about platforms.
21275
21276 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
21277             Bruno Haible  <bruno@clisp.org>
21278
21279         inet_ntop, inet_pton: Simplify.
21280         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
21281         documented to provide socklen_t and we already depend on sys_socket.
21282         * modules/inet_pton (Depends-on): Likewise.
21283         * lib/arpa_inet.in.h: Adjust comment.
21284
21285 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
21286             Bruno Haible  <bruno@clisp.org>
21287
21288         netdb: Simplify.
21289         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
21290         documented to provide socklen_t and we already depend on sys_socket.
21291         * lib/netdb.in.h: Adjust comment.
21292
21293 2011-03-19  Bruno Haible  <bruno@clisp.org>
21294
21295         sys_socket, netdb: Document problem with socklen_t.
21296         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
21297         platforms.
21298         * doc/posix-headers/netdb.texi: Likewise.
21299
21300 2011-03-18  Eric Blake  <eblake@redhat.com>
21301
21302         maint.mk: let po check work in VPATH build
21303         * top/maint.mk (po_file): Allow cfg.mk override.
21304         (sc_po_check): Allow VPATH use.
21305         Reported by Jiri Denemark.
21306
21307 2011-03-16  Jim Meyering  <meyering@redhat.com>
21308
21309         maint.mk: allow fine-grained syntax-check exclusion via Make variables
21310         Before, you would have had to create one .x-sc_ file per rule in order
21311         to exempt offending files.  Now, you may instead use a Make variable --
21312         usually defined in cfg.mk -- whose name identifies the affected rule.
21313         * top/maint.mk (_sc_excl): Define.
21314         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
21315         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
21316
21317 2011-03-13  Bruno Haible  <bruno@clisp.org>
21318
21319         ignore-value tests: Avoid warnings.
21320         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
21321         empty for gcc < 3.4.
21322
21323 2011-03-13  Bruno Haible  <bruno@clisp.org>
21324
21325         passfd: Fix link error on Solaris.
21326         * modules/passfd (Description): Correct.
21327         (Depends-on): Add socketlib.
21328         (Link): New section.
21329         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
21330
21331 2011-03-13  Bruno Haible  <bruno@clisp.org>
21332
21333         passfd: Fix link error on AIX 5.2.
21334         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
21335
21336 2011-03-13  Bruno Haible  <bruno@clisp.org>
21337
21338         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
21339         * lib/sys_socket.in.h: Include <stddef.h>.
21340         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
21341         CMSG_FIRSTHDR. Remove unused variable.
21342
21343 2011-03-13  Bruno Haible  <bruno@clisp.org>
21344
21345         passfd: Fix compilation error on OpenBSD.
21346         * lib/passfd.c: Include <sys/uio.h>.
21347
21348 2011-03-13  Bruno Haible  <bruno@clisp.org>
21349
21350         passfd test: Fix warnings.
21351         * tests/test-passfd.c: Include <sys/wait.h>.
21352         (main): Fix typo.
21353
21354 2011-03-13  Bruno Haible  <bruno@clisp.org>
21355
21356         passfd module, part 4, tweaks.
21357         * tests/test-passfd.c: Reorder includes.
21358         (main): Fix perror and printf calls.
21359
21360 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21361
21362         passfd module, part 4.
21363         * modules/passfd-tests: New file.
21364         * tests/test-passfd.c: New file.
21365
21366 2011-03-13  Jim Meyering  <meyering@redhat.com>
21367
21368         Makefile: rely on GNU make; derive syntax-check rule names
21369         Rather than requiring that each sc_ rule be listed as a dependent
21370         of "check", use features of GNU make to derive the list.
21371         * Makefile (syntax-check-rules): Define.
21372         (check): Depend on the new variable, not the hard-coded list.
21373
21374 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
21375             Bruno Haible  <bruno@clisp.org>
21376
21377         passfd module, part 3.
21378         * lib/passfd.h (recvfd): Add a flags argument.
21379         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
21380         (recvfd): Add a flags argument.
21381         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
21382         exists.
21383         * modules/passfd (Depends-on): Add cloexec.
21384         Suggested by Eric Blake.
21385
21386 2011-03-13  Bruno Haible  <bruno@clisp.org>
21387
21388         passfd module, part 2, tweaks.
21389         * modules/passfd (Files): Reorder.
21390         (Depends-on): Remove errno.
21391         (Include): Remove <sys/socket.h>, <sys/un.h>.
21392         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
21393         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
21394         specification header. Include <sys/socket.h> always. Don't include
21395         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
21396         (sendfd): Clarify that it sets errno when it fails.
21397         (recvfd): Fix specification.
21398
21399 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21400
21401         passfd module, part 2.
21402         * modules/passfd: New file.
21403         * lib/passfd.h: New file.
21404         * lib/passfd.c: New file.
21405
21406 2011-03-12  Bruno Haible  <bruno@clisp.org>
21407
21408         wcswidth, mbswidth: Avoid integer overflow.
21409         * lib/wcswidth.c: Include <limits.h>.
21410         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
21411         * lib/mbswidth.c: Include <limits.h>.
21412         (mbsnwidth): Avoid 'int' overflow.
21413         Reported by Jim Meyering.
21414
21415 2011-03-12  Bruno Haible  <bruno@clisp.org>
21416
21417         futimens, utimensat: Avoid endless recursion on Solaris 10.
21418         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
21419         Solaris.
21420         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
21421         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
21422
21423 2011-03-11  Jim Meyering  <meyering@redhat.com>
21424
21425         maint.mk: relax a regexp to accommodate other formatting styles
21426         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
21427         between "ngettext" and the following "(".
21428
21429 2011-03-11  Pádraig Brady <P@draigBrady.com>
21430
21431         maint.mk: suppress a false positive warning
21432         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
21433         diagnostics are marked with ngettext.
21434
21435 2011-03-10  Eric Blake  <eblake@redhat.com>
21436
21437         wchar: add explicit dependencies, for Tru64
21438         * modules/mbmemcasecoll (Depends-on): Add wchar.
21439         * modules/mbtowc (Depends-on): Likewise.
21440         * modules/vasnprintf (Depends-on): Likewise.
21441         * modules/unistdio/u-printf-args (Depends-on): Likewise.
21442         * modules/wctomb (Depends-on): Likewise.
21443         Reported by Peter O'Gorman.
21444
21445 2011-03-08  Bruno Haible  <bruno@clisp.org>
21446
21447         passfd module, part 1, tweaks.
21448         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
21449         Improve indentation. Improve AC_MSG_CHECKING messages.
21450         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
21451         gl_SOCKET_FAMILIES.
21452
21453 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21454
21455         passfd module, part 1.
21456         * m4/afunix.m4: New file.
21457         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
21458         sockets.
21459
21460 2011-03-08  Bruno Haible  <bruno@clisp.org>
21461
21462         regex-quote: New API.
21463         * lib/regex-quote.h: Include <stdbool.h>.
21464         (struct regex_quote_spec): New type.
21465         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
21466         New declarations.
21467         (regex_quote_length, regex_quote_copy, regex_quote): Take a
21468         'const struct regex_quote_spec *' argument.
21469         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
21470         (pcre_special): New constant.
21471         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
21472         New functions.
21473         (regex_quote_length, regex_quote_copy, regex_quote): Take a
21474         'const struct regex_quote_spec *' argument.
21475         * modules/regex-quote (Depends-on): Add stdbool.
21476         * tests/test-regex-quote.c (check): Update for new API. Add test for
21477         anchored results.
21478         * NEWS: Mention the API change.
21479         Reported by Reuben Thomas and Eric Blake.
21480
21481 2011-03-06  Bruno Haible  <bruno@clisp.org>
21482
21483         regex-quote: Fix creation of POSIX extended regular expressions.
21484         * lib/regex-quote.c (ere_special): Add grouping and alternation
21485         operators.
21486
21487 2011-03-05  Bruno Haible  <bruno@clisp.org>
21488
21489         doc: Improve doc regarding autopoint vs. gnulib.
21490         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
21491         disable autopoint while running autoreconf.
21492         Suggested by Ralf Wildenhues.
21493
21494 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21495
21496         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
21497         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
21498
21499 2011-03-03  Bruce Korb  <bkorb@gnu.org>
21500
21501         parse-duration: remove xalloc.h dependency
21502         * lib/parse-duration.c (parse_period): handle NULL return from
21503         strdup instead of calling xstrdup().
21504         * modules/parse-duration: remove "xalloc" dependency
21505
21506 2011-03-03  Matthew Booth  <mbooth@redhat.com>
21507
21508         bootstrap: honor m4_base when running aclocal
21509         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
21510
21511 2011-03-02  Jim Meyering  <meyering@redhat.com>
21512
21513         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
21514         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
21515         on request from Matt Booth.
21516
21517 2011-03-01  Eric Blake  <eblake@redhat.com>
21518
21519         test-link: work on Hurd
21520         * tests/test-link.h (test_link): Hurd rejects linking directories
21521         with EISDIR instead of the POSIX-mandated EPERM.
21522
21523 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
21524
21525         stdio: simplify by moving files to printf-posix, sigpipe
21526         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
21527         since this symbol is needed only if printf is replaced.
21528         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
21529         Require gl_ASM_SYMBOL_PREFIX.
21530         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
21531         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
21532         (Depends-on): Add 'raise'.
21533         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
21534         * modules/stdio (Files): Remove lib/stdio-write.c,
21535         m4/asm-underscore.m4.
21536         (Depends-on): Remove 'raise'.
21537
21538         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
21539         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
21540         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
21541         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
21542
21543 2011-02-28  Bruno Haible  <bruno@clisp.org>
21544
21545         localcharset: Assume ANSI C behaviour of free().
21546         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
21547         calling free().
21548         Suggested by Simon Josefsson <simon@josefsson.org>.
21549
21550 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
21551             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
21552             Bruno Haible  <bruno@clisp.org>  (tiny change)
21553
21554         On Cygwin, use /proc file system instead of win32 API.
21555         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
21556         Win32 file names.
21557         (DllMain): Simplify by removing Cygwin specific code.
21558         (find_shared_library_fullname): Use Linux specific implementation also
21559         for Cygwin.
21560         (get_shared_library_fullname): Update accordingly.
21561         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
21562         Win32 file names.
21563         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
21564         Cygwin specific code.
21565
21566 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
21567             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
21568
21569         Fix OpenMP flag detection for various Fortran compilers.
21570         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
21571         OpenMP-conditional compilation construct, to force compile
21572         failure with missing OpenMP flag.
21573         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
21574
21575 2011-02-25  Eric Blake  <eblake@redhat.com>
21576
21577         strstr: expand test coverage
21578         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
21579         compilation.
21580         * tests/test-memmem.c (main): Duplicate tests.
21581         * tests/test-strcasestr.c (main): Likewise.
21582         * tests/test-c-strcasestr.c (main): Likewise.
21583
21584 2011-02-25  Jim Meyering  <meyering@redhat.com>
21585
21586         maint.mk: detect missing-NL-at-EOF, too
21587         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
21588         it also detects when a file lacks a newline at EOF.
21589         (require_exactly_one_NL_at_EOF_): Renamed from
21590         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
21591         since people may well have .x-sc_... file names tied to the
21592         existing name.  Suggested by Eric Blake.
21593
21594 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
21595
21596         dirname: move m4/dos.m4 functionality into lib/dosname.h
21597
21598         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
21599         extracts symbols from it, puts them into config.h; but it's much
21600         easier to use the symbols directly.  filename.h already does this,
21601         but it disagrees with dos.m4 in some respects.  This patch
21602         introduces a different include file dosname.h that packages up
21603         dos.m4, and then later we can work on merging filename.h and
21604         dosname.h.  Applications that need only the easy-to-configure
21605         symbols should consider including dosname.h rather than dirname.h.
21606         * NEWS: Mention incompatible changes.
21607         * m4/dos.m4: Remove.
21608         * lib/dosname.h, modules/dosname: New files.
21609         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
21610         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
21611         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
21612         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
21613         Include dosname.h, not dirname.h.
21614         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
21615         Include dosname.h, for definitions of symbols like ISSLASH
21616         that used to be in config.h.
21617         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
21618         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
21619         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
21620         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
21621         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
21622         * modules/rmdir (Files): Likewise.
21623         * modules/stat (Files): Likewise.
21624         * modules/unlink (Files): Likewise.
21625         * modules/dirname-lgpl (Depends-on): Add dosname.
21626         * modules/lstat (Depends-on): Likewise.
21627         * modules/openat (Depends-on): Likewise.
21628         * modules/rmdir (Depends-on): Likewise.
21629         * modules/savewd (Depends-on): Likewise.
21630         * modules/stat (Depends-on): Likewise.
21631         * modules/unlink (Depends-on): Likewise.
21632         * modules/openat (Depends-on): Remove dirname-lgpl.
21633         * modules/savewd (Depends-on): Likewise.
21634         * tests/test-dirname.c: Do not use removed symbols like
21635         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
21636         the remaining symbols, e.g., ISSLASH ('\\').
21637
21638 2011-02-25  Eric Blake  <eblake@redhat.com>
21639
21640         strstr: revert patches that introduced bug and pessimization
21641         * lib/str-two-way.h: Add another reference.
21642         (two_way_short_needle, two_way_long_needle): Revert changes from
21643         2011-02-24; they pessimize search speed.
21644         (critical_factorization): Partially revert changes from
21645         2010-06-22; they violate the requirement that the left half of the
21646         needle be smaller than the period of the needle.
21647
21648 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
21649
21650         filenamecat: remove unnecessary dependency on dirname-lgpl
21651         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
21652         is no direct dependency, just an indirect one via filenamecat-lgpl.
21653
21654         remove: remove unnecessary use of m4/dos.m4
21655         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
21656         * modules/remove (FILES): Remove m4/dos.m4.
21657
21658         * lib/openat-proc.c: Don't include dirname.h; not needed.
21659
21660         backupfile: remove unnecessary use of m4/dos.m4
21661         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
21662         of its symbols are used by the backupfile code.  backupfile.c does
21663         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
21664         for the rare case of programs that want all their backup file
21665         names to live within 8+3 limits, and dos.m4 doesn't address that.
21666         * modules/backupfile (Files): Remove m4/dos.m4.
21667
21668 2011-02-24  Jim Meyering  <meyering@redhat.com>
21669
21670         strstr: fix a bug whereby strstr would mistakenly return NULL
21671         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
21672         in period calculation.
21673         (two_way_long_needle): Likewise.
21674         The original problem was reported by Mike Stump in
21675         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
21676         Ralf Wildenhues provided the short needle and haystack.
21677         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
21678         Add a more involved test to trigger the bug in two_way_long_needle.
21679
21680 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
21681
21682         gnulib-tool: remove use of bold display in help screen
21683         * gnulib-tool (func_usage): Do not use bold display anymore in the
21684         help screen.  That was just meant to be a temporary emphasis for a
21685         backward-incompatible change.
21686
21687 2011-02-23  Bruno Haible  <bruno@clisp.org>
21688
21689         Fix misindentation of preprocessor directives.
21690         * lib/argp-namefrob.h: Reindent preprocessor directives.
21691         * lib/getopt_int.h (struct _getopt_data): Likewise.
21692         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
21693         * lib/vasnprintf.c (decode_long_double): Likewise.
21694         * tests/test-argmatch.c: Insert blank lines, for clarity.
21695         * tests/test-exclude.c: Likewise.
21696
21697 2011-02-22  Bruno Haible  <bruno@clisp.org>
21698
21699         ioctl: Fix for MacOS X in 64-bit mode.
21700         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
21701         value.
21702         Suggested by Eric Blake.
21703         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
21704
21705 2011-02-22  Jim Meyering  <meyering@redhat.com>
21706
21707         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
21708         * Makefile (sc_cpp_indent_check): Don't limit the check to files
21709         in lib/.
21710
21711 2011-02-22  Eric Blake  <eblake@redhat.com>
21712
21713         maint: avoid any CDPATH issue
21714         * Makefile (sc_cpp_indent_check): Anchor cd argument.
21715
21716         maint: adjust cpp indentation for my modules, as well
21717         * Makefile (sc_cpp_indent_check): Add my name.
21718         * lib/fbufmode.c: Filter through cppi.
21719         * lib/fpurge.c: Likewise.
21720         * lib/freadable.c: Likewise.
21721         * lib/freading.c: Likewise.
21722         * lib/fwritable.c: Likewise.
21723         * lib/fwriting.c: Likewise.
21724         * lib/sigaction.c: Likewise.
21725
21726 2011-02-22  Jim Meyering  <meyering@redhat.com>
21727
21728         maint: adjust cpp indentation to reflect nesting depth
21729         I.e., in a block of code that begins with an unnested "#if",
21730         put one space between the "#" in column 1 and following token.
21731         For example,
21732         -#include <sys/vfs.h>
21733         +# include <sys/vfs.h>
21734         Do this only in .c files that are part of a module I maintain.
21735         * lib/linkat.c: Filter through cppi.
21736         * lib/nanosleep.c: Likewise.
21737         * lib/openat.c: Likewise.
21738         * lib/openat-die.c: Likewise.
21739         * lib/dup3.c: Likewise.
21740         * lib/fchownat.c: Likewise.
21741         * lib/flock.c: Likewise.
21742         * lib/fsync.c: Likewise.
21743         * lib/fts.c: Likewise.
21744         * lib/getpass.c: Likewise.
21745         * lib/gettimeofday.c: Likewise.
21746         * lib/userspec.c: Likewise.
21747         * Makefile (sc_cpp_indent_check): New rule, to check this.
21748
21749 2011-02-22  Bruno Haible  <bruno@clisp.org>
21750
21751         New module 'wctomb'.
21752         * lib/stdlib.in.h (wctomb): New declaration.
21753         * lib/wctomb.c: New file.
21754         * lib/wctomb-impl.h: New file.
21755         * m4/wctomb.m4: New file.
21756         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
21757         REPLACE_WCTOMB.
21758         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
21759         REPLACE_WCTOMB.
21760         * modules/wctomb: New file.
21761         * tests/test-stdlib-c++.cc: Test signature of wctomb.
21762         * doc/posix-functions/wctomb.texi: Mention the new module.
21763         * modules/wctob (Depends-on): Add wctomb.
21764
21765 2011-02-22  Bruno Haible  <bruno@clisp.org>
21766
21767         New module 'mbtowc'.
21768         * lib/stdlib.in.h (mbtowc): New declaration.
21769         * lib/mbtowc.c: New file.
21770         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
21771         * m4/mbtowc.m4: New file.
21772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
21773         REPLACE_MBTOWC.
21774         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
21775         REPLACE_MBTOWC.
21776         * modules/mbtowc: New file.
21777         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
21778         * doc/posix-functions/mbtowc.texi: Mention the new module.
21779         * modules/btowc (Depends-on): Add mbtowc.
21780
21781 2011-02-22  Bruno Haible  <bruno@clisp.org>
21782
21783         wcrtomb: Add more tests for native Windows platforms.
21784         * tests/test-wcrtomb-w32-1.sh: New file.
21785         * tests/test-wcrtomb-w32-2.sh: New file.
21786         * tests/test-wcrtomb-w32-3.sh: New file.
21787         * tests/test-wcrtomb-w32-4.sh: New file.
21788         * tests/test-wcrtomb-w32-5.sh: New file.
21789         * tests/test-wcrtomb-w32.c: New file.
21790         * modules/wcrtomb-tests (Files): Add them.
21791         (Makefile.am): Arrange to run these tests.
21792         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
21793         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
21794
21795 2011-02-20  Bruno Haible  <bruno@clisp.org>
21796
21797         wcrtomb: Enhance test.
21798         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
21799
21800 2011-02-20  Bruno Haible  <bruno@clisp.org>
21801
21802         mbrtowc: Tiny optimization.
21803         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
21804
21805 2011-02-20  Jim Meyering  <meyering@redhat.com>
21806
21807         test-exclude.c: remove unmatched #endif
21808         * tests/test-exclude.c: Remove stray #endif, left over from
21809         the change of a week ago.
21810
21811 2011-02-19  Jim Meyering  <meyering@redhat.com>
21812
21813         git-version-gen: skip "-dirty" check when appropriate
21814         * build-aux/git-version-gen: Don't run any git commands when the
21815         version string comes from .tarball-version.  Prior to this, we
21816         would run git update-index --refresh even from a just-unpacked
21817         tarball directory, and that could affect a .git/ directory in a
21818         parent of the build directory.  Reported by Mike Frysinger.
21819
21820 2011-02-19  Bruno Haible  <bruno@clisp.org>
21821
21822         unictype/property-byname: Reduce the size of the 'data' segment.
21823         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
21824
21825 2011-02-19  Bruno Haible  <bruno@clisp.org>
21826
21827         unictype/scripts: Reduce the size of the 'data' segment.
21828         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
21829         '%pic'.
21830         * lib/unictype/scripts_byname.gperf: Regenerated.
21831
21832 2011-02-19  Bruno Haible  <bruno@clisp.org>
21833
21834         stdint: Update documentation.
21835         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
21836
21837 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
21838
21839         stdint: omit redundant check for wchar.h
21840         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
21841         always tests whether wchar.h exists, so remove the now-redundant test.
21842
21843 2011-02-18  Bruno Haible  <bruno@clisp.org>
21844
21845         stdint: Cut dependency to module 'wchar'.
21846         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
21847         include the necessary prerequisites.
21848         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
21849         * modules/stdint (Depends-on): Remove wchar.
21850         (Makefile.am): Substitute HAVE_WCHAR_H.
21851         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
21852
21853 2011-02-18  Eric Blake  <eblake@redhat.com>
21854
21855         longlong: skip, rather than fail, on cross-compilation
21856         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
21857         when cross-compiling; regression from 2011-02-16.
21858
21859 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21860
21861         * NEWS: Mention 2011-02-08 change to stdlib.
21862
21863 2011-02-17  Bruno Haible  <bruno@clisp.org>
21864
21865         getloadavg: Add comments about platforms.
21866         * m4/getloadavg.m4: Add comment.
21867         * lib/getloadavg.c: Likewise.
21868
21869 2011-02-17  Bruno Haible  <bruno@clisp.org>
21870
21871         getloadavg: Fix link error on Solaris 2.6.
21872         * modules/getloadavg (Link): New section.
21873         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
21874         linking test-getloadavg.
21875         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
21876         getloadavg.
21877
21878 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21879
21880         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
21881         It was 'int', but this doesn't match the IRIX 6.5 manual.
21882         Suggested by Bruno Haible in
21883         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
21884
21885 2011-02-17  Bruno Haible  <bruno@clisp.org>
21886
21887         havelib: Fix comments.
21888         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
21889         change.
21890
21891 2011-02-17  Bruno Haible  <bruno@clisp.org>
21892
21893         havelib: Update config.rpath.
21894         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
21895
21896 2011-02-17  Bruno Haible  <bruno@clisp.org>
21897
21898         getloadavg test: Add some plausibility checks.
21899         * tests/test-getloadavg.c (check_avg): Print a warning when the value
21900         is improbable.
21901
21902 2011-02-16  Eric Blake  <eblake@redhat.com>
21903
21904         maintainer-makefile: make syntax-check a no-op from tarballs
21905         * top/maint.mk (no-vc-detected): New rule.
21906         (local-checks-available): Use it to avoid hanging if someone tries
21907         'make syntax-check' from a tarball.  Also append to any non-syntax
21908         checks already defined in cfg.mk.
21909
21910 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21911
21912         longlong: tune, particularly for common case of c99
21913
21914         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
21915         or running anything if c99, or if unsigned long long int does not
21916         work.  In either case, we know the answer without further tests.
21917         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
21918         it at most once, and use its results for both long long int and
21919         unsigned long long int.  This is more likely to be efficient in
21920         the common case where the program wants to check for both long
21921         long int and unsigned long long int.
21922         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
21923         since the answer is already known.
21924
21925 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
21926
21927         getloadavg: set errno
21928         * lib/getloadavg.c: Set errno when returning -1.  If no other
21929         error number looks appropriate, set it to ENOSYS if the getloadavg
21930         looks like it can't possibly ever work, ENOTSUP otherwise.
21931         Suggested by Bruno Haible in
21932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
21933
21934         getloadavg: trim unused parts and speed up 'configure'
21935         * NEWS: Document this.
21936         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
21937         always compiled if getloadavg is absent.
21938         Move test code to ...
21939         * tests/test-getloadavg.c: New file, containing previous
21940         contents of test from lib/getloadavg.c.  It also contains
21941         suggestions by Bruno Haible in
21942         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
21943         * modules/getloadavg-tests: New file.
21944         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
21945         Do tests in the same order as they're needed for getloadavg.c.
21946         Omit setgid-related tests that generate symbols KMEM_GROUP,
21947         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
21948         Do only the tests that are needed to see whether the system has
21949         getloadavg, moving the other tests into ...
21950         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
21951         NLIST_NAME_UNION; nobody should be using it.  Do not define
21952         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
21953         relevant, as the user of this module shouldn't care how getloadavg
21954         is implemented.
21955
21956         getloadavg: omit unused var
21957         * lib/getloadavg.c (getloadavg): Omit unused local variable.
21958
21959 2011-02-15  Jim Meyering  <meyering@redhat.com>
21960
21961         doc: update users.txt
21962         * users.txt: Update iwhd's URL.
21963
21964 2011-02-13  Bruno Haible  <bruno@clisp.org>
21965
21966         Consistent macro naming for macros that use GCC __attribute__.
21967         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
21968         _ATTRIBUTE_NONNULL_.
21969         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
21970         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
21971         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
21972         ATTRIBUTE_DEPRECATED.
21973         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
21974         ATTRIBUTE_NORETURN.
21975         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21976         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21977         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21978         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21979         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
21980         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
21981         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
21982         ATTRIBUTE_SENTINEL.
21983         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
21984         ATTRIBUTE_RETURN_CHECK.
21985         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
21986         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
21987         ATTRIBUTE_NORETURN.
21988         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
21989         Reported by Paul Eggert.
21990
21991 2011-02-13  Bruno Haible  <bruno@clisp.org>
21992
21993         Don't interfere with a program's definition of __attribute__.
21994         * lib/argp.h (__attribute__): Remove definition.
21995         (_GL_ATTRIBUTE_FORMAT): New macro.
21996         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
21997         * lib/argp-fmtstream.h (__attribute__): Remove definition.
21998         (_GL_ATTRIBUTE_FORMAT): New macro.
21999         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
22000         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
22001         GCC 3 or newer.
22002         * lib/error.h (__attribute__): Remove definition.
22003         (_GL_ATTRIBUTE_FORMAT): New macro.
22004         (error, error_at_line): Use it.
22005         * lib/hash.h (__attribute__): Remove definition.
22006         (ATTRIBUTE_WUR): Update definition. Define always.
22007         * lib/openat.h (__attribute__): Remove definition.
22008         (ATTRIBUTE_NORETURN): Update definition. Define always.
22009         * lib/sigpipe-die.h (__attribute__): Remove definition.
22010         (ATTRIBUTE_NORETURN): Update definition. Define always.
22011         * lib/vasnprintf.h (__attribute__): Remove definition.
22012         (_GL_ATTRIBUTE_FORMAT): New macro.
22013         (asnprintf, vasnprintf): Use it.
22014         * lib/xalloc.h (__attribute__): Remove definition.
22015         (ATTRIBUTE_NORETURN): Update definition. Define always.
22016         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
22017         * lib/xmemdup0.h (__attribute__): Remove definition.
22018         (ATTRIBUTE_NORETURN): Update definition. Define always.
22019         * lib/xprintf.h (__attribute__): Remove definition.
22020         (_GL_ATTRIBUTE_FORMAT): New macro.
22021         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
22022         * lib/xstrtol.h (__attribute__): Remove definition.
22023         (ATTRIBUTE_NORETURN): Update definition. Define always.
22024         * lib/xvasprintf.h (__attribute__): Remove definition.
22025         (_GL_ATTRIBUTE_FORMAT): New macro.
22026         (xasprintf, xvasprintf): Use it.
22027         * tests/test-argmatch.c (__attribute__): Remove definition.
22028         (ATTRIBUTE_NORETURN): Update definition. Define always.
22029         * tests/test-exclude.c (__attribute__): Remove definition.
22030         (ATTRIBUTE_NORETURN): Update definition. Define always.
22031         Reported by Paul Eggert.
22032
22033 2011-02-13  Bruno Haible  <bruno@clisp.org>
22034
22035         mbrtowc: Add more tests for native Windows platforms.
22036         * tests/test-mbrtowc-w32-1.sh: New file.
22037         * tests/test-mbrtowc-w32-2.sh: New file.
22038         * tests/test-mbrtowc-w32-3.sh: New file.
22039         * tests/test-mbrtowc-w32-4.sh: New file.
22040         * tests/test-mbrtowc-w32-5.sh: New file.
22041         * tests/test-mbrtowc-w32.c: New file.
22042         * modules/mbrtowc-tests (Files): Add them.
22043         (Makefile.am): Arrange to run these tests.
22044         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
22045         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
22046
22047 2011-02-13  Bruno Haible  <bruno@clisp.org>
22048
22049         mbrtowc: Work around native Windows bug.
22050         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
22051         guess when no suitable locale for testing was found.
22052         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
22053
22054 2011-02-13  Bruno Haible  <bruno@clisp.org>
22055
22056         mbsinit: Work around mingw bug.
22057         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
22058         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
22059         Windows.
22060         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
22061
22062 2011-02-13  Bruno Haible  <bruno@clisp.org>
22063
22064         mbsinit: Don't crash for a NULL argument.
22065         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
22066         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
22067
22068 2011-02-13  Bruno Haible  <bruno@clisp.org>
22069
22070         Don't interfere with a program's definition of __attribute__.
22071         * lib/stdio.in.h (__attribute__): Remove definition.
22072         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
22073         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
22074         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
22075         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
22076         * lib/string.in.h (__attribute__): Remove definition.
22077         Reported by Paul Eggert.
22078
22079 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
22080
22081         stdlib: don't get in the way of non-GCC __attribute__
22082         See thread starting at
22083         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
22084         Revert previous stdlib change, installing the following instead:
22085         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
22086         to get in the way of a non-GCC compiler that supports __attribute__.
22087         (_GL_ATTRIBUTE_RETURN): New macro.
22088         (_Exit): Use it instead of __attribute__.
22089
22090 2011-02-12  Bruno Haible  <bruno@clisp.org>
22091
22092         quotearg test: Avoid test failure on mingw.
22093         * tests/test-quotearg.sh: Convert the locale identifier from native
22094         Windows syntax to Unix syntax.
22095
22096 2011-02-12  Bruno Haible  <bruno@clisp.org>
22097
22098         setlocale: Prefer gnulib's override over libintl's override.
22099         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
22100         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
22101         GNULIB_defined_setlocale is set.
22102
22103 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
22104
22105         stdlib: support non-GCC __attribute__
22106
22107         Fix a serious and tricky problem encountered when attempting to
22108         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
22109         5.5, but it crashed due to memory corruption on Solaris 10 with
22110         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
22111         bits that are otherwise zero.  This tagging is optional inside
22112         Emacs but is preferred and is used when __attribute__ ((__aligned
22113         (8))) works, as it does with both recent-enough GCC and with Sun C
22114         5.11.  However, Sun C 5.11 is not GCC and does not #define
22115         __GNUC__ and __GNUC_MINOR__.
22116
22117         When I added the getloadavg module to Emacs, it brought in
22118         stdlib.in.h, which contained this fragment:
22119
22120            #ifndef __attribute__
22121            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
22122            #  define __attribute__(Spec)   /* empty */
22123            # endif
22124            #endif
22125
22126         When files that include <stdlib.h> were compiled with Sun C 5.11,
22127         the above code disabled __attribute__ ((__aligned (8))), which
22128         caused variables to not be properly aligned, which eventually led
22129         to the pointer corruption mentioned above.  (This was a bit hard
22130         to diagnose, unfortunately.)
22131
22132         Several "#define __attribute__(X) /* empty */" code snippets need
22133         to be eradicated from Gnulib to work with non-GCC compilers that
22134         support __attribute__.  The Autoconf way to do this is to test for
22135         each kind of attribute that we want support for, and selectively
22136         enable that in source code.
22137
22138         Fix this problem just for stdlib.h, by adding a test for the
22139         __noreturn__ attribute, and change stdlib.in.h to use that test
22140         when needed.  This technique can be easily generalized to the
22141         other *.in.h files and attributes, and a similar technique can be
22142         used for *.h and *.c files.  This patch is enough to solve the
22143         problem for Emacs + getloadavg, and I thought I'd publish it for
22144         feedback before undertaking further, similar fixes in other
22145         modules.
22146
22147         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
22148         because it's not needed for stdlib.h.  It merely substitutes the
22149         value directly into stdlib.h.  We may well need to #define it, or
22150         similar symbols, for other modules, but it's nice to also have an
22151         option to not #define it for applications like Emacs that do not
22152         need it.
22153
22154         * lib/stdlib.in.h (__attribute__): Do not #define.
22155         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
22156         be defined only if the _Exit module is also used.
22157         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
22158         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
22159         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
22160         platforms.
22161         * modules/_Exit (Files): Add m4/attribute.m4.
22162         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
22163         * m4/attribute.m4: New file.
22164
22165 2011-02-12  Bruno Haible  <bruno@clisp.org>
22166
22167         wcsrtombs: Work around bug on native Windows.
22168         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
22169         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
22170         instead of len.
22171         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
22172
22173 2011-02-12  Bruno Haible  <bruno@clisp.org>
22174
22175         mbsrtowcs: Work around bug on native Windows.
22176         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
22177         against mingw bug.
22178         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
22179
22180 2011-02-12  Bruno Haible  <bruno@clisp.org>
22181
22182         Avoid setlocale bugs in tests.
22183         * modules/btowc (Dependencies): Add setlocale.
22184         * modules/c-strcase (Dependencies): Likewise.
22185         * modules/mbmemcasecmp (Dependencies): Likewise.
22186         * modules/mbmemcasecoll (Dependencies): Likewise.
22187         * modules/mbrtowc (Dependencies): Likewise.
22188         * modules/mbscasecmp (Dependencies): Likewise.
22189         * modules/mbscasestr (Dependencies): Likewise.
22190         * modules/mbschr (Dependencies): Likewise.
22191         * modules/mbscspn (Dependencies): Likewise.
22192         * modules/mbsinit (Dependencies): Likewise.
22193         * modules/mbsncasecmp (Dependencies): Likewise.
22194         * modules/mbsnrtowcs (Dependencies): Likewise.
22195         * modules/mbspbrk (Dependencies): Likewise.
22196         * modules/mbspcasecmp (Dependencies): Likewise.
22197         * modules/mbsrchr (Dependencies): Likewise.
22198         * modules/mbsrtowcs (Dependencies): Likewise.
22199         * modules/mbsspn (Dependencies): Likewise.
22200         * modules/mbsstr (Dependencies): Likewise.
22201         * modules/nl_langinfo (Dependencies): Likewise.
22202         * modules/quotearg (Dependencies): Likewise.
22203         * modules/unicase/locale-language (Dependencies): Likewise.
22204         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
22205         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
22206         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
22207         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
22208         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
22209         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
22210         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
22211         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
22212         * modules/vasnprintf-posix (Dependencies): Likewise.
22213         * modules/wcrtomb (Dependencies): Likewise.
22214         * modules/wcsnrtombs (Dependencies): Likewise.
22215         * modules/wcsrtombs (Dependencies): Likewise.
22216
22217 2011-02-12  Bruno Haible  <bruno@clisp.org>
22218
22219         setlocale: Workaround native Windows bug.
22220         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
22221         succeeds but sets LC_CTYPE to "C", report a failure.
22222         * tests/test-setlocale2.sh: New file.
22223         * tests/test-setlocale2.c: New file.
22224         * modules/setlocale-tests (Files): Add the new files.
22225         (Makefile.am): Enable test-setlocale2.sh test.
22226         * doc/posix-functions/setlocale.texi: Mention workaround.
22227
22228 2011-02-11  Bruno Haible  <bruno@clisp.org>
22229
22230         Tests for module 'setlocale'.
22231         * modules/setlocale-tests: New file.
22232         * tests/test-setlocale1.sh: New file.
22233         * tests/test-setlocale1.c: New file.
22234
22235         New module 'setlocale'.
22236         * lib/locale.in.h (setlocale): New declaration.
22237         * lib/setlocale.c: New file, based on
22238         gettext/gettext-runtime/intl/setlocale.c.
22239         * m4/setlocale.m4: New file.
22240         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
22241         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
22242         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
22243         REPLACE_SETLOCALE.
22244         * modules/setlocale: New file.
22245         * tests/test-locale-c++.cc: Test the declaration of setlocale.
22246         * doc/posix-functions/setlocale.texi: Mention the new module.
22247
22248 2011-02-11  Bruno Haible  <bruno@clisp.org>
22249
22250         Prepare for locale dependent tests on mingw.
22251         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
22252         because it has the wrong locale encoding.
22253         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
22254         French_France.1252 instead of "fr".
22255         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
22256         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
22257         because it has the wrong locale encoding.
22258         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
22259         native Windows, try Turkish_Turkey.65001.
22260         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
22261         Chinese_China.54936.
22262
22263         Prepare for locale dependent tests on mingw.
22264         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
22265         differently.
22266         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
22267         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
22268         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22269         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22270
22271 2011-02-11  Eric Blake  <eblake@redhat.com>
22272
22273         strptime: avoid compiler warnings
22274         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
22275         compiler warnings about dead code.
22276         Reported by Daniel P. Berrange.
22277
22278 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
22279
22280         doc: update users.txt
22281         * users.txt: Add rcs.
22282
22283 2011-02-10  John W. Eaton  <jwe@gnu.org>
22284
22285         doc: update users.txt
22286         * users.txt: Add octave.
22287
22288 2011-02-10  Jim Meyering  <meyering@redhat.com>
22289
22290         doc: update users.txt
22291         * users.txt: Add iwhd.
22292
22293 2011-02-09  Bruno Haible  <bruno@clisp.org>
22294
22295         gnulib-tool: Make copyright notice adjustment more robust.
22296         * gnulib-tool (func_import): In sed_transform_main_lib_file,
22297         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
22298         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
22299         License".
22300         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
22301
22302 2011-02-06  Bruno Haible  <bruno@clisp.org>
22303
22304         New module 'towctrans'.
22305         * modules/towctrans: New file.
22306         * lib/wctype.in.h (towctrans): New declaration.
22307         * lib/towctrans.c: New file.
22308         * lib/towctrans-impl.h: New file.
22309         * m4/towctrans.m4: New file.
22310         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
22311         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
22312         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
22313         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
22314         * doc/posix-functions/towctrans.texi: Mention the new module.
22315
22316 2011-02-06  Bruno Haible  <bruno@clisp.org>
22317
22318         New module 'wctrans'.
22319         * modules/wctrans: New file.
22320         * lib/wctype.in.h (wctrans): New declaration.
22321         * lib/wctrans.c: New file.
22322         * lib/wctrans-impl.h: New file.
22323         * m4/wctrans.m4: New file.
22324         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
22325         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
22326         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
22327         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
22328         * doc/posix-functions/wctrans.texi: Mention the new module.
22329
22330 2011-02-06  Bruno Haible  <bruno@clisp.org>
22331
22332         New module 'iswctype'.
22333         * modules/iswctype: New file.
22334         * lib/wctype.in.h (iswctype): New declaration.
22335         * lib/iswctype.c: New file.
22336         * lib/iswctype-impl.h: New file.
22337         * m4/iswctype.m4: New file.
22338         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
22339         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
22340         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
22341         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
22342         * doc/posix-functions/iswctype.texi: Mention the new module and the
22343         HP-UX 11.00 problem.
22344
22345 2011-02-06  Bruno Haible  <bruno@clisp.org>
22346
22347         New module 'wctype'.
22348         * modules/wctype: Change to represent the wctype() substitute.
22349         * lib/wctype.in.h (wctype): New declaration.
22350         * lib/wctype.c: New file.
22351         * lib/wctype-impl.h: New file.
22352         * m4/wctype.m4: New file.
22353         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
22354         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
22355         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
22356         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
22357         * doc/posix-functions/wctype.texi: Mention the new module and the
22358         HP-UX 11.00 problem.
22359
22360 2011-02-06  Bruno Haible  <bruno@clisp.org>
22361
22362         wctype-h: Ensure wctype_t and wctrans_t are defined.
22363         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
22364         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
22365         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
22366         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
22367         HAVE_WCTRANS_T.
22368         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
22369
22370 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
22371
22372         flock: fix license typo
22373
22374         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
22375         omitted.
22376
22377 2011-02-08  Bruno Haible  <bruno@clisp.org>
22378
22379         Split large sed scripts, for HP-UX sed.
22380         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
22381         to avoid HP-UX limit of 99 commands, in the near future.
22382         * modules/stdlib (Makefile.am): Likewise.
22383         * modules/unistd (Makefile.am): Likewise.
22384         * modules/wchar (Makefile.am): Likewise.
22385         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22386         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
22387         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
22388
22389 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
22390             Bruno Haible  <bruno@clisp.org>
22391
22392         stdlib: improve random_r modularization
22393         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
22394         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
22395         you also need the random_r module to get this material right.
22396         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
22397         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
22398         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
22399
22400 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
22401
22402         stdlib: don't depend on stdint
22403         * lib/stdlib.in.h: Don't include <stdint.h> merely because
22404         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
22405         be independent of whether stdint.h is needed.
22406         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
22407         here, instead of ...
22408         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
22409         struct random_data should be using the random_r module, not just
22410         the stdlib module (which wouldn't make sense: what package needs
22411         just struct random_data without also needing random_r?).
22412         * modules/stdlib (Depends-on): Remove stdint.
22413
22414         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
22415         See the thread rooted at
22416         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
22417         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
22418         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
22419         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
22420         __VMS)); previously it was always included (via fcntl--.h).
22421         (getloadavg): Do not use c_strtod.  Instead, approximate it by
22422         hand; this is good enough for load averages.  Also, do not use
22423         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
22424         flags directly if available and don't bother otherwise.  (Packages
22425         that need the extra reliability should use the modules that define
22426         these flags on older platforms that lack them.)
22427         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
22428         fcntl-safer.
22429
22430 2011-02-08  Jim Meyering  <meyering@redhat.com>
22431
22432         di-set.h, ino-map.h: add multiple-inclusion guard
22433         Technically, the guard is required only for ino-map.h, due to its
22434         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
22435         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
22436         * lib/ino-map.h: Likewise.
22437
22438 2011-02-06  Bruno Haible  <bruno@clisp.org>
22439
22440         iswblank: Ensure declaration on glibc systems.
22441         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
22442         * modules/iswblank (Dependencies): Add 'extensions'.
22443         * doc/posix-functions/iswblank.texi: Document the glibc problem.
22444
22445 2011-02-06  Bruno Haible  <bruno@clisp.org>
22446
22447         New module 'iswblank'.
22448         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
22449         * modules/iswblank: New file.
22450         * modules/wctype-h (Files): Remove lib/iswblank.c.
22451         (Makefile.am): Substitute GNULIB_ISWBLANK.
22452         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
22453         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
22454         (gl_WCTYPE_H_DEFAULTS): New macro.
22455         (gl_WCTYPE_H): Require it. Remove iswblank related code.
22456         * modules/iswblank-tests: New file.
22457         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
22458         * tests/test-wctype-h.c (main): Remove iswblank tests.
22459         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
22460         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
22461         of 'wctype-h'.
22462         * NEWS: Mention the change.
22463         * modules/mbchar (Depends-on): Add iswblank.
22464
22465 2011-02-08  Bruno Haible  <bruno@clisp.org>
22466
22467         di-set tests: Refactor.
22468         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
22469         unnecessary includes.
22470         (ASSERT): Remove macro.
22471         (main): Make C90 compliant by avoiding variable declaration after
22472         statement.
22473         * modules/di-set-tests (Files): Add tests/macros.h.
22474
22475 2011-02-08  Bruno Haible  <bruno@clisp.org>
22476
22477         ino-map tests: Refactor.
22478         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
22479         unnecessary includes.
22480         (ASSERT): Remove macro.
22481         (main): Make C90 compliant by avoiding variable declaration after
22482         statement.
22483         * modules/ino-map-tests (Files): Add tests/macros.h.
22484
22485 2011-02-08  Jim Meyering  <meyering@redhat.com>
22486
22487         di-set: add "const" to a cast
22488         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
22489         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
22490
22491 2011-02-06  Bruno Haible  <bruno@clisp.org>
22492
22493         Rename module 'wctype' to 'wctype-h'.
22494         * modules/wctype-h: Renamed from modules/wctype.
22495         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
22496         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
22497         (Files, Depends-on, Makefile.am): Update.
22498         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
22499         (Files, Makefile.am): Update.
22500         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
22501         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
22502         * doc/posix-headers/wctype.texi: Update.
22503         * doc/posix-functions/iswalnum.texi: Update.
22504         * doc/posix-functions/iswalpha.texi: Update.
22505         * doc/posix-functions/iswblank.texi: Update.
22506         * doc/posix-functions/iswcntrl.texi: Update.
22507         * doc/posix-functions/iswdigit.texi: Update.
22508         * doc/posix-functions/iswgraph.texi: Update.
22509         * doc/posix-functions/iswlower.texi: Update.
22510         * doc/posix-functions/iswprint.texi: Update.
22511         * doc/posix-functions/iswpunct.texi: Update.
22512         * doc/posix-functions/iswspace.texi: Update.
22513         * doc/posix-functions/iswupper.texi: Update.
22514         * doc/posix-functions/iswxdigit.texi: Update.
22515         * doc/posix-functions/towlower.texi: Update.
22516         * doc/posix-functions/towupper.texi: Update.
22517         * NEWS: Mention the change.
22518         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
22519         * modules/mbchar (Dependencies): Likewise.
22520         * modules/mbswidth (Dependencies): Likewise.
22521         * modules/quotearg (Dependencies): Likewise.
22522         * modules/regex (Dependencies): Likewise.
22523         * modules/wcscasecmp (Dependencies): Likewise.
22524         * modules/wcsncasecmp (Dependencies): Likewise.
22525         * modules/wcwidth (Dependencies): Likewise.
22526
22527 2011-02-06  Bruno Haible  <bruno@clisp.org>
22528
22529         New module 'wcswidth'.
22530         * modules/wcswidth: New file.
22531         * lib/wchar.in.h (wcswidth): New declaration.
22532         * lib/wcswidth.c: New file.
22533         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
22534         * m4/wcswidth.m4: New file.
22535         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
22536         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
22537         REPLACE_WCSWIDTH.
22538         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
22539         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
22540         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
22541         * doc/posix-functions/wcswidth.texi: Mention the new module.
22542
22543 2011-02-06  Bruno Haible  <bruno@clisp.org>
22544
22545         New module 'wcstok'.
22546         * modules/wcstok: New file.
22547         * lib/wchar.in.h (wcstok): New declaration.
22548         * lib/wcstok.c: New file.
22549         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
22550         * m4/wcstok.m4: New file.
22551         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
22552         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
22553         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
22554         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
22555         * doc/posix-functions/wcstok.texi: Mention the new module.
22556
22557 2011-02-06  Bruno Haible  <bruno@clisp.org>
22558
22559         New module 'wcsstr'.
22560         * modules/wcsstr: New file.
22561         * lib/wchar.in.h (wcsstr): New declaration.
22562         * lib/wcsstr.c: New file.
22563         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
22564         * m4/wcsstr.m4: New file.
22565         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
22566         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
22567         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
22568         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
22569         * doc/posix-functions/wcsstr.texi: Mention the new module.
22570
22571 2011-02-06  Bruno Haible  <bruno@clisp.org>
22572
22573         New module 'wcspbrk'.
22574         * modules/wcspbrk: New file.
22575         * lib/wchar.in.h (wcspbrk): New declaration.
22576         * lib/wcspbrk.c: New file.
22577         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
22578         * m4/wcspbrk.m4: New file.
22579         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
22580         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
22581         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
22582         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
22583         * doc/posix-functions/wcspbrk.texi: Mention the new module.
22584
22585 2011-02-06  Bruno Haible  <bruno@clisp.org>
22586
22587         New module 'wcsspn'.
22588         * modules/wcsspn: New file.
22589         * lib/wchar.in.h (wcsspn): New declaration.
22590         * lib/wcsspn.c: New file.
22591         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
22592         * m4/wcsspn.m4: New file.
22593         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
22594         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
22595         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
22596         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
22597         * doc/posix-functions/wcsspn.texi: Mention the new module.
22598
22599 2011-02-06  Bruno Haible  <bruno@clisp.org>
22600
22601         New module 'wcscspn'.
22602         * modules/wcscspn: New file.
22603         * lib/wchar.in.h (wcscspn): New declaration.
22604         * lib/wcscspn.c: New file.
22605         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
22606         * m4/wcscspn.m4: New file.
22607         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
22608         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
22609         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
22610         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
22611         * doc/posix-functions/wcscspn.texi: Mention the new module.
22612
22613 2011-02-06  Bruno Haible  <bruno@clisp.org>
22614
22615         New module 'wcsrchr'.
22616         * modules/wcsrchr: New file.
22617         * lib/wchar.in.h (wcsrchr): New declaration.
22618         * lib/wcsrchr.c: New file.
22619         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
22620         * m4/wcsrchr.m4: New file.
22621         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
22622         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
22623         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
22624         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
22625         * doc/posix-functions/wcsrchr.texi: Mention the new module.
22626
22627 2011-02-06  Bruno Haible  <bruno@clisp.org>
22628
22629         New module 'wcschr'.
22630         * modules/wcschr: New file.
22631         * lib/wchar.in.h (wcschr): New declaration.
22632         * lib/wcschr.c: New file.
22633         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
22634         * m4/wcschr.m4: New file.
22635         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
22636         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
22637         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
22638         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
22639         * doc/posix-functions/wcschr.texi: Mention the new module.
22640
22641 2011-02-06  Bruno Haible  <bruno@clisp.org>
22642
22643         New module 'wcsdup'.
22644         * modules/wcsdup: New file.
22645         * lib/wchar.in.h (wcsdup): New declaration.
22646         * lib/wcsdup.c: New file.
22647         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
22648         * m4/wcsdup.m4: New file.
22649         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
22650         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
22651         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
22652         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
22653         * doc/posix-functions/wcsdup.texi: Mention the new module.
22654
22655 2011-02-06  Bruno Haible  <bruno@clisp.org>
22656
22657         New module 'wcsxfrm'.
22658         * modules/wcsxfrm: New file.
22659         * lib/wchar.in.h (wcsxfrm): New declaration.
22660         * lib/wcsxfrm.c: New file.
22661         * lib/wcsxfrm-impl.h: New file.
22662         * m4/wcsxfrm.m4: New file.
22663         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
22664         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
22665         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
22666         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
22667         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
22668
22669 2011-02-06  Bruno Haible  <bruno@clisp.org>
22670
22671         New module 'wcscoll'.
22672         * modules/wcscoll: New file.
22673         * lib/wchar.in.h (wcscoll): New declaration.
22674         * lib/wcscoll.c: New file.
22675         * lib/wcscoll-impl.h: New file.
22676         * m4/wcscoll.m4: New file.
22677         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
22678         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
22679         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
22680         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
22681         * doc/posix-functions/wcscoll.texi: Mention the new module.
22682
22683 2011-02-06  Bruno Haible  <bruno@clisp.org>
22684
22685         New module 'wcsncasecmp'.
22686         * modules/wcsncasecmp: New file.
22687         * lib/wchar.in.h (wcsncasecmp): New declaration.
22688         * lib/wcsncasecmp.c: New file.
22689         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
22690         * m4/wcsncasecmp.m4: New file.
22691         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
22692         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
22693         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
22694         HAVE_WCSNCASECMP.
22695         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
22696         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
22697
22698 2011-02-06  Bruno Haible  <bruno@clisp.org>
22699
22700         New module 'wcscasecmp'.
22701         * modules/wcscasecmp: New file.
22702         * lib/wchar.in.h (wcscasecmp): New declaration.
22703         * lib/wcscasecmp.c: New file.
22704         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
22705         * m4/wcscasecmp.m4: New file.
22706         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
22707         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
22708         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
22709         HAVE_WCSCASECMP.
22710         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
22711         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
22712
22713 2011-02-05  Bruno Haible  <bruno@clisp.org>
22714
22715         New module 'wcsncmp'.
22716         * modules/wcsncmp: New file.
22717         * lib/wchar.in.h (wcsncmp): New declaration.
22718         * lib/wcsncmp.c: New file.
22719         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
22720         * m4/wcsncmp.m4: New file.
22721         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
22722         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
22723         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
22724         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
22725         * doc/posix-functions/wcsncmp.texi: Mention the new module.
22726
22727 2011-02-05  Bruno Haible  <bruno@clisp.org>
22728
22729         New module 'wcscmp'.
22730         * modules/wcscmp: New file.
22731         * lib/wchar.in.h (wcscmp): New declaration.
22732         * lib/wcscmp.c: New file.
22733         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
22734         * m4/wcscmp.m4: New file.
22735         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
22736         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
22737         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
22738         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
22739         * doc/posix-functions/wcscmp.texi: Mention the new module.
22740
22741 2011-02-05  Bruno Haible  <bruno@clisp.org>
22742
22743         New module 'wcsncat'.
22744         * modules/wcsncat: New file.
22745         * lib/wchar.in.h (wcsncat): New declaration.
22746         * lib/wcsncat.c: New file.
22747         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
22748         * m4/wcsncat.m4: New file.
22749         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
22750         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
22751         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
22752         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
22753         * doc/posix-functions/wcsncat.texi: Mention the new module.
22754
22755 2011-02-05  Bruno Haible  <bruno@clisp.org>
22756
22757         New module 'wcscat'.
22758         * modules/wcscat: New file.
22759         * lib/wchar.in.h (wcscat): New declaration.
22760         * lib/wcscat.c: New file.
22761         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
22762         * m4/wcscat.m4: New file.
22763         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
22764         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
22765         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
22766         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
22767         * doc/posix-functions/wcscat.texi: Mention the new module.
22768
22769 2011-02-05  Bruno Haible  <bruno@clisp.org>
22770
22771         New module 'wcpncpy'.
22772         * modules/wcpncpy: New file.
22773         * lib/wchar.in.h (wcpncpy): New declaration.
22774         * lib/wcpncpy.c: New file.
22775         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
22776         * m4/wcpncpy.m4: New file.
22777         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
22778         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
22779         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
22780         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
22781         * doc/posix-functions/wcpncpy.texi: Mention the new module.
22782
22783 2011-02-05  Bruno Haible  <bruno@clisp.org>
22784
22785         New module 'wcsncpy'.
22786         * modules/wcsncpy: New file.
22787         * lib/wchar.in.h (wcsncpy): New declaration.
22788         * lib/wcsncpy.c: New file.
22789         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
22790         * m4/wcsncpy.m4: New file.
22791         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
22792         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
22793         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
22794         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
22795         * doc/posix-functions/wcsncpy.texi: Mention the new module.
22796
22797 2011-02-05  Bruno Haible  <bruno@clisp.org>
22798
22799         New module 'wcpcpy'.
22800         * modules/wcpcpy: New file.
22801         * lib/wchar.in.h (wcpcpy): New declaration.
22802         * lib/wcpcpy.c: New file.
22803         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
22804         * m4/wcpcpy.m4: New file.
22805         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
22806         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
22807         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
22808         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
22809         * doc/posix-functions/wcpcpy.texi: Mention the new module.
22810
22811 2011-02-05  Bruno Haible  <bruno@clisp.org>
22812
22813         New module 'wcscpy'.
22814         * modules/wcscpy: New file.
22815         * lib/wchar.in.h (wcscpy): New declaration.
22816         * lib/wcscpy.c: New file.
22817         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
22818         * m4/wcscpy.m4: New file.
22819         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
22820         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
22821         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
22822         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
22823         * doc/posix-functions/wcscpy.texi: Mention the new module.
22824
22825 2011-02-05  Bruno Haible  <bruno@clisp.org>
22826
22827         New module 'wcsnlen'.
22828         * modules/wcsnlen: New file.
22829         * lib/wchar.in.h (wcsnlen): New declaration.
22830         * lib/wcsnlen.c: New file.
22831         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
22832         * m4/wcsnlen.m4: New file.
22833         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
22834         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
22835         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
22836         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
22837         * doc/posix-functions/wcsnlen.texi: Mention the new module.
22838
22839 2011-02-05  Bruno Haible  <bruno@clisp.org>
22840
22841         New module 'wcslen'.
22842         * modules/wcslen: New file.
22843         * lib/wchar.in.h (wcslen): New declaration.
22844         * lib/wcslen.c: New file.
22845         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
22846         * m4/wcslen.m4: New file.
22847         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
22848         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
22849         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
22850         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
22851         * doc/posix-functions/wcslen.texi: Mention the new module.
22852
22853 2011-02-05  Bruno Haible  <bruno@clisp.org>
22854
22855         New module 'wmemset'.
22856         * modules/wmemset: New file.
22857         * lib/wchar.in.h (wmemset): New declaration.
22858         * lib/wmemset.c: New file.
22859         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
22860         * m4/wmemset.m4: New file.
22861         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
22862         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
22863         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
22864         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
22865         * doc/posix-functions/wmemset.texi: Mention the new module.
22866
22867 2011-02-05  Bruno Haible  <bruno@clisp.org>
22868
22869         New module 'wmemmove'.
22870         * modules/wmemmove: New file.
22871         * lib/wchar.in.h (wmemmove): New declaration.
22872         * lib/wmemmove.c: New file.
22873         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
22874         * m4/wmemmove.m4: New file.
22875         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
22876         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
22877         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
22878         HAVE_WMEMMOVE.
22879         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
22880         * doc/posix-functions/wmemmove.texi: Mention the new module.
22881
22882 2011-02-05  Bruno Haible  <bruno@clisp.org>
22883
22884         New module 'wmemcpy'.
22885         * modules/wmemcpy: New file.
22886         * lib/wchar.in.h (wmemcpy): New declaration.
22887         * lib/wmemcpy.c: New file.
22888         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
22889         * m4/wmemcpy.m4: New file.
22890         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
22891         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
22892         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
22893         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
22894         * doc/posix-functions/wmemcpy.texi: Mention the new module.
22895
22896 2011-02-05  Bruno Haible  <bruno@clisp.org>
22897
22898         New module 'wmemcmp'.
22899         * modules/wmemcmp: New file.
22900         * lib/wchar.in.h (wmemcmp): New declaration.
22901         * lib/wmemcmp.c: New file.
22902         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
22903         * m4/wmemcmp.m4: New file.
22904         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
22905         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
22906         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
22907         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
22908         * doc/posix-functions/wmemcmp.texi: Mention the new module.
22909
22910 2011-02-07  Jim Meyering  <meyering@redhat.com>
22911
22912         di-set, ino-map: new modules, from coreutils
22913         * lib/di-set.c: New file.
22914         * lib/di-set.h: Likewise.
22915         * lib/ino-map.c: Likewise.
22916         * lib/ino-map.h: Likewise.
22917         * modules/di-set: Likewise.
22918         * modules/di-set-tests: Likewise.
22919         * modules/ino-map: Likewise.
22920         * modules/ino-map-tests: Likewise.
22921         * tests/test-di-set.c: Likewise.
22922         * tests/test-ino-map.c: Likewise.
22923
22924 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
22925
22926         getloadavg: merge minor changes from Emacs
22927
22928         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
22929         (getloadavg): Use memset, not bzero.
22930
22931         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
22932         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
22933         clash (bug#86).
22934
22935 2010-11-14  Bruno Haible  <bruno@clisp.org>
22936
22937         Allow multiple gnulib generated replacements to coexist.
22938         * lib/getopt.in.h (struct option): Avoid identical redefinition.
22939         * lib/inttypes.in.h (imaxdiv_t): Likewise.
22940         * lib/langinfo.in.h (nl_item): Likewise.
22941         * lib/math.in.h (_NaN, NAN): Likewise.
22942         * lib/netdb.in.h (struct addrinfo): Likewise.
22943         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
22944         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
22945         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
22946         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
22947         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
22948         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
22949         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
22950         pthread_mutexattr_init, pthread_mutexattr_settype,
22951         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
22952         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
22953         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
22954         pthread_spin_trylock, pthread_spin_unlock): Likewise.
22955         * lib/sched.in.h (struct sched_param): Likewise.
22956         * lib/se-selinux.in.h (security_class_t, security_context_t,
22957         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
22958         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
22959         lsetfilecon, fsetfilecon, security_check_context,
22960         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
22961         Likewise.
22962         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
22963         Likewise.
22964         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
22965         _gl_function_taking_int_returning_void_t, union sigval,
22966         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
22967         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
22968         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22969         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
22970         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
22971         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
22972         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
22973         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
22974         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
22975         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
22976         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
22977         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
22978         socklen_t, rpl_fd_isset): Likewise.
22979         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
22980         * lib/sys_time.in.h (struct timeval): Likewise.
22981         * lib/sys_times.in.h (struct tms): Likewise.
22982         * lib/sys_utsname.in.h (struct utsname):
22983         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
22984         * lib/unistd.in.h (getpagesize): Likewise.
22985         * lib/wchar.in.h (mbstate_t): Likewise.
22986         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22987         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
22988         towlower, towupper): Likewise.
22989         Reported by Sam Steingold <sds@gnu.org>.
22990
22991 2011-02-05  Eric Blake  <eblake@redhat.com>
22992
22993         unsetenv: work around Haiku issues
22994         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
22995         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
22996
22997 2010-12-30  Bruce Korb  <bkorb@gnu.org>
22998
22999         libposix: avoid calling error() within libposix
23000         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
23001         is defined.
23002
23003 2011-02-05  Eric Blake  <eblake@redhat.com>
23004
23005         strerror_r-posix: port to cygwin
23006         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
23007         implementation.
23008         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
23009         * tests/test-strerror_r.c (main): Fix test.
23010         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
23011         issue.
23012
23013 2011-02-05  Bruno Haible  <bruno@clisp.org>
23014
23015         New module 'wmemchr'.
23016         * modules/wmemchr: New file.
23017         * lib/wchar.in.h (wmemchr): New declaration.
23018         * lib/wmemchr.c: New file.
23019         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
23020         * m4/wmemchr.m4: New file.
23021         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
23022         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
23023         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
23024         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
23025         * doc/posix-functions/wmemchr.texi: Mention the new module.
23026
23027 2011-02-04  Eric Blake  <eblake@redhat.com>
23028
23029         fdopendir: detect FreeBSD bug
23030         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
23031         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
23032
23033 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
23034
23035         stdbool: do not define HAVE_STDBOOL_H
23036         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
23037         AC_HEADER_STDBOOL.  All uses changed.  Do not define
23038         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
23039         imported from the latest Autoconf git.  It was motivated by Emacs,
23040         which uses gnulib but does not need HAVE_STDBOOL_H.
23041
23042 2011-02-04  Bruno Haible  <bruno@clisp.org>
23043
23044         wcsnrtombs: Prepare for new module wwcsnrtombs.
23045         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
23046         * lib/wcsnrtombs.c: Include it.
23047         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
23048
23049         wcsrtombs: Prepare for new module wwcsrtombs.
23050         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
23051         * lib/wcsrtombs.c: Include it.
23052         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
23053
23054         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
23055         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
23056         * lib/mbsnrtowcs.c: Include it.
23057         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
23058
23059         mbsrtowcs: Prepare for new module mbsrtowwcs.
23060         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
23061         * lib/mbsrtowcs.c: Include it.
23062         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
23063
23064 2011-02-04  Bruno Haible  <bruno@clisp.org>
23065
23066         vasnprintf: Reduce use of malloc for small format strings.
23067         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
23068         (arguments): Add room for the first 7 arguments.
23069         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
23070         (char_directives, u8_directives, u16_directives, u32_directives): Add
23071         room for the first 7 directives.
23072         * lib/printf-parse.c: Include <string.h>.
23073         (PRINTF_PARSE): Change memory handling code so that it uses the first
23074         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
23075         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
23076         Reported by Pádraig Brady <P@draigbrady.com>.
23077
23078 2011-01-31  Eric Blake  <eblake@redhat.com>
23079
23080         dup2: work around Haiku bug
23081         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
23082         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
23083         * doc/posix-functions/dup2.texi (dup2): Document the bug.
23084         * tests/test-dup2.c (main): Enhance test.
23085
23086 2011-01-31  Simon Josefsson  <simon@josefsson.org>
23087
23088         doc: off_t is not available in eglibc 2.11.2 stdio.h.
23089         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
23090         declared by eglibc 2.11.2.
23091         * lib/stdio.in.h: Likewise.
23092
23093 2011-01-31  Eric Blake  <eblake@redhat.com>
23094
23095         ignore-value: add missing test dependency
23096         * tests/test-ignore-value.c: Revert previous change; stdio.h
23097         provides off_t.
23098         * modules/ignore-value-tests (Depends-on): Add missing dependency.
23099
23100 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
23101
23102         mktime: clarify long_int width checking
23103         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
23104         the top level, to make it clearer that the assumption about
23105         long_int width is being checked.  See
23106         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
23107
23108 2011-01-30  Simon Josefsson  <simon@josefsson.org>
23109
23110         ignore-value: Fix self-test.
23111         * tests/test-ignore-value.c: Include sys/types.h for off_t.
23112
23113 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
23114
23115         TYPE_MAXIMUM: avoid theoretically undefined behavior
23116         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
23117         negative number, which the C Standard says has undefined behavior.
23118         In practice this is not a problem, but might as well do it by the book.
23119         Reported by Rich Felker and Eric Blake; see
23120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
23121         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
23122         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23123         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23124         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
23125         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23126         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
23127
23128         mktime: #undef mktime before #defining it
23129         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
23130
23131         mktime: systematically normalize tm_isdst comparisons
23132         * lib/mktime.c (isdst_differ): New function.
23133         (__mktime_internal): Use it systematically for all isdst comparisons.
23134         This completes the fix for libc BZ #6723, and removes the need for
23135         normalizing tm_isdst.  See
23136         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
23137         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
23138
23139         mktime: fix some integer overflow issues and sidestep the rest
23140
23141         This was prompted by a bug report by Benjamin Lindner for MinGW
23142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
23143         His bug is due to signed integer overflow (0 - INT_MIN), and I
23144         I scanned through mktime.c looking for other integer overflow
23145         problems, fixing all the bugs I found.
23146
23147         Although the C Standard says the resulting code is still not safe
23148         in the presence of integer overflow, in practice it should be good
23149         enough for all real-world two's-complement implementations, except
23150         for debugging environments that deliberately trap on integer
23151         overflow (e.g., gcc -ftrapv).
23152
23153         * lib/mktime.c (WRAPV): New macro.
23154         (SHR): Also check that long_int and time_t shift right in the
23155         usual way, before using the fast-but-unportable method.
23156         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
23157         used.  The code already assumed two's complement, so there's
23158         no need to test for alternatives.  All uses removed.
23159         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
23160         the C standard.  Problem reported by Rich Felker in
23161         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
23162         (twos_complement_arithmetic): Also check long_int and time_t.
23163         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
23164         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
23165         (__mktime_internal): Avoid integer overflow with unary subtraction
23166         in two instances where -1 - X is an adequate replacement for -X,
23167         since the calculations are approximate.
23168
23169 2011-01-29  Eric Blake  <eblake@redhat.com>
23170
23171         mktime: avoid infinite loop
23172         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
23173         type; behavior is still undefined but portable to all known targets.
23174         Reported by Rich Felker.
23175
23176 2011-01-29  Simon Josefsson  <simon@josefsson.org>
23177
23178         rename, unlink, same-inode: Relicense.
23179         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
23180         * modules/unlink (License): Likewise.
23181         * modules/same-inode (License): Likewise.
23182
23183 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
23184
23185         mktime: avoid problems on NetBSD 5 / i386
23186         * lib/mktime.c (long_int): New type.  This works around a problem
23187         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
23188         but time_t is 64 bits, and where I expect the existing code is
23189         wrong in some cases.
23190         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
23191         (ydhms_diff): Bring back the compile-time check for wide-enough
23192         year and yday.
23193
23194         mktime: fix misspelling in comment
23195         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
23196         This merges all recent glibc changes of importance.
23197
23198 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23199
23200         move-if-change: cope with concurrent mv of identical file.
23201         * build-aux/move-if-change (CMPPROG): Accept environment
23202         variable as an override for `cmp'.
23203         (usage): Document CMPPROG.
23204         Adjust comparison to drop stdout.  Cope with failure of mv if
23205         the target file exists and is identical to the source, for
23206         parallel builds.
23207         Report from H.J. Lu against binutils in PR binutils/12283.
23208
23209 2011-01-28  Bruce Korb  <bkorb@gnu.org>
23210
23211         * users.txt: Mention sharutils.
23212
23213 2011-01-28  Simon Josefsson  <simon@josefsson.org>
23214
23215         * users.txt: Mention OATH Toolkit.
23216
23217 2011-01-27  Bruno Haible  <bruno@clisp.org>
23218
23219         Prepare for supporting FreeBSD 10.
23220         * build-aux/config.libpath: Remove handling of freebsd1*.
23221
23222 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
23223
23224         Prepare for supporting FreeBSD 10.
23225         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
23226         match FreeBSD 10.0.
23227
23228 2011-01-27  Bruno Haible  <bruno@clisp.org>
23229
23230         vma-iter, get-rusage-as: Add OpenBSD support.
23231         * modules/vma-iter (configure.ac): Test for mquery.
23232         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
23233         * lib/vma-iter.c: Include <sys/mman.h>.
23234         (vma_iterate): Add an implementation based on mquery().
23235         * lib/resource-ext.h (get_rusage_as): Update comments.
23236         * lib/get-rusage-as.c: Likewise.
23237         * lib/get-rusage-data.c: Likewise.
23238
23239 2011-01-26  Karl Berry  <karl@gnu.org>
23240
23241         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
23242         variables to make it easier to override the makeinfo program used.
23243
23244 2011-01-26  Eric Blake  <eblake@redhat.com>
23245
23246         fcntl: work around Haiku F_DUPFD bugs
23247         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
23248         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
23249         cloexec bit on duplication.
23250         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
23251
23252 2011-01-26  Bruno Haible  <bruno@clisp.org>
23253
23254         Enable memory leak tests on AIX.
23255         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
23256         * tests/test-fprintf-posix3.c (main): Likewise.
23257
23258 2011-01-26  Bruno Haible  <bruno@clisp.org>
23259
23260         Tests for module 'get-rusage-data'.
23261         * modules/get-rusage-data-tests: New file.
23262         * tests/test-get-rusage-data.c: New file.
23263
23264         New module 'get-rusage-data'.
23265         * lib/resource-ext.h (get_rusage_data): New declaration.
23266         * lib/get-rusage-data.c: New file.
23267         * modules/get-rusage-data: New file.
23268
23269 2011-01-25  Bruno Haible  <bruno@clisp.org>
23270
23271         get-rusage-as: Allow for easier testing.
23272         * lib/resource-ext.h (get_rusage_as): Add comment.
23273         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
23274         (main): New function for interactive testing.
23275
23276 2011-01-25  Bruno Haible  <bruno@clisp.org>
23277
23278         vma-iter: Treat Haiku like BeOS.
23279         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
23280         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
23281
23282 2011-01-25  Eric Blake  <eblake@redhat.com>
23283
23284         c-stack: fix regression on cygwin when libsigsegv is present
23285         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
23286
23287 2011-01-24  Bruno Haible  <bruno@clisp.org>
23288
23289         vma-iter: Avoid empty intervals.
23290         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
23291         on an empty interval.
23292
23293 2011-01-24  Jim Meyering  <meyering@redhat.com>
23294
23295         u64: remove unnecessary #include
23296         * lib/u64.h: Don't include <stddef.h>.  It was not used.
23297
23298 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23299
23300         Allow the user to avoid the HAVE_RAW_DECL_* macros.
23301         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
23302
23303 2011-01-23  Bruno Haible  <bruno@clisp.org>
23304
23305         New module 'vma-iter'.
23306         * lib/vma-iter.h: New file.
23307         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
23308         * modules/vma-iter: New file.
23309         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
23310         for get_rusage_as_via_iterator.
23311         (vma_iterate_callback): New function.
23312         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
23313         * modules/get-rusage-as (Depends-on): Add vma-iter.
23314
23315 2011-01-23  Bruno Haible  <bruno@clisp.org>
23316
23317         uninorm: Tweak includes.
23318         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
23319         Reported by Jim Meyering.
23320
23321 2011-01-23  Bruno Haible  <bruno@clisp.org>
23322
23323         get-rusage-as: Improve on NetBSD.
23324         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
23325         /proc, like on FreeBSD.
23326
23327 2011-01-23  Jim Meyering  <meyering@redhat.com>
23328
23329         xreadlink.h: remove unnecessary #include
23330         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
23331
23332         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
23333         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
23334
23335 2011-01-23  Bruno Haible  <bruno@clisp.org>
23336
23337         get-rusage-as: Fix bug.
23338         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
23339         original limit when aborting the first loop.
23340
23341 2011-01-23  Bruno Haible  <bruno@clisp.org>
23342
23343         wctype: Ensure valid C syntax.
23344         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
23345         unconditionally, instead of gl_NEXT_HEADERS conditionally.
23346
23347 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
23348
23349         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
23350         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
23351         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
23352         as they are needed only for configure's test case.
23353         This removes two unnecessary symbols from config.h.
23354
23355         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
23356         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
23357         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
23358         AC_CHECK_HEADERS_ONCE on a header that we also invoke
23359         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
23360         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
23361         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
23362         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
23363         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23364         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23365         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
23366         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23367         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23368         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23369         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
23370         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23371         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
23372         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
23373
23374 2011-01-21  Eric Blake  <eblake@redhat.com>
23375
23376         maintainer-makefile: work with older git for submodule check
23377         * top/maint.mk (public-submodule-commit): Rewrite to avoid
23378         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
23379         Reported by Matthias Bolte.
23380
23381         bootstrap: minor portability fixes
23382         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
23383         (usage): Omit leading capital and trailing . on help phrases, per
23384         GNU Coding Standards.
23385         (check_versions, top level): Prefix messages with script name.
23386
23387 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
23388
23389         bootstrap: support --no-git option
23390         * build-aux/bootstrap: Add --no-git option, to be used when
23391         --gnulib-srcdir points to the exact desired checkout.
23392
23393 2011-01-21  Eric Blake  <eblake@redhat.com>
23394
23395         strerror_r-posix: work with glibc 2.13
23396         * lib/strerror_r.c (strerror_r): Fix return type.
23397
23398 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23399             Bruno Haible  <bruno@clisp.org>
23400
23401         uN_strstr: New unit tests.
23402         * modules/unistr/u8-strstr-tests: New file.
23403         * modules/unistr/u16-strstr-tests: New file.
23404         * modules/unistr/u32-strstr-tests: New file.
23405         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
23406         * tests/unistr/test-u8-strstr.c: New file.
23407         * tests/unistr/test-u16-strstr.c: New file.
23408         * tests/unistr/test-u32-strstr.c: New file.
23409
23410 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23411             Bruno Haible  <bruno@clisp.org>
23412
23413         Make uN_strstr functions O(n) worst-case.
23414         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
23415         16-bit and 32-bit unit cases, use the unibyte algorithm from
23416         lib/mbsstr.c.
23417         * lib/unistr/u8-strstr.c: Include <string.h>.
23418         (UNIT_IS_UINT8_T): New macro.
23419         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
23420         (U_STRLEN, U_STRNLEN): New macros.
23421         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
23422         (U_STRLEN, U_STRNLEN): New macros.
23423         * modules/unistr/u8-strstr (Depends-on): Add strstr.
23424         (configure.ac): Update required libunistring version.
23425         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
23426         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
23427         malloca.
23428         (configure.ac): Update required libunistring version.
23429         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
23430         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
23431         malloca.
23432         (configure.ac): Update required libunistring version.
23433
23434 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23435             Bruno Haible  <bruno@clisp.org>
23436
23437         Prepare for faster uN_strstr functions.
23438         * lib/str-kmp.h: Support definable UNITs.
23439         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
23440         needle_len argument.
23441         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
23442         * lib/mbscasestr.c (mbscasestr): Likewise.
23443
23444 2011-01-21  Pádraig Brady <P@draigBrady.com>
23445
23446         malloca-tests: make faster by unsetting MALLOC_PERTURB_
23447         * tests/test-malloca.c (main): Unset the environment variable
23448         to greatly speed up the test.
23449         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
23450         * modules/malloca-tests: Depend on unsetenv.
23451
23452 2011-01-21  Pádraig Brady <P@draigBrady.com>
23453
23454         ignore-value: remove stdint dependency
23455         * lib/ignore-value.h: Remove <stdint.h>
23456         * modules/ignore-value: Remove stdint dependency.
23457
23458 2011-01-21  Jim Meyering  <meyering@redhat.com>
23459
23460         maint.mk: adjust variable name to be consistent with other gl_ vars
23461         * top/maint.mk (gl_public_submodule_commit): Rename the variable
23462         to be lower case.
23463
23464 2011-01-20  Jim Meyering  <meyering@redhat.com>
23465
23466         maint.mk: make "check" depend on public-submodule-commit by default
23467         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
23468
23469 2011-01-20  Bruno Haible  <bruno@clisp.org>
23470
23471         mbfile, mbiter: Complete change from 2008-12-21.
23472         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
23473         * m4/mbiter.m4 (gl_MBITER): Likewise.
23474
23475 2011-01-20  Jim Meyering  <meyering@redhat.com>
23476
23477         init.sh: insert space between each function name and "()"
23478         * tests/init.sh: Make it a little easier to see that a function's
23479         name is "warn_", and not "warn" when looking at the first part of
23480         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
23481
23482 2011-01-20  Jim Meyering  <meyering@redhat.com>
23483
23484         mountlist: clean up code formatting
23485         * lib/mountlist.c (read_file_system_list): Split a long line,
23486         correct bracing style, use NULL in place of "(struct statfs *)0",
23487         don't parenthesize return value, add spaces around "=" and after
23488         ";-in-for-stmt".
23489
23490 2011-01-14  Markus Duft <mduft@gentoo.org>
23491
23492         mountlist: add support for Interix
23493         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
23494         Apply statvfs to all entries of /dev/fs.
23495         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
23496         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
23497
23498 2011-01-20  Jim Meyering  <meyering@redhat.com>
23499
23500         maint.mk: improve the public-submodule-commit rule
23501         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
23502         to suppress printing of its commands... unless V=1.
23503         Add git submodule's --quiet option to suppress printing of e.g.,
23504         "Entering gnulib" output.
23505         "cd" into $(srcdir) before running git submodule.
23506
23507 2011-01-20  Bruno Haible  <bruno@clisp.org>
23508
23509         include_next: Fix bug introduced on 2011-01-18.
23510         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
23511         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
23512         ac_cv_header_... variable if the second argument is not 'check'.
23513         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
23514         gl_NEXT_HEADERS_INTERNAL.
23515
23516 2011-01-20  Bruno Haible  <bruno@clisp.org>
23517
23518         Allow the user to avoid the GNULIB_TEST_* macros.
23519         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
23520         Suggested by Paul Eggert.
23521
23522 2011-01-14  Jim Meyering  <meyering@redhat.com>
23523
23524         bootstrap: avoid failure when there is no .gitmodules file
23525         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
23526         has been assigned to, even when its value is the empty string.
23527         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
23528         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
23529         Reported by John W. Eaton <jwe@gnu.org>.
23530
23531 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
23532
23533         assume <ctype.h>, ..., <time.h> exist
23534         For years gnulib has been assuming the existence of the headers
23535         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
23536         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
23537         them, since they don't appear to be needed.
23538         * README (Portability guidelines): Document this.
23539         * lib/flock.c: Assume <fcntl.h> exists.
23540         * lib/regex_internal.h: Assume <locale.h> exists.
23541         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
23542         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
23543         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
23544         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
23545         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
23546         * m4/regex.m4 (gl_REGEX): Likewise.
23547         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
23548         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
23549         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
23550         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
23551         * tests/test-argp.c: Likewise.
23552         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
23553
23554         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
23555         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
23556         AA_APPLE_UNIVERSAL_BUILD.  See
23557         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
23558         * NEWS: Document this.
23559
23560 2011-01-19  Eric Blake  <eblake@redhat.com>
23561
23562         c-stack: assume stack overflow if SA_SIGINFO unsupported
23563         * lib/c-stack.c (SIGACTION_WORKS): Rename...
23564         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
23565         sigaction will work.
23566         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
23567         behavior match Linux.
23568         * tests/test-c-stack.c (main): Prefer NULL for pointers.
23569
23570         stdbool-tests: accommodate Haiku
23571         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
23572
23573         binary-io: fix O_TEXT on Haiku
23574         * modules/binary-io (Depends-on): Add fcntl-h.
23575         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
23576         than blindly undefining O_TEXT.
23577         Reported by Scott McCreary.
23578
23579 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23580
23581         include_next: do not check for standard headers like stddef.h
23582
23583         I found this problem when modifying Emacs to use gnulib.
23584         I noticed that it added HAVE_STDDEF_H to config.h, even though
23585         gnulib always assumes <stddef.h> exists as per README and this
23586         symbol is unnecessary.
23587         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
23588         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
23589         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
23590         faster for headers like stddef.h that are known to exist.
23591         (gl_CHECK_NEXT_HEADERS): Use it.
23592         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
23593         rather than gl_CHECK_NEXT_HEADERS.
23594         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
23595         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
23596
23597 2011-01-18  Eric Blake  <eblake@redhat.com>
23598
23599         ansi-c++-opt: skip C++ dependency style if C++ is unused
23600         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
23601         tests when we know C++ compilation is not desired.
23602         Reported by Scott McCreary.
23603
23604 2011-01-18  Bruno Haible  <bruno@clisp.org>
23605
23606         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
23607         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
23608         (main): Perform test also when getrlimit and setrlimit don't exist or
23609         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
23610         limiting the address space size using setrlimit, compare the address
23611         space size before and after the the test.
23612         * tests/test-dprintf-posix2.c: Likewise.
23613         * tests/test-fprintf-posix3.sh: Update skip messages.
23614         * tests/test-dprintf-posix2.sh: Likewise.
23615         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
23616         * modules/dprintf-posix-tests (Depends-on): Likewise.
23617         Reported by Bruce Korb <bkorb@gnu.org> and
23618         Gary V. Vaughan <gary@gnu.org>.
23619
23620 2011-01-18  Bruno Haible  <bruno@clisp.org>
23621
23622         get-rusage-as: Improvement for Cygwin.
23623         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
23624         areas that are merely reserved.
23625
23626 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
23627
23628         strftime: remove dependencies on multibyte modules
23629
23630         strftime depended on mbrlen, mbsinit, and wchar, but these modules
23631         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
23632         only if __osf__ is defined, and I suspect OSF doesn't need these
23633         other modules.  If my guess is wrong, we'll need to come up with a
23634         variant of strftime that doesn't need the multibyte modules.
23635
23636         I discovered this problem when attempting modify Emacs to use the
23637         strftime module.  With the previous gnulib, this caused Emacs to
23638         need 31 new files, ranging from lib/config.charset to
23639         m4/wint_t.m4.  This was overkill and I expect would be offputting
23640         to the Emacs maintainers.  After this change, only 6 new files are
23641         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
23642         stdbool.m4, and tm_gmtoff.m4.
23643
23644         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
23645         Suggested by Bruno Haible in
23646         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
23647         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
23648         and do not check for wchar.h.
23649         * modules/strftime (Files): Remove m4/mbstate_t.m4.
23650         (Depends-on): Remove mbrlen, mbsinit, wchar.
23651
23652 2011-01-18  Bruno Haible  <bruno@clisp.org>
23653
23654         Tests for module 'get-rusage-as'.
23655         * modules/get-rusage-as-tests: New file.
23656         * tests/test-get-rusage-as.c: New file.
23657
23658         New module 'get-rusage-as'.
23659         * modules/get-rusage-as: New file.
23660         * lib/resource-ext.h: New file.
23661         * lib/get-rusage-as.c: New file.
23662
23663 2011-01-17  Eric Blake  <eblake@redhat.com>
23664
23665         sigaction: relax license from LGPLv3+ to LGPLv2+
23666         * modules/sigaction (License): Relax to LGPLv2+.
23667
23668 2011-01-14  Bruno Haible  <bruno@clisp.org>
23669
23670         filemode: Make function declarations usable in C++ mode.
23671         * lib/filemode.h: Enclose function declarations in extern "C" block.
23672         Reported by John W. Eaton <jwe@gnu.org>.
23673
23674 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
23675
23676         save-cwd: no longer include "xgetcwd.h"
23677         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
23678         This avoids a compilation failure in projects that use save-cwd
23679         without also using the xgetcwd module.
23680
23681 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23682
23683         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
23684         This is so that a program like Emacs, which needs only dtoastr,
23685         does not have to bother with distributing and compiling ftoastr
23686         and ldtoastr.
23687         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
23688         * modules/dtoastr, modules/ldtoastr: New files.
23689         * modules/ftoastr: Now works just for 'float'.
23690         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
23691         (Makefile.am): Remove ftoastr.h (not needed and no effect),
23692         dtoastr.c, ldtoastr.c.
23693
23694 2011-01-11  Jim Meyering  <meyering@redhat.com>
23695
23696         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
23697         There is no need to work around the lack of the fchdir function,
23698         since gnulib can now provide a replacement when required.
23699         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
23700         * modules/save-cwd (Depends-on): Add fchdir.
23701
23702 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23703
23704         openat, save-cwd: avoid xmalloc
23705
23706         This removes a direct (but undocumented) dependency of openat on
23707         xalloc, along with an indirect dependency via save-cwd.  It also
23708         removes a dependency of save-cwd on xgetcwd, and thereby
23709         indirectly on xalloc.  This change causes the openat substitute
23710         to fall back on save_cwd when memory is tight, and for save_cwd to
23711         fail instead of dying when memory is tight, but that's good enough.
23712         Problem and initial idea for fix reported by Bastien Roucaries in
23713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
23714
23715         * lib/openat-proc.c: Include stdlib.h (for malloc), not
23716         xalloc.h (for xmalloc).
23717         (openat_proc_name): Use malloc, not xmalloc.
23718         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
23719         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
23720
23721         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
23722         This avoids heap allocation for file names whose lengths are in
23723         the range 512..1023, with the upper bound increasing to at most
23724         4031 depending on the platform's PATH_MAX.  (We do not want
23725         pathmax.h here as it might supply a non-constant PATH_MAX.)
23726         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
23727         Perhaps they should be moved to malloca.h?
23728         (OPENAT_BUFFER_SIZE): Use them.
23729
23730 2011-01-10  Bruno Haible  <bruno@clisp.org>
23731
23732         doc: Update users.txt.
23733         * users.txt: Add recutils.
23734
23735 2011-01-09  Karl Berry  <karl@gnu.org>
23736
23737         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
23738
23739         * doc/configmake.texi: New file.
23740         * doc/gnulib.texi: Include it.
23741         * modules/configmake: Move documentation from here.
23742
23743 2011-01-09  Bruno Haible  <bruno@clisp.org>
23744
23745         Update to Unicode 6.0.0.
23746         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
23747         (get_lbp): Update for Unicode 6.0.0.
23748         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
23749         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
23750         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
23751         U+11001, U+11038..U+11046. Remove U+06DE.
23752         (uc_width): Fix bounds of planes.
23753         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23754         lib/uniwidth/width.c.
23755         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
23756         trailing whitespace removed.
23757         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
23758         without comments, but with the original copyright notice.
23759         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
23760         * lib/unicase/ignorable.h: Likewise.
23761         * lib/unicase/tocasefold.h: Likewise.
23762         * lib/unicase/tolower.h: Likewise.
23763         * lib/unicase/totitle.h: Likewise.
23764         * lib/unicase/toupper.h: Likewise.
23765         * lib/unictype/bidi_of.h: Likewise.
23766         * lib/unictype/blocks.h: Likewise.
23767         * lib/unictype/categ_C.h: Likewise.
23768         * lib/unictype/categ_Cn.h: Likewise.
23769         * lib/unictype/categ_L.h: Likewise.
23770         * lib/unictype/categ_Ll.h: Likewise.
23771         * lib/unictype/categ_Lm.h: Likewise.
23772         * lib/unictype/categ_Lo.h: Likewise.
23773         * lib/unictype/categ_Lu.h: Likewise.
23774         * lib/unictype/categ_M.h: Likewise.
23775         * lib/unictype/categ_Mc.h: Likewise.
23776         * lib/unictype/categ_Me.h: Likewise.
23777         * lib/unictype/categ_Mn.h: Likewise.
23778         * lib/unictype/categ_N.h: Likewise.
23779         * lib/unictype/categ_Nd.h: Likewise.
23780         * lib/unictype/categ_No.h: Likewise.
23781         * lib/unictype/categ_P.h: Likewise.
23782         * lib/unictype/categ_Po.h: Likewise.
23783         * lib/unictype/categ_S.h: Likewise.
23784         * lib/unictype/categ_Sc.h: Likewise.
23785         * lib/unictype/categ_Sk.h: Likewise.
23786         * lib/unictype/categ_Sm.h: Likewise.
23787         * lib/unictype/categ_So.h: Likewise.
23788         * lib/unictype/categ_of.h: Likewise.
23789         * lib/unictype/combining.h: Likewise.
23790         * lib/unictype/ctype_alnum.h: Likewise.
23791         * lib/unictype/ctype_alpha.h: Likewise.
23792         * lib/unictype/ctype_graph.h: Likewise.
23793         * lib/unictype/ctype_lower.h: Likewise.
23794         * lib/unictype/ctype_print.h: Likewise.
23795         * lib/unictype/ctype_punct.h: Likewise.
23796         * lib/unictype/ctype_upper.h: Likewise.
23797         * lib/unictype/decdigit.h: Likewise.
23798         * lib/unictype/digit.h: Likewise.
23799         * lib/unictype/numeric.h: Likewise.
23800         * lib/unictype/pr_alphabetic.h: Likewise.
23801         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23802         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23803         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23804         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23805         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23806         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23807         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23808         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23809         * lib/unictype/pr_case_ignorable.h: Likewise.
23810         * lib/unictype/pr_cased.h: Likewise.
23811         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
23812         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
23813         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
23814         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
23815         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
23816         * lib/unictype/pr_combining.h: Likewise.
23817         * lib/unictype/pr_composite.h: Likewise.
23818         * lib/unictype/pr_currency_symbol.h: Likewise.
23819         * lib/unictype/pr_decimal_digit.h: Likewise.
23820         * lib/unictype/pr_deprecated.h: Likewise.
23821         * lib/unictype/pr_format_control.h: Likewise.
23822         * lib/unictype/pr_grapheme_base.h: Likewise.
23823         * lib/unictype/pr_grapheme_extend.h: Likewise.
23824         * lib/unictype/pr_grapheme_link.h: Likewise.
23825         * lib/unictype/pr_id_continue.h: Likewise.
23826         * lib/unictype/pr_id_start.h: Likewise.
23827         * lib/unictype/pr_ideographic.h: Likewise.
23828         * lib/unictype/pr_lowercase.h: Likewise.
23829         * lib/unictype/pr_math.h: Likewise.
23830         * lib/unictype/pr_numeric.h: Likewise.
23831         * lib/unictype/pr_other_alphabetic.h: Likewise.
23832         * lib/unictype/pr_other_id_continue.h: Likewise.
23833         * lib/unictype/pr_other_math.h: Likewise.
23834         * lib/unictype/pr_punctuation.h: Likewise.
23835         * lib/unictype/pr_sentence_terminal.h: Likewise.
23836         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23837         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23838         * lib/unictype/pr_unified_ideograph.h: Likewise.
23839         * lib/unictype/pr_uppercase.h: Likewise.
23840         * lib/unictype/pr_xid_continue.h: Likewise.
23841         * lib/unictype/pr_xid_start.h: Likewise.
23842         * lib/unictype/scripts.h: Likewise.
23843         * lib/unictype/scripts_byname.gperf: Likewise.
23844         * lib/unictype/sy_java_ident.h: Likewise.
23845         * lib/unigbrk/gbrkprop.h: Likewise.
23846         * lib/unilbrk/lbrkprop1.h: Likewise.
23847         * lib/unilbrk/lbrkprop2.h: Likewise.
23848         * lib/uninorm/decomposition-table2.h: Likewise.
23849         * lib/uniwbrk/wbrkprop.h: Likewise.
23850         * tests/unicase/test-cased.c: Likewise.
23851         * tests/unicase/test-ignorable.c: Likewise.
23852         * tests/unicase/test-uc_tolower.c: Likewise.
23853         * tests/unicase/test-uc_totitle.c: Likewise.
23854         * tests/unicase/test-uc_toupper.c: Likewise.
23855         * tests/unictype/test-categ_C.c: Likewise.
23856         * tests/unictype/test-categ_Cn.c: Likewise.
23857         * tests/unictype/test-categ_L.c: Likewise.
23858         * tests/unictype/test-categ_Ll.c: Likewise.
23859         * tests/unictype/test-categ_Lm.c: Likewise.
23860         * tests/unictype/test-categ_Lo.c: Likewise.
23861         * tests/unictype/test-categ_Lu.c: Likewise.
23862         * tests/unictype/test-categ_M.c: Likewise.
23863         * tests/unictype/test-categ_Mc.c: Likewise.
23864         * tests/unictype/test-categ_Me.c: Likewise.
23865         * tests/unictype/test-categ_Mn.c: Likewise.
23866         * tests/unictype/test-categ_N.c: Likewise.
23867         * tests/unictype/test-categ_Nd.c: Likewise.
23868         * tests/unictype/test-categ_No.c: Likewise.
23869         * tests/unictype/test-categ_P.c: Likewise.
23870         * tests/unictype/test-categ_Po.c: Likewise.
23871         * tests/unictype/test-categ_S.c: Likewise.
23872         * tests/unictype/test-categ_Sc.c: Likewise.
23873         * tests/unictype/test-categ_Sk.c: Likewise.
23874         * tests/unictype/test-categ_Sm.c: Likewise.
23875         * tests/unictype/test-categ_So.c: Likewise.
23876         * tests/unictype/test-ctype_alnum.c: Likewise.
23877         * tests/unictype/test-ctype_alpha.c: Likewise.
23878         * tests/unictype/test-ctype_graph.c: Likewise.
23879         * tests/unictype/test-ctype_lower.c: Likewise.
23880         * tests/unictype/test-ctype_print.c: Likewise.
23881         * tests/unictype/test-ctype_punct.c: Likewise.
23882         * tests/unictype/test-ctype_upper.c: Likewise.
23883         * tests/unictype/test-decdigit.h: Likewise.
23884         * tests/unictype/test-digit.h: Likewise.
23885         * tests/unictype/test-numeric.h: Likewise.
23886         * tests/unictype/test-pr_alphabetic.c: Likewise.
23887         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23888         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
23889         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
23890         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23891         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23892         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23893         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23894         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23895         * tests/unictype/test-pr_case_ignorable.c: Likewise.
23896         * tests/unictype/test-pr_cased.c: Likewise.
23897         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
23898         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
23899         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
23900         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
23901         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
23902         * tests/unictype/test-pr_combining.c: Likewise.
23903         * tests/unictype/test-pr_composite.c: Likewise.
23904         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23905         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23906         * tests/unictype/test-pr_deprecated.c: Likewise.
23907         * tests/unictype/test-pr_format_control.c: Likewise.
23908         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23909         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23910         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23911         * tests/unictype/test-pr_id_continue.c: Likewise.
23912         * tests/unictype/test-pr_id_start.c: Likewise.
23913         * tests/unictype/test-pr_ideographic.c: Likewise.
23914         * tests/unictype/test-pr_lowercase.c: Likewise.
23915         * tests/unictype/test-pr_math.c: Likewise.
23916         * tests/unictype/test-pr_numeric.c: Likewise.
23917         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23918         * tests/unictype/test-pr_other_id_continue.c: Likewise.
23919         * tests/unictype/test-pr_other_math.c: Likewise.
23920         * tests/unictype/test-pr_punctuation.c: Likewise.
23921         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23922         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23923         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23924         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23925         * tests/unictype/test-pr_uppercase.c: Likewise.
23926         * tests/unictype/test-pr_xid_continue.c: Likewise.
23927         * tests/unictype/test-pr_xid_start.c: Likewise.
23928         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23929         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23930         changes.
23931         * lib/unictype/categ_Cc.h: Likewise.
23932         * lib/unictype/categ_Cf.h: Likewise.
23933         * lib/unictype/categ_Co.h: Likewise.
23934         * lib/unictype/categ_Cs.h: Likewise.
23935         * lib/unictype/categ_Lt.h: Likewise.
23936         * lib/unictype/categ_Nl.h: Likewise.
23937         * lib/unictype/categ_Pc.h: Likewise.
23938         * lib/unictype/categ_Pd.h: Likewise.
23939         * lib/unictype/categ_Pe.h: Likewise.
23940         * lib/unictype/categ_Pf.h: Likewise.
23941         * lib/unictype/categ_Pi.h: Likewise.
23942         * lib/unictype/categ_Ps.h: Likewise.
23943         * lib/unictype/categ_Z.h: Likewise.
23944         * lib/unictype/categ_Zl.h: Likewise.
23945         * lib/unictype/categ_Zp.h: Likewise.
23946         * lib/unictype/categ_Zs.h: Likewise.
23947         * lib/unictype/ctype_blank.h: Likewise.
23948         * lib/unictype/ctype_cntrl.h: Likewise.
23949         * lib/unictype/ctype_digit.h: Likewise.
23950         * lib/unictype/ctype_space.h: Likewise.
23951         * lib/unictype/ctype_xdigit.h: Likewise.
23952         * lib/unictype/mirror.h: Likewise.
23953         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23954         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23955         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23956         * lib/unictype/pr_bidi_control.h: Likewise.
23957         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23958         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23959         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23960         * lib/unictype/pr_bidi_pdf.h: Likewise.
23961         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23962         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23963         * lib/unictype/pr_dash.h: Likewise.
23964         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23965         * lib/unictype/pr_diacritic.h: Likewise.
23966         * lib/unictype/pr_extender.h: Likewise.
23967         * lib/unictype/pr_hex_digit.h: Likewise.
23968         * lib/unictype/pr_hyphen.h: Likewise.
23969         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23970         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23971         * lib/unictype/pr_ignorable_control.h: Likewise.
23972         * lib/unictype/pr_iso_control.h: Likewise.
23973         * lib/unictype/pr_join_control.h: Likewise.
23974         * lib/unictype/pr_left_of_pair.h: Likewise.
23975         * lib/unictype/pr_line_separator.h: Likewise.
23976         * lib/unictype/pr_logical_order_exception.h: Likewise.
23977         * lib/unictype/pr_non_break.h: Likewise.
23978         * lib/unictype/pr_not_a_character.h: Likewise.
23979         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23980         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23981         * lib/unictype/pr_other_id_start.h: Likewise.
23982         * lib/unictype/pr_other_lowercase.h: Likewise.
23983         * lib/unictype/pr_other_uppercase.h: Likewise.
23984         * lib/unictype/pr_paired_punctuation.h: Likewise.
23985         * lib/unictype/pr_paragraph_separator.h: Likewise.
23986         * lib/unictype/pr_pattern_syntax.h: Likewise.
23987         * lib/unictype/pr_pattern_white_space.h: Likewise.
23988         * lib/unictype/pr_private_use.h: Likewise.
23989         * lib/unictype/pr_quotation_mark.h: Likewise.
23990         * lib/unictype/pr_radical.h: Likewise.
23991         * lib/unictype/pr_soft_dotted.h: Likewise.
23992         * lib/unictype/pr_space.h: Likewise.
23993         * lib/unictype/pr_titlecase.h: Likewise.
23994         * lib/unictype/pr_variation_selector.h: Likewise.
23995         * lib/unictype/pr_white_space.h: Likewise.
23996         * lib/unictype/pr_zero_width.h: Likewise.
23997         * lib/unictype/sy_c_ident.h: Likewise.
23998         * lib/unictype/sy_c_whitespace.h: Likewise.
23999         * lib/unictype/sy_java_whitespace.h: Likewise.
24000         * lib/uninorm/composition-table.gperf: Likewise.
24001         * lib/uninorm/decomposition-table1.h: Likewise.
24002         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
24003         LB8.
24004         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
24005         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
24006         * modules/unictype/*: Bump version number of expected libunistring
24007         version.
24008
24009 2011-01-09  Bruno Haible  <bruno@clisp.org>
24010
24011         Update to Unicode 5.2.0.
24012         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
24013         trailing whitespace removed.
24014
24015 2011-01-09  Bruno Haible  <bruno@clisp.org>
24016
24017         New Unicode character properties, from Unicode 5.2.0.
24018         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
24019         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
24020         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
24021         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
24022         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
24023         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
24024         uc_is_property_cased, uc_is_property_case_ignorable,
24025         uc_is_property_changes_when_lowercased,
24026         uc_is_property_changes_when_uppercased,
24027         uc_is_property_changes_when_titlecased,
24028         uc_is_property_changes_when_casefolded,
24029         uc_is_property_changes_when_casemapped): New declarations.
24030         * lib/unictype/pr_byname.gperf: Add the new properties.
24031         * modules/unictype/property-byname (Depends-on): Depend on the new
24032         properties modules.
24033         * modules/unictype/property-all (Depends-on): Likewise.
24034         * MODULES.html.sh (Unicode string functions): Add
24035         unictype/property-case-ignorable, unictype/property-cased,
24036         unictype/property-changes-when-casefolded,
24037         unictype/property-changes-when-casemapped,
24038         unictype/property-changes-when-lowercased,
24039         unictype/property-changes-when-titlecased,
24040         unictype/property-changes-when-uppercased.
24041
24042         New module 'unictype/property-changes-when-casemapped'.
24043         * modules/unictype/property-changes-when-casemapped: New file.
24044         * lib/unictype/pr_changes_when_casemapped.c: New file.
24045         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
24046         generated by gen-uni-tables.
24047         * modules/unictype/property-changes-when-casemapped-tests: New file.
24048         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
24049         automatically generated by gen-uni-tables.
24050
24051         New module 'unictype/property-changes-when-casefolded'.
24052         * modules/unictype/property-changes-when-casefolded: New file.
24053         * lib/unictype/pr_changes_when_casefolded.c: New file.
24054         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
24055         generated by gen-uni-tables.
24056         * modules/unictype/property-changes-when-casefolded-tests: New file.
24057         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
24058         automatically generated by gen-uni-tables.
24059
24060         New module 'unictype/property-changes-when-titlecased'.
24061         * modules/unictype/property-changes-when-titlecased: New file.
24062         * lib/unictype/pr_changes_when_titlecased.c: New file.
24063         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
24064         generated by gen-uni-tables.
24065         * modules/unictype/property-changes-when-titlecased-tests: New file.
24066         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
24067         automatically generated by gen-uni-tables.
24068
24069         New module 'unictype/property-changes-when-uppercased'.
24070         * modules/unictype/property-changes-when-uppercased: New file.
24071         * lib/unictype/pr_changes_when_uppercased.c: New file.
24072         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
24073         generated by gen-uni-tables.
24074         * modules/unictype/property-changes-when-uppercased-tests: New file.
24075         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
24076         automatically generated by gen-uni-tables.
24077
24078         New module 'unictype/property-changes-when-lowercased'.
24079         * modules/unictype/property-changes-when-lowercased: New file.
24080         * lib/unictype/pr_changes_when_lowercased.c: New file.
24081         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
24082         generated by gen-uni-tables.
24083         * modules/unictype/property-changes-when-lowercased-tests: New file.
24084         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
24085         automatically generated by gen-uni-tables.
24086
24087         New module 'unictype/property-case-ignorable'.
24088         * modules/unictype/property-case-ignorable: New file.
24089         * lib/unictype/pr_case_ignorable.c: New file.
24090         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
24091         by gen-uni-tables.
24092         * modules/unictype/property-case-ignorable-tests: New file.
24093         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
24094         generated by gen-uni-tables.
24095
24096         New module 'unictype/property-cased'.
24097         * modules/unictype/property-cased: New file.
24098         * lib/unictype/pr_cased.c: New file.
24099         * lib/unictype/pr_cased.h: New file, automatically generated by
24100         gen-uni-tables.
24101         * modules/unictype/property-cased-tests: New file.
24102         * tests/unictype/test-pr_cased.c: New file, automatically generated by
24103         gen-uni-tables.
24104
24105 2011-01-09  Bruno Haible  <bruno@clisp.org>
24106
24107         Update to Unicode 5.2.0.
24108         * lib/gen-uni-tables.c (output_predicate, output_category,
24109         output_combclass, output_bidi_category, output_decimal_digit_test,
24110         output_decimal_digit, output_digit_test, output_digit,
24111         output_numeric_test, output_numeric, output_mirror, output_scripts,
24112         output_scripts_byname, output_blocks, output_ident_category): Fix
24113         comment header.
24114         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
24115         get_wbp.
24116         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
24117         items.
24118         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
24119         Changes_When_Lowercased, Changes_When_Uppercased,
24120         Changes_When_Titlecased, Changes_When_Casefolded,
24121         Changes_When_Casemapped.
24122         (is_property_alphabetic, is_property_default_ignorable_code_point):
24123         Update for Unicode 5.2.0.
24124         (is_property_cased, is_property_case_ignorable,
24125         is_property_changes_when_lowercased,
24126         is_property_changes_when_uppercased,
24127         is_property_changes_when_titlecased,
24128         is_property_changes_when_casefolded,
24129         is_property_changes_when_casemapped): New functions.
24130         (output_properties): Output also the properties cased, case_ignorable,
24131         changes_when_lowercased, changes_when_uppercased,
24132         changes_when_titlecased, changes_when_casefolded,
24133         changes_when_casemapped.
24134         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
24135         Unicode TR#11 revision 17 -> 19.
24136         (LBP_CP): New enumeration value.
24137         (LBP_*): Adjust values accordingly.
24138         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
24139         TR#14 revision 22 -> 24.
24140         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
24141         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
24142         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
24143         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
24144         is_WBP_MIDLETTER.
24145         (output_composition_tables): Allow for 24 bits instead of 16 bits in
24146         the code1 and code2 of each composition rule.
24147         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
24148         * lib/unicase/ignorable.h: Likewise.
24149         * lib/unicase/tocasefold.h: Likewise.
24150         * lib/unicase/tolower.h: Likewise.
24151         * lib/unicase/totitle.h: Likewise.
24152         * lib/unicase/toupper.h: Likewise.
24153         * lib/unictype/bidi_of.h: Likewise.
24154         * lib/unictype/blocks.h: Likewise.
24155         * lib/unictype/categ_C.h: Likewise.
24156         * lib/unictype/categ_Cf.h: Likewise.
24157         * lib/unictype/categ_Cn.h: Likewise.
24158         * lib/unictype/categ_L.h: Likewise.
24159         * lib/unictype/categ_Ll.h: Likewise.
24160         * lib/unictype/categ_Lm.h: Likewise.
24161         * lib/unictype/categ_Lo.h: Likewise.
24162         * lib/unictype/categ_Lu.h: Likewise.
24163         * lib/unictype/categ_M.h: Likewise.
24164         * lib/unictype/categ_Mc.h: Likewise.
24165         * lib/unictype/categ_Mn.h: Likewise.
24166         * lib/unictype/categ_N.h: Likewise.
24167         * lib/unictype/categ_Nd.h: Likewise.
24168         * lib/unictype/categ_Nl.h: Likewise.
24169         * lib/unictype/categ_No.h: Likewise.
24170         * lib/unictype/categ_P.h: Likewise.
24171         * lib/unictype/categ_Pd.h: Likewise.
24172         * lib/unictype/categ_Po.h: Likewise.
24173         * lib/unictype/categ_S.h: Likewise.
24174         * lib/unictype/categ_Sc.h: Likewise.
24175         * lib/unictype/categ_So.h: Likewise.
24176         * lib/unictype/categ_of.h: Likewise.
24177         * lib/unictype/combining.h: Likewise.
24178         * lib/unictype/ctype_alnum.h: Likewise.
24179         * lib/unictype/ctype_alpha.h: Likewise.
24180         * lib/unictype/ctype_graph.h: Likewise.
24181         * lib/unictype/ctype_lower.h: Likewise.
24182         * lib/unictype/ctype_print.h: Likewise.
24183         * lib/unictype/ctype_punct.h: Likewise.
24184         * lib/unictype/ctype_upper.h: Likewise.
24185         * lib/unictype/decdigit.h: Likewise.
24186         * lib/unictype/digit.h: Likewise.
24187         * lib/unictype/numeric.h: Likewise.
24188         * lib/unictype/pr_alphabetic.h: Likewise.
24189         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24190         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
24191         * lib/unictype/pr_bidi_european_digit.h: Likewise.
24192         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
24193         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
24194         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
24195         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
24196         * lib/unictype/pr_combining.h: Likewise.
24197         * lib/unictype/pr_composite.h: Likewise.
24198         * lib/unictype/pr_currency_symbol.h: Likewise.
24199         * lib/unictype/pr_dash.h: Likewise.
24200         * lib/unictype/pr_decimal_digit.h: Likewise.
24201         * lib/unictype/pr_deprecated.h: Likewise.
24202         * lib/unictype/pr_diacritic.h: Likewise.
24203         * lib/unictype/pr_extender.h: Likewise.
24204         * lib/unictype/pr_grapheme_base.h: Likewise.
24205         * lib/unictype/pr_grapheme_extend.h: Likewise.
24206         * lib/unictype/pr_grapheme_link.h: Likewise.
24207         * lib/unictype/pr_id_continue.h: Likewise.
24208         * lib/unictype/pr_id_start.h: Likewise.
24209         * lib/unictype/pr_ideographic.h: Likewise.
24210         * lib/unictype/pr_ignorable_control.h: Likewise.
24211         * lib/unictype/pr_logical_order_exception.h: Likewise.
24212         * lib/unictype/pr_lowercase.h: Likewise.
24213         * lib/unictype/pr_numeric.h: Likewise.
24214         * lib/unictype/pr_other_alphabetic.h: Likewise.
24215         * lib/unictype/pr_punctuation.h: Likewise.
24216         * lib/unictype/pr_sentence_terminal.h: Likewise.
24217         * lib/unictype/pr_terminal_punctuation.h: Likewise.
24218         * lib/unictype/pr_unassigned_code_value.h: Likewise.
24219         * lib/unictype/pr_unified_ideograph.h: Likewise.
24220         * lib/unictype/pr_uppercase.h: Likewise.
24221         * lib/unictype/pr_xid_continue.h: Likewise.
24222         * lib/unictype/pr_xid_start.h: Likewise.
24223         * lib/unictype/pr_zero_width.h: Likewise.
24224         * lib/unictype/scripts.h: Likewise.
24225         * lib/unictype/scripts_byname.gperf: Likewise.
24226         * lib/unictype/sy_java_ident.h: Likewise.
24227         * lib/unigbrk/gbrkprop.h: Likewise.
24228         * lib/unilbrk/lbrkprop1.h: Likewise.
24229         * lib/unilbrk/lbrkprop2.h: Likewise.
24230         * lib/unilbrk/lbrktables.h: Likewise.
24231         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
24232         LBP_CP. Implement rule LB30.
24233         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
24234         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
24235         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
24236         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
24237         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
24238         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
24239         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
24240         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
24241         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
24242         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
24243         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
24244         bits instead of 16 bits in the code1 and code2 of each composition
24245         rule.
24246         (uc_composition): Update for Unicode 5.2.0.
24247         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
24248         * lib/uninorm/decomposition-table2.h: Likewise.
24249         * lib/uniwbrk/wbrkprop.h: Likewise.
24250         * tests/unicase/test-cased.c: Likewise.
24251         * tests/unicase/test-ignorable.c: Likewise.
24252         * tests/unicase/test-uc_tolower.c: Likewise.
24253         * tests/unicase/test-uc_totitle.c: Likewise.
24254         * tests/unicase/test-uc_toupper.c: Likewise.
24255         * tests/unictype/test-categ_C.c: Likewise.
24256         * tests/unictype/test-categ_Cf.c: Likewise.
24257         * tests/unictype/test-categ_Cn.c: Likewise.
24258         * tests/unictype/test-categ_L.c: Likewise.
24259         * tests/unictype/test-categ_Ll.c: Likewise.
24260         * tests/unictype/test-categ_Lm.c: Likewise.
24261         * tests/unictype/test-categ_Lo.c: Likewise.
24262         * tests/unictype/test-categ_Lu.c: Likewise.
24263         * tests/unictype/test-categ_M.c: Likewise.
24264         * tests/unictype/test-categ_Mc.c: Likewise.
24265         * tests/unictype/test-categ_Mn.c: Likewise.
24266         * tests/unictype/test-categ_N.c: Likewise.
24267         * tests/unictype/test-categ_Nd.c: Likewise.
24268         * tests/unictype/test-categ_Nl.c: Likewise.
24269         * tests/unictype/test-categ_No.c: Likewise.
24270         * tests/unictype/test-categ_P.c: Likewise.
24271         * tests/unictype/test-categ_Pd.c: Likewise.
24272         * tests/unictype/test-categ_Po.c: Likewise.
24273         * tests/unictype/test-categ_S.c: Likewise.
24274         * tests/unictype/test-categ_Sc.c: Likewise.
24275         * tests/unictype/test-categ_So.c: Likewise.
24276         * tests/unictype/test-ctype_alnum.c: Likewise.
24277         * tests/unictype/test-ctype_alpha.c: Likewise.
24278         * tests/unictype/test-ctype_graph.c: Likewise.
24279         * tests/unictype/test-ctype_lower.c: Likewise.
24280         * tests/unictype/test-ctype_print.c: Likewise.
24281         * tests/unictype/test-ctype_punct.c: Likewise.
24282         * tests/unictype/test-ctype_upper.c: Likewise.
24283         * tests/unictype/test-decdigit.h: Likewise.
24284         * tests/unictype/test-digit.h: Likewise.
24285         * tests/unictype/test-numeric.h: Likewise.
24286         * tests/unictype/test-pr_alphabetic.c: Likewise.
24287         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
24288         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
24289         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
24290         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
24291         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
24292         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
24293         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
24294         * tests/unictype/test-pr_combining.c: Likewise.
24295         * tests/unictype/test-pr_composite.c: Likewise.
24296         * tests/unictype/test-pr_currency_symbol.c: Likewise.
24297         * tests/unictype/test-pr_dash.c: Likewise.
24298         * tests/unictype/test-pr_decimal_digit.c: Likewise.
24299         * tests/unictype/test-pr_deprecated.c: Likewise.
24300         * tests/unictype/test-pr_diacritic.c: Likewise.
24301         * tests/unictype/test-pr_extender.c: Likewise.
24302         * tests/unictype/test-pr_grapheme_base.c: Likewise.
24303         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
24304         * tests/unictype/test-pr_grapheme_link.c: Likewise.
24305         * tests/unictype/test-pr_id_continue.c: Likewise.
24306         * tests/unictype/test-pr_id_start.c: Likewise.
24307         * tests/unictype/test-pr_ideographic.c: Likewise.
24308         * tests/unictype/test-pr_ignorable_control.c: Likewise.
24309         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
24310         * tests/unictype/test-pr_lowercase.c: Likewise.
24311         * tests/unictype/test-pr_numeric.c: Likewise.
24312         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
24313         * tests/unictype/test-pr_punctuation.c: Likewise.
24314         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
24315         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
24316         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
24317         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
24318         * tests/unictype/test-pr_uppercase.c: Likewise.
24319         * tests/unictype/test-pr_xid_continue.c: Likewise.
24320         * tests/unictype/test-pr_xid_start.c: Likewise.
24321         * tests/unictype/test-pr_zero_width.c: Likewise.
24322         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
24323         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
24324         changed behaviour: line breaking is now disallowed between a letter
24325         or '=' and '('.
24326         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
24327         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
24328         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
24329         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
24330         * tests/uniwidth/test-uc_width2.sh: Same updates as in
24331         lib/uniwidth/width.c.
24332         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
24333         without comments, but with the original copyright notice.
24334         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
24335         changes.
24336         * lib/unictype/categ_Cc.h: Likewise.
24337         * lib/unictype/categ_Co.h: Likewise.
24338         * lib/unictype/categ_Cs.h: Likewise.
24339         * lib/unictype/categ_Lt.h: Likewise.
24340         * lib/unictype/categ_Me.h: Likewise.
24341         * lib/unictype/categ_Pc.h: Likewise.
24342         * lib/unictype/categ_Pe.h: Likewise.
24343         * lib/unictype/categ_Pf.h: Likewise.
24344         * lib/unictype/categ_Pi.h: Likewise.
24345         * lib/unictype/categ_Ps.h: Likewise.
24346         * lib/unictype/categ_Sk.h: Likewise.
24347         * lib/unictype/categ_Sm.h: Likewise.
24348         * lib/unictype/categ_Z.h: Likewise.
24349         * lib/unictype/categ_Zl.h: Likewise.
24350         * lib/unictype/categ_Zp.h: Likewise.
24351         * lib/unictype/categ_Zs.h: Likewise.
24352         * lib/unictype/ctype_blank.h: Likewise.
24353         * lib/unictype/ctype_cntrl.h: Likewise.
24354         * lib/unictype/ctype_digit.h: Likewise.
24355         * lib/unictype/ctype_space.h: Likewise.
24356         * lib/unictype/ctype_xdigit.h: Likewise.
24357         * lib/unictype/mirror.h: Likewise.
24358         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
24359         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24360         * lib/unictype/pr_bidi_block_separator.h: Likewise.
24361         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
24362         * lib/unictype/pr_bidi_common_separator.h: Likewise.
24363         * lib/unictype/pr_bidi_control.h: Likewise.
24364         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
24365         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
24366         * lib/unictype/pr_bidi_pdf.h: Likewise.
24367         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
24368         * lib/unictype/pr_bidi_whitespace.h: Likewise.
24369         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
24370         * lib/unictype/pr_format_control.h: Likewise.
24371         * lib/unictype/pr_hex_digit.h: Likewise.
24372         * lib/unictype/pr_hyphen.h: Likewise.
24373         * lib/unictype/pr_ids_binary_operator.h: Likewise.
24374         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
24375         * lib/unictype/pr_iso_control.h: Likewise.
24376         * lib/unictype/pr_join_control.h: Likewise.
24377         * lib/unictype/pr_left_of_pair.h: Likewise.
24378         * lib/unictype/pr_line_separator.h: Likewise.
24379         * lib/unictype/pr_math.h: Likewise.
24380         * lib/unictype/pr_non_break.h: Likewise.
24381         * lib/unictype/pr_not_a_character.h: Likewise.
24382         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
24383         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
24384         * lib/unictype/pr_other_id_continue.h: Likewise.
24385         * lib/unictype/pr_other_id_start.h: Likewise.
24386         * lib/unictype/pr_other_lowercase.h: Likewise.
24387         * lib/unictype/pr_other_math.h: Likewise.
24388         * lib/unictype/pr_other_uppercase.h: Likewise.
24389         * lib/unictype/pr_paired_punctuation.h: Likewise.
24390         * lib/unictype/pr_paragraph_separator.h: Likewise.
24391         * lib/unictype/pr_pattern_syntax.h: Likewise.
24392         * lib/unictype/pr_pattern_white_space.h: Likewise.
24393         * lib/unictype/pr_private_use.h: Likewise.
24394         * lib/unictype/pr_quotation_mark.h: Likewise.
24395         * lib/unictype/pr_radical.h: Likewise.
24396         * lib/unictype/pr_soft_dotted.h: Likewise.
24397         * lib/unictype/pr_space.h: Likewise.
24398         * lib/unictype/pr_titlecase.h: Likewise.
24399         * lib/unictype/pr_variation_selector.h: Likewise.
24400         * lib/unictype/pr_white_space.h: Likewise.
24401         * lib/unictype/sy_c_ident.h: Likewise.
24402         * lib/unictype/sy_c_whitespace.h: Likewise.
24403         * lib/unictype/sy_java_whitespace.h: Likewise.
24404         * modules/uni*/*: Bump version number of expected libunistring version.
24405         Reported by Simon Josefsson.
24406
24407 2011-01-09  Karl Heuer  <kwzh@gnu.org>
24408
24409         useless-if-before-free: fix typo in --help and make the internal,
24410         automatic version date update process work once again.
24411         --help output contained a NUL character instead of the
24412         backslash-zero that was intended.  Also, the "must lie within
24413         the first 8 lines" line is on line 9, and hence not getting
24414         automatically updated.
24415         * build-aux/useless-if-before-free: Fix the former by adding a
24416         backslash, and the latter by condensing the three lines of what-it-does
24417         to a single line, leaving one line of slack for the future.
24418
24419 2011-01-09  Bruno Haible  <bruno@clisp.org>
24420
24421         uniwidth/width: Fix width of U+1D173..U+1D17A.
24422         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
24423         symbolic_width, output_width_property_test): New functions.
24424         (main): Invoke output_nonspacing_property, output_width_property_test.
24425         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
24426         U+1D173..U+1D17A.
24427         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
24428         1.
24429         * modules/uniwidth/*: Bump version number of expected libunistring
24430         version.
24431         * modules/unilbrk/*: Likewise.
24432
24433 2011-01-08  Bruno Haible  <bruno@clisp.org>
24434
24435         uninorm tests: Preserve copyright of Unicode data file.
24436         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
24437         Mention modifications.
24438
24439 2011-01-08  Bruno Haible  <bruno@clisp.org>
24440
24441         gen-uni-tables: Prepare for Unicode 5.2.0.
24442         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
24443         (debug_output_lbp, output_lbp): Update.
24444
24445 2011-01-08  Bruno Haible  <bruno@clisp.org>
24446
24447         unilbrk: Clarify gen-uni-tables.c code.
24448         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
24449         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
24450         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
24451
24452 2011-01-07  Bruno Haible  <bruno@clisp.org>
24453
24454         strtod: Restore errno when successfully parsing Infinity or NaN.
24455         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
24456         restore the original errno.
24457
24458 2011-01-07  Bruno Haible  <bruno@clisp.org>
24459
24460         remove test: Avoid failure on HP-UX 11.
24461         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
24462
24463 2011-01-07  Bruno Haible  <bruno@clisp.org>
24464
24465         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
24466         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
24467         error code.
24468
24469 2011-01-07  Pádraig Brady <P@draigBrady.com>
24470
24471         ignore-value: fixup comments, and add Eric Blake
24472         as an author since he rewrote the macros.
24473         * lib/ignore-value.h (ignore_value):  State that
24474         we now support aggregates.  Also specify exactly
24475         when the GCC warn_unused_result feature was added.
24476
24477 2011-01-06  Eric Blake  <eblake@redhat.com>
24478
24479         ignore-value: support aggregate types
24480         * lib/ignore-value.h (ignore_value): Provide separate gcc
24481         definition.
24482         * modules/ignore-value-tests: New test module.
24483         * tests/test-ignore-value.c: New test.
24484
24485         maint.mk: improve sc_prohibit_strcmp regex
24486         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
24487         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
24488         definition of STRNEQ.
24489
24490         signal: work around Haiku issue with SIGBUS
24491         * lib/siglist.h: Add comment.
24492         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
24493         strsignal's favoring of SIGSEGV.
24494         * tests/test-signal.c (main): Avoid test failure.
24495         * doc/posix-headers/signal.texi (signal.h): Document the issue.
24496         Reported by Scott McCreary.
24497
24498         maint.mk: add pre-release check to ensure submodule commits are public
24499         * top/maint.mk (public-submodule-commit): New rule.
24500         (submodule-checks): New variable.
24501         (alpha beta stable): Depend on the variable.
24502
24503 2011-01-05  Pádraig Brady <P@draigBrady.com>
24504         and Jim Meyering  <meyering@redhat.com>
24505
24506         ignore-value: make ignore_value more generic; deprecate ignore_ptr
24507         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
24508         (ATTRIBUTE_DEPRECATED): Define.
24509         (_ignore_case): New function.
24510         (ignore_value): New macro, to replace the old function.
24511         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
24512         * modules/ignore-value (Depends-on): Add stdint.
24513
24514 2011-01-04  Eric Blake  <eblake@redhat.com>
24515
24516         doc: regenerate INSTALL
24517         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
24518         @firstparagraphindent support, now that autoconf dropped it.
24519         (INSTALL_PRELUDE): Reinstate old macro.
24520         * doc/install.texi: Resync from autoconf.
24521         * doc/INSTALL: Reflect recent autoconf update.
24522         * doc/INSTALL.ISO: Likewise.
24523         * doc/INSTALL.UTF-8: Likewise.
24524         Reported by Karl Berry.
24525
24526 2011-01-04  Bruce Korb  <address@hidden>
24527
24528         git-version-gen: avoid a sub-shell
24529         * build-aux/git-version-gen: Redirect stderr in `...` via
24530         "exec 2>...", rather than via an added sub-shell.
24531
24532 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
24533
24534         git-version-gen: use (...) rather than sh -c '...'
24535         * build-aux/git-version-gen: Rather than hard-coding a shell's name
24536         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
24537
24538 2011-01-03  Jim Meyering  <meyering@redhat.com>
24539
24540         git-version-gen: convert leading TABs to spaces
24541         * build-aux/git-version-gen: Expand leading TABs.
24542
24543         git-version-gen: handle failed "git rev-list"
24544         * build-aux/git-version-gen: Rather than leaking a "fatal" error
24545         from git and proceeding as if it had succeeded but printed no SHA1
24546         checksums, suppress the diagnostic and handle the failure.
24547         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
24548
24549         git-version-gen: include command name in one more diagnostic
24550         * build-aux/git-version-gen: When the required .tarball-version file
24551         was missing or unreadable, you might see the diagnostic from "cat",
24552         but no trace of the name of the invoking script.  Now, you still see
24553         the diagnostic from cat, but also get one from "git-version-gen: ".
24554         Inspired by a patch from Bruce Korb.
24555
24556         update-copyright: adjust test to match changed code
24557         * tests/test-update-copyright.sh: Change test's expected output
24558         to match new actual output.
24559
24560 2011-01-02  Bruno Haible  <bruno@clisp.org>
24561
24562         getlogin_r: Avoid test failure on HP-UX 11.
24563         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
24564         ERANGE when the second argument is zero.
24565         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
24566         portability problem.
24567
24568 2011-01-02  Bruce Korb  <bkorb@gnu.org>
24569
24570         * build-aux/update-copyright: doc Simon's changes
24571
24572 2011-01-02  Simon Josefsson  <simon@josefsson.org>
24573
24574         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
24575         environment variable.
24576
24577 2011-01-02  Bruno Haible  <bruno@clisp.org>
24578
24579         unigbrk: Avoid gcc warnings.
24580         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
24581         unused variable.
24582         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
24583         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
24584         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
24585         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
24586         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
24587         Change type of first argument to 'const char *'.
24588         (main): Remove unused variable.
24589         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
24590         type of first argument to 'const char *'.
24591         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
24592         Likewise.
24593         (main): Change type of variable 's'.
24594         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
24595         to 'int'.
24596
24597 2011-01-02  Bruno Haible  <bruno@clisp.org>
24598
24599         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
24600         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
24601         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
24602         bug.
24603         * lib/pwrite.c: Undo 2010-12-31 patch.
24604         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
24605
24606 2011-01-02  Bruno Haible  <bruno@clisp.org>
24607
24608         pread: Fix test whether it works.
24609         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
24610
24611 2011-01-02  Bruno Haible  <bruno@clisp.org>
24612
24613         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
24614         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
24615         ends in "6". Don't require a specific month name. Try also the locale
24616         names found on HP-UX 11 and Solaris 7.
24617
24618 2011-01-02  Bruno Haible  <bruno@clisp.org>
24619
24620         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
24621         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
24622         C linkage.
24623         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
24624
24625 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24626
24627         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
24628         for consistency, since the "cluster" term is not used elsewhere.
24629         * lib/unigbrk.in.h: Update name.
24630         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
24631         * lib/unigbrk/u16-grapheme-next.c: Update name.
24632         * lib/unigbrk/u16-grapheme-prev.c: Update name.
24633         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
24634         * lib/unigbrk/u32-grapheme-next.c: Update name.
24635         * lib/unigbrk/u32-grapheme-prev.c: Update name.
24636         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
24637         * lib/unigbrk/u8-grapheme-next.c: Update name.
24638         * lib/unigbrk/u8-grapheme-prev.c: Update name.
24639         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
24640         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
24641         Suggested by Bruno Haible.
24642
24643 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24644
24645         Remove module 'u8-grapheme-len' as too redundant with
24646         'u8-grapheme-next'.
24647         * modules/unigbrk/u8-grapheme-len: Delete file.
24648         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
24649         * lib/unigbrk.in.h: Remove prototype for deleted function.
24650         * lib/unigbrk/u8-grapheme-len.c: Delete file.
24651         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
24652
24653         Remove module 'u16-grapheme-len' as too redundant with
24654         'u16-grapheme-next'.
24655         * modules/unigbrk/u16-grapheme-len: Delete file.
24656         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
24657         * lib/unigbrk.in.h: Remove prototype for deleted function.
24658         * lib/unigbrk/u16-grapheme-len.c: Delete file.
24659         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
24660
24661         Remove module 'u32-grapheme-len' as too redundant with
24662         'u32-grapheme-next'.
24663         * modules/unigbrk/u32-grapheme-len: Delete file.
24664         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
24665         * lib/unigbrk.in.h: Remove prototype for deleted function.
24666         * lib/unigbrk/u32-grapheme-len.c: Delete file.
24667         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
24668
24669         Suggested by Bruno Haible.
24670
24671 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24672
24673         * unigbrk.in.h: Fix typo: "ben" => "been".
24674         Reported by Bruno Haible.
24675
24676 2011-01-01  Jim Meyering  <meyering@redhat.com>
24677
24678         maint: update almost all copyright ranges to include 2011
24679         Run the new "make update-copyright" rule.
24680
24681 2011-01-01  Jim Meyering  <meyering@redhat.com>
24682
24683         maint: update-copyright: exempt doc/INSTALL*
24684         * Makefile (update-copyright): Also exclude doc/INSTALL*,
24685         since they are generated.  Suggested by Bruno Haible.
24686
24687 2011-01-01  Jim Meyering  <meyering@redhat.com>
24688
24689         maint: refine the update-copyright rule
24690         * Makefile (update-copyright): Also exclude any file that includes
24691         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
24692         code that merely generates the comment.
24693
24694 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24695
24696         New module 'u8-grapheme-len'.
24697         * modules/unigbrk/u8-grapheme-len: New file.
24698         * modules/unigbrk/u8-grapheme-len-tests: New file.
24699         * lib/unigbrk.in.h: Add prototype for new function.
24700         * lib/unigbrk/u8-grapheme-len.c: New file.
24701         * tests/unigbrk/test-u8-grapheme-len.c: New file.
24702
24703         New module 'u16-grapheme-len'.
24704         * modules/unigbrk/u16-grapheme-len: New file.
24705         * modules/unigbrk/u16-grapheme-len-tests: New file.
24706         * lib/unigbrk.in.h: Add prototype for new function.
24707         * lib/unigbrk/u16-grapheme-len.c: New file.
24708         * tests/unigbrk/test-u16-grapheme-len.c: New file.
24709
24710         New module 'u32-grapheme-len'.
24711         * modules/unigbrk/u32-grapheme-len: New file.
24712         * modules/unigbrk/u32-grapheme-len-tests: New file.
24713         * lib/unigbrk.in.h: Add prototype for new function.
24714         * lib/unigbrk/u32-grapheme-len.c: New file.
24715         * tests/unigbrk/test-u32-grapheme-len.c: New file.
24716
24717         New module 'u8-grapheme-next'.
24718         * modules/unigbrk/u8-grapheme-next: New file.
24719         * modules/unigbrk/u8-grapheme-next-tests: New file.
24720         * lib/unigbrk.in.h: Add prototype for new function.
24721         * lib/unigbrk/u8-grapheme-next.c: New file.
24722         * tests/unigbrk/test-u8-grapheme-next.c: New file.
24723
24724         New module 'u16-grapheme-next'.
24725         * modules/unigbrk/u16-grapheme-next: New file.
24726         * modules/unigbrk/u16-grapheme-next-tests: New file.
24727         * lib/unigbrk.in.h: Add prototype for new function.
24728         * lib/unigbrk/u16-grapheme-next.c: New file.
24729         * tests/unigbrk/test-u16-grapheme-next.c: New file.
24730
24731         New module 'u32-grapheme-next'.
24732         * modules/unigbrk/u32-grapheme-next: New file.
24733         * modules/unigbrk/u32-grapheme-next-tests: New file.
24734         * lib/unigbrk.in.h: Add prototype for new function.
24735         * lib/unigbrk/u32-grapheme-next.c: New file.
24736         * tests/unigbrk/test-u32-grapheme-next.c: New file.
24737
24738         New module 'u8-grapheme-prev'.
24739         * modules/unigbrk/u8-grapheme-prev: New file.
24740         * modules/unigbrk/u8-grapheme-prev-tests: New file.
24741         * lib/unigbrk.in.h: Add prototype for new function.
24742         * lib/unigbrk/u8-grapheme-prev.c: New file.
24743         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
24744
24745         New module 'u16-grapheme-prev'.
24746         * modules/unigbrk/u16-grapheme-prev: New file.
24747         * modules/unigbrk/u16-grapheme-prev-tests: New file.
24748         * lib/unigbrk.in.h: Add prototype for new function.
24749         * lib/unigbrk/u16-grapheme-prev.c: New file.
24750         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
24751
24752         New module 'u32-grapheme-prev'.
24753         * modules/unigbrk/u32-grapheme-prev: New file.
24754         * modules/unigbrk/u32-grapheme-prev-tests: New file.
24755         * lib/unigbrk.in.h: Add prototype for new function.
24756         * lib/unigbrk/u32-grapheme-prev.c: New file.
24757         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
24758
24759         New module 'u8-grapheme-breaks'.
24760         * modules/unigbrk/u8-grapheme-breaks: New file.
24761         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
24762         * lib/unigbrk.in.h: Add prototype for new function.
24763         * lib/unigbrk/u8-grapheme-breaks.c: New file.
24764         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
24765
24766         New module 'u16-grapheme-breaks'.
24767         * modules/unigbrk/u16-grapheme-breaks: New file.
24768         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
24769         * lib/unigbrk.in.h: Add prototype for new function.
24770         * lib/unigbrk/u16-grapheme-breaks.c: New file.
24771         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
24772
24773         New module 'u32-grapheme-breaks'.
24774         * modules/unigbrk/u32-grapheme-breaks: New file.
24775         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
24776         * lib/unigbrk.in.h: Add prototype for new function.
24777         * lib/unigbrk/u32-grapheme-breaks.c: New file.
24778         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
24779
24780         New module 'ulc-grapheme-breaks'.
24781         * modules/unigbrk/ulc-grapheme-breaks: New file.
24782         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
24783         * m4/locale-ar.m4: New file.
24784         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
24785         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
24786         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
24787
24788 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24789
24790         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
24791         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
24792         modified how this file was generated before I initially submitted
24793         the module, but failed to regenerate it.  This meant that several
24794         of the level2 entries were wrong.
24795         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
24796         Remove the division-by-2 that is folded into the table now that
24797         gbrkprop.h has been regenerated properly.  Now -1 entries are
24798         handled correctly.
24799
24800         New module 'unigbrk/uc-gbrk-prop-tests'.
24801         * modules/unigbrk/uc-gbrk-prop-tests: New file.
24802         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
24803         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
24804         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
24805
24806 2011-01-01  Bruno Haible  <bruno@clisp.org>
24807
24808         Avoid use of hexadecimal escapes.
24809         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
24810         instead of hexadecimal escapes.
24811
24812 2011-01-01  Jim Meyering  <meyering@redhat.com>
24813
24814         maint: new rule to update copyright year ranges
24815         * Makefile (update-copyright): New rule.
24816
24817         maint: indent with TABs in Makefile
24818         * Makefile: Expand leading sequences of spaces to TABs
24819
24820         version-etc: update the copyright year it reports
24821         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
24822
24823 2010-12-31  Bruno Haible  <bruno@clisp.org>
24824
24825         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
24826         * lib/isfinite.c (zerof, zerod, zerol): New variables.
24827         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
24828         zero.
24829
24830 2010-12-31  Bruno Haible  <bruno@clisp.org>
24831
24832         pwrite: Work around HP-UX 11.11 bug.
24833         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
24834         works and set REPLACE_PWRITE if not.
24835         * lib/pwrite.c (pwrite): Add an implementation that uses the system
24836         function.
24837         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
24838
24839 2010-12-31  Bruno Haible  <bruno@clisp.org>
24840
24841         pread: Work around HP-UX 11 bugs.
24842         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
24843         and set REPLACE_PREAD if not.
24844         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
24845
24846 2010-12-31  Eric Blake  <eblake@redhat.com>
24847
24848         nl_langinfo: fix YESEXPR on Irix 6.5
24849         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
24850         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
24851         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
24852         it.
24853
24854 2010-12-31  Bruno Haible  <bruno@clisp.org>
24855
24856         iconv: Document HP-UX 11 bug.
24857         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
24858
24859 2010-12-31  Bruno Haible  <bruno@clisp.org>
24860
24861         ldexpl: Fix link error on HP-UX 11.
24862         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
24863         LDEXPL_LIBM, using $ISNANL_LIBM.
24864
24865 2010-12-31  Eric Blake  <eblake@redhat.com>
24866
24867         ftello: avoid compilation failure with SunStudio c89
24868         * lib/ftello.c (ftello): Use lseek, not llseek.
24869
24870         tests: avoid failing coreutils tests on cygwin
24871         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
24872         (create_exe_shims_): Return 0 when skipping.
24873
24874 2010-12-31  Bruno Haible  <bruno@clisp.org>
24875
24876         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
24877         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
24878
24879 2010-12-31  Bruno Haible  <bruno@clisp.org>
24880
24881         waitpid: Fix link error in C++ mode.
24882         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
24883
24884 2010-12-31  Bruno Haible  <bruno@clisp.org>
24885
24886         isnan: Use GCC built-ins when possible.
24887         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
24888         __builtin_isnan.
24889         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
24890         (isnan): Define using GCC built-ins for GCC >= 4.0.
24891
24892 2010-12-31  Bruno Haible  <bruno@clisp.org>
24893
24894         isnand: Fix mistake.
24895         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
24896         __builtin_isnand.
24897
24898 2010-12-31  Bruno Haible  <bruno@clisp.org>
24899
24900         open: Avoid C++ error on HP-UX 11.
24901         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
24902
24903 2010-12-31  Bruno Haible  <bruno@clisp.org>
24904
24905         time_r: Add missing declarations on HP-UX 11.
24906         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
24907         instead of HAVE_LOCALTIME_R.
24908         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
24909         HAVE_LOCALTIME_R always.
24910         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
24911         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
24912         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
24913         HAVE_LOCALTIME_R.
24914         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
24915         * doc/posix-functions/localtime_r.texi: Likewise.
24916
24917 2010-12-29  Eric Blake  <eblake@redhat.com>
24918
24919         mountlist: tweak previous commit
24920         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
24921         Reported by Paul Eggert.
24922
24923         mountlist: fix local drive detection on cygwin
24924         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
24925         that works for cygwin.
24926
24927 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24928
24929         ftoastr, snprintf: ftoastr + snprintf module
24930         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
24931         since the snprintf module now should be good enough here.
24932         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
24933         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
24934         and gl_MODULE_INDICATOR([snprintf]), but the former enables
24935         GNULIB_SNPRINTF only for the test directory, and the latter
24936         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
24937         seems to suffice by itself.
24938
24939 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
24940
24941         alloca: one step towards thread-safety
24942         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
24943         need for a static variable.  All callers changed.  This does not
24944         make the alloca replacement thread-safe, but it's one step.
24945
24946         tests: minor indenting change
24947         * tests/init.sh: Sync from coreutils housekeeping patch
24948         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
24949         to keep lines within 80 columns.
24950
24951 2010-12-28  Jim Meyering  <meyering@redhat.com>
24952
24953         regex: don't infloop on persistent failing calloc
24954         * lib/regexec.c (build_trtable): Return failure indication upon
24955         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
24956         In glibc, this was fixed for version 2.13:
24957         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
24958
24959 2010-12-28  Bruno Haible  <bruno@clisp.org>
24960             Paul Eggert <eggert@cs.ucla.edu>
24961
24962         linkat: Make implementation robust against system behaviour variations.
24963         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
24964         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
24965         way, and to -2 if it needs a generic runtime test.
24966         * lib/linkat.c (solaris_optimized_link_immediate,
24967         solaris_optimized_link_follow): New functions.
24968         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
24969         (check_same_link): Use it.
24970
24971 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
24972
24973         New module 'unigbrk/base'.
24974         * modules/unigbrk/base: New file.
24975         * lib/unigbrk.in.h: New file.
24976
24977         New module 'unigbrk/uc-gbrk-prop'.
24978         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
24979         * modules/unigbrk/uc-gbrk-prop: New file.
24980         * lib/unigbrk/gbrkprop.h: New file.
24981         * lib/unigbrk/uc-gbrk-prop.c: New file.
24982
24983         New module 'unigbrk/uc-is-grapheme-break'.
24984         * modules/unigbrk/uc-is-grapheme-break: New file.
24985         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
24986         * lib/unigbrk/uc-is-grapheme-break.c: New file.
24987         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
24988         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
24989         * tests/unigbrk/GraphemeBreakTest.txt: New file.
24990
24991         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
24992
24993 2010-12-27  Bruno Haible  <bruno@clisp.org>
24994
24995         linkat test: Avoid failure on Solaris 11 2010-11.
24996         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
24997
24998 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24999
25000         utimens: work around glibc rounding bug on more platforms
25001         * lib/utimens.c (fdutimens): Work around rounding bug even if
25002         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
25003         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
25004
25005 2010-12-27  Bruno Haible  <bruno@clisp.org>
25006
25007         select tests: Improve comments.
25008         * tests/test-select.c (do_select): Add comments.
25009
25010 2010-12-27  Bruno Haible  <bruno@clisp.org>
25011
25012         select tests: Safer way of handling timeout.
25013         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
25014         at every invocation.
25015
25016 2010-12-27  Bruno Haible  <bruno@clisp.org>
25017
25018         select tests: Use 'bool' where appropriate.
25019         * tests/test-select.c (connect_to_socket): Change argument type to
25020         'bool'.
25021
25022 2010-12-27  Bruno Haible  <bruno@clisp.org>
25023
25024         select tests: Use existing modules.
25025         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
25026         (configure.ac): Don't test for unistd.h.
25027         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
25028         declared in <unistd.h>.
25029
25030 2010-12-27  Bruno Haible  <bruno@clisp.org>
25031
25032         mbrtowc: Work around a Solaris 7 bug.
25033         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
25034         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
25035         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
25036         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
25037         MBRTOWC_NULL_ARG1_BUG.
25038         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
25039         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
25040         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
25041         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
25042
25043 2010-12-27  Jim Meyering  <meyering@redhat.com>
25044
25045         read-file.c: tweak syntax
25046         * lib/read-file.c (fread_file): Remove space after "*" in function
25047         definitions.
25048
25049 2010-12-27  Bruno Haible  <bruno@clisp.org>
25050
25051         times test: Avoid gcc warnings on OSF/1.
25052         * tests/test-times.c (main): Cast printf arguments from clock_t to
25053         'long int'.
25054
25055 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
25056
25057         utimens: work around glibc rounding bug on older Linux kernels
25058         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
25059         on Linux with a glibc whose utimes might not work, then work
25060         around a longstanding glibc bug involving rounding rather than
25061         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
25062         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
25063
25064 2010-12-26  Bruno Haible  <bruno@clisp.org>
25065
25066         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
25067         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
25068         _GL_CXXALIAS_SYS.
25069         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25070
25071 2010-12-26  Bruno Haible  <bruno@clisp.org>
25072
25073         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
25074         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
25075         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25076         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
25077         looking for the declaration.
25078         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
25079         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
25080         problem.
25081         * doc/posix-functions/inet_pton.texi: Likewise.
25082
25083 2010-12-26  Bruno Haible  <bruno@clisp.org>
25084
25085         arpa_inet: Use the common idioms with C++ support.
25086         * lib/arpa_inet.in.h: Include c++defs.h.
25087         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
25088         support.
25089         * modules/arpa_inet (Depends-on): Add c++defs.
25090         (Makefile.am): Substitute the contents of c++defs.h.
25091         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
25092         * modules/arpa_inet-c++-tests: New file.
25093         * tests/test-arpa_inet-c++.cc: New file.
25094
25095 2010-12-25  Bruno Haible  <bruno@clisp.org>
25096
25097         Fix more C++ link errors on Solaris 8.
25098         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
25099         $(LIB_EACCESS).
25100         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
25101         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
25102         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
25103         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
25104         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
25105
25106 2010-12-25  Bruno Haible  <bruno@clisp.org>
25107
25108         printf-posix: Fix link error when a non-GCC compiler is used.
25109         * lib/stdio.in.h (printf): When not using GCC, override printf
25110         correctly.
25111         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25112
25113 2010-12-25  Bruno Haible  <bruno@clisp.org>
25114
25115         strerror_r-posix: Update doc.
25116         * doc/posix-functions/strerror_r.texi: Update doc about the return
25117         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
25118
25119 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25120
25121         utimens: simplify the logic of the previous change
25122         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
25123         This should not affect whether the test succeeds or fails.
25124
25125         utimens: configure better on hosts with NFS clock skew
25126         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
25127         uses the clock of the local host.  It might use the clock of the
25128         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
25129         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
25130
25131 2010-12-25  Bruno Haible  <bruno@clisp.org>
25132
25133         ptsname test: Avoid failure on Solaris.
25134         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
25135         open a pseudo-terminal; don't use BSD-style ptys.
25136         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
25137
25138 2010-12-25  Bruno Haible  <bruno@clisp.org>
25139
25140         ptsname: Avoid ERANGE failure on some systems.
25141         * lib/ptsname.c (buffer): Increase size.
25142
25143 2010-12-25  Bruno Haible  <bruno@clisp.org>
25144
25145         rename, renameat: Avoid test failures at NFS mounted locations.
25146         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
25147         so that subsequent mkdir calls succeed.
25148
25149 2010-12-25  Bruno Haible  <bruno@clisp.org>
25150
25151         iswblank: Fix C++ link error on Solaris 8.
25152         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
25153         _GL_FUNCDECL_SYS.
25154
25155 2010-12-25  Bruno Haible  <bruno@clisp.org>
25156
25157         unistd: Fix C++ link error on Solaris 8.
25158         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
25159
25160 2010-12-25  Bruno Haible  <bruno@clisp.org>
25161
25162         readlink doc: Mention an old glibc bug.
25163         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
25164
25165 2010-12-25  Bruno Haible  <bruno@clisp.org>
25166
25167         fcntl-h: Fix for use of C++ on glibc systems.
25168         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25169         also on glibc systems in C++ mode.
25170         Reported by Gary V. Vaughan <gary@gnu.org>.
25171
25172 2010-12-25  Bruno Haible  <bruno@clisp.org>
25173
25174         roundl-ieee: Make it work on OSF/1 5.1 with cc.
25175         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
25176
25177 2010-12-25  Bruno Haible  <bruno@clisp.org>
25178
25179         truncl-ieee: Make it work on OSF/1 5.1 with cc.
25180         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
25181         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
25182         test whether truncl works according to ISO C 99 with IEC 60559.
25183         * m4/truncl-ieee.m4: New file.
25184         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
25185         m4/signbit.m4.
25186         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
25187
25188 2010-12-25  Bruno Haible  <bruno@clisp.org>
25189
25190         ceill-ieee: Make it work on OSF/1 5.1 with cc.
25191         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
25192         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
25193         test whether ceill works according to ISO C 99 with IEC 60559.
25194         * m4/ceill-ieee.m4: New file.
25195         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
25196         m4/signbit.m4.
25197         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
25198
25199 2010-12-25  Bruno Haible  <bruno@clisp.org>
25200
25201         Ensure all prerequisites of <wchar.h> are included.
25202         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
25203         before <wchar.h>.
25204         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25205         gl_MBRLEN_NUL_RETVAL): Likewise.
25206         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25207         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
25208         AC_FUNC_MBRTOWC): Likewise.
25209         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25210         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
25211         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25212         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
25213         Likewise.
25214         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25215         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
25216         (gl_WCHAR_H): Improve comments.
25217         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25218
25219 2010-12-25  Bruno Haible  <bruno@clisp.org>
25220
25221         strtok_r: Fix C syntax error in autoconf macro.
25222         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
25223         characters in test program.
25224
25225 2010-12-24  Bruno Haible  <bruno@clisp.org>
25226
25227         ceil, trunc, round: Fix gcc warnings.
25228         * lib/ceil.c (MIN): Undefine before redefining.
25229         * lib/trunc.c (MIN): Likewise.
25230         * lib/round.c (MIN): Likewise.
25231         Include <math.h> first.
25232
25233 2010-12-24  Bruno Haible  <bruno@clisp.org>
25234
25235         select tests: Avoid failures on OSF/1 5.1.
25236         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
25237         failure of closing the last socket; it may fail with ECONNRESET.
25238
25239 2010-12-24  Eric Blake  <eblake@redhat.com>
25240
25241         stdint: avoid HP-UX 10.20 preprocessor bug
25242         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
25243         than #if.
25244         * tests/test-floor2.c (main): Likewise.
25245         Reported by Peter O'Gorman.
25246
25247         pipe: make obsoletion transition easier
25248         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
25249         * modules/pipe (Files): Include revived file.
25250         (Include): Drop reference, to mirror getdate's behavior.
25251
25252 2010-12-24  Bruno Haible  <bruno@clisp.org>
25253
25254         sys_socket: Hide mismatch of declarations on NonStop Kernel.
25255         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
25256         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
25257         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25258
25259 2010-12-24  Bruno Haible  <bruno@clisp.org>
25260
25261         gethostname: Ensure declaration on NonStop Kernel.
25262         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
25263         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25264
25265 2010-12-24  Bruno Haible  <bruno@clisp.org>
25266
25267         sys_select: Ensure all necessary types on NonStop Kernel.
25268         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
25269         include <sys/time.h>.
25270         * doc/posix-headers/sys_select.texi: Mention that it's missing on
25271         NonStop Kernel.
25272         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25273
25274 2010-12-24  Bruno Haible  <bruno@clisp.org>
25275
25276         sys_select: Remove unneeded include.
25277         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
25278         have <sys/select.h>.
25279
25280 2010-12-24  Bruno Haible  <bruno@clisp.org>
25281
25282         gethostname: Provide a fallback for HOST_NAME_MAX.
25283         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
25284         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
25285         instead.
25286         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25287
25288 2010-12-24  Bruno Haible  <bruno@clisp.org>
25289
25290         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
25291         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
25292         (SA_RESTART): Likewise.
25293         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25294
25295 2010-12-24  Bruno Haible  <bruno@clisp.org>
25296
25297         signal: Define NSIG.
25298         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
25299         * tests/test-signal.c (nsig): New variable.
25300         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25301
25302 2010-12-24  Bruno Haible  <bruno@clisp.org>
25303
25304         rename, renameat: Avoid test failures on OSF/1 5.1.
25305         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
25306         alternative error codes.
25307         * tests/test-renameat.c (main): Likewise.
25308
25309 2010-12-24  Bruno Haible  <bruno@clisp.org>
25310
25311         *printf: Detect large precisions bug on Solaris 10/SPARC.
25312         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
25313         by Paul Eggert.
25314         * tests/test-snprintf-posix.h (test_function): Add this test code here
25315         too.
25316         * tests/test-sprintf-posix.h (test_function): Likewise.
25317         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25318         * tests/test-vasprintf-posix.c (test_function): Likewise.
25319         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
25320         around by gnulib.
25321         * doc/posix-functions/printf.texi: Likewise.
25322         * doc/posix-functions/snprintf.texi: Likewise.
25323         * doc/posix-functions/sprintf.texi: Likewise.
25324         * doc/posix-functions/vfprintf.texi: Likewise.
25325         * doc/posix-functions/vprintf.texi: Likewise.
25326         * doc/posix-functions/vsnprintf.texi: Likewise.
25327         * doc/posix-functions/vsprintf.texi: Likewise.
25328         * doc/posix-functions/dprintf.texi: Undo last commit.
25329         * doc/posix-functions/vdprintf.texi: Likewise.
25330
25331 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25332
25333         tests: port test-fdutimensat.c to Solaris 8
25334         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
25335         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
25336         On Solaris 8, it fails with errno == ENOSYS, because there is no
25337         futimens (so it can't use the fd), and there is no lutimens (so it
25338         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
25339
25340         vsnprintf: make more consistent with snprintf; doc fixes
25341
25342         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
25343         the byte count return problem was promoted from the snprintf-posix
25344         to the snprintf module.
25345         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
25346         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
25347         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
25348         * tests/test-snprintf.c (main): Check the byte count returned.
25349         * tests/test-vsnprintf.c (main): Likewise.
25350
25351 2010-12-23  Eric Blake  <eblake@redhat.com>
25352
25353         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
25354         * modules/sigpipe (License): Relax license.
25355
25356 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
25357
25358         doc: document Solaris printf bug with large float precisions
25359         * doc/posix-functions/dprintf.texi (dprintf):
25360         * doc/posix-functions/fprintf.texi (fprintf):
25361         * doc/posix-functions/printf.texi (printf):
25362         * doc/posix-functions/snprintf.texi (snprintf):
25363         * doc/posix-functions/sprintf.texi (sprintf):
25364         * doc/posix-functions/vdprintf.texi (vdprintf):
25365         * doc/posix-functions/vfprintf.texi (vfprintf):
25366         * doc/posix-functions/vprintf.texi (vprintf):
25367         * doc/posix-functions/vsnprintf.texi (vsnprintf):
25368         * doc/posix-functions/vsprintf.texi (vsprintf):
25369         Mention that these functions mishandle large floating point
25370         precisions on Solaris 10.  The same bug is also present in Solaris
25371         8, and I assume earlier.  This causes "cd gnulib-tests; make
25372         check" to fail on Solaris 8 (and I assume, later) when building
25373         the latest coreutils, in test-vasprintf-posix's call to
25374         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
25375         the wide flavors (e.g., wprintf) so this patch just updates the
25376         documentation for the narrow ones.
25377
25378         test-posixtm.c: add two tests
25379         * tests/test-posixtm.c: Add two tests, to highlight the
25380         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
25381         around this bug; this is merely to document it.
25382
25383 2010-12-22  Bruno Haible  <bruno@clisp.org>
25384
25385         getlogin_r: Work around portability problem on OSF/1.
25386         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
25387         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
25388         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
25389         test for a truncated result.
25390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
25391         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
25392         * modules/getlogin_r (Depends-on): Add memchr.
25393         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
25394
25395 2010-12-22  Bruno Haible  <bruno@clisp.org>
25396
25397         ptsname: Avoid test failure on OSF/1 5.1.
25398         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
25399         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
25400         (same_slave): New function.
25401         (main): Use it to compare ptsname's result with the expected file name.
25402
25403 2010-12-22  Bruno Haible  <bruno@clisp.org>
25404
25405         Port extended stdio modules to HP NonStop Kernel.
25406         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
25407         macros.
25408         * lib/fbufmode.c: Update comments.
25409         * lib/fflush.c: Likewise.
25410         * lib/fpurge.c: Likewise.
25411         * lib/freadable.c: Likewise.
25412         * lib/freadahead.c: Likewise.
25413         * lib/freading.c: Likewise.
25414         * lib/freadptr.c: Likewise.
25415         * lib/freadseek.c: Likewise.
25416         * lib/fseeko.c: Likewise.
25417         * lib/fseterr.c: Likewise.
25418         * lib/fwritable.c: Likewise.
25419         * lib/fwriting.c: Likewise.
25420         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25421
25422 2010-12-22  Bruno Haible  <bruno@clisp.org>
25423
25424         ttyname_r: Work around bug on OSF/1 5.1.
25425         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
25426         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
25427         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
25428         present.
25429         * lib/ttyname_r.c (ttyname_r): Update comments.
25430
25431 2010-12-22  Bruno Haible  <bruno@clisp.org>
25432
25433         round: Implement result sign according to IEEE 754.
25434         * lib/round.c (MIN, MINUS_ZERO): New macros.
25435         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
25436         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
25437         * tests/test-round-ieee.c (main): Likewise.
25438         * tests/test-roundl-ieee.c (main): Likewise.
25439
25440         trunc: Implement result sign according to IEEE 754.
25441         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
25442         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
25443         * tests/test-trunc2.c: Include minus-zero.h.
25444         (MINUS_ZERO): New macro.
25445         (trunc_reference): Keep in sync with lib/trunc.c.
25446         * tests/test-truncf2.c: Include minus-zero.h.
25447         (MINUS_ZERO): New macro.
25448         (truncf_reference): Keep in sync with lib/trunc.c.
25449         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
25450         * tests/test-trunc-ieee.c (main): Likewise.
25451         * tests/test-truncl-ieee.c (main): Likewise.
25452
25453         ceil: Implement result sign according to IEEE 754.
25454         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
25455         (FUNC): Return -0.0 for -1 < x < 0.
25456         * tests/test-ceil2.c: Include minus-zero.h.
25457         (MINUS_ZERO): New macro.
25458         (ceil_reference): Keep in sync with lib/ceil.c.
25459         * tests/test-ceilf2.c: Include minus-zero.h.
25460         (MINUS_ZERO): New macro.
25461         (ceilf_reference): Keep in sync with lib/ceil.c.
25462         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
25463         * tests/test-ceil-ieee.c (main): Likewise.
25464         * tests/test-ceill-ieee.c (main): Likewise.
25465
25466         floor: Implement result sign according to IEEE 754.
25467         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
25468         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
25469         * tests/test-floorf2.c (floorf_reference): Likewise.
25470         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
25471         * tests/test-floor-ieee.c (main): Likewise.
25472         * tests/test-floorl-ieee.c (main): Likewise.
25473
25474 2010-12-22  Bruno Haible  <bruno@clisp.org>
25475
25476         getaddrinfo: Update doc.
25477         * doc/posix-functions/gai_strerror.texi: Return type is also different
25478         on AIX and HP-UX.
25479
25480 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
25481
25482         getaddrinfo, inet_ntop: Update doc for Solaris.
25483         * doc/posix-functions/gai_strerror.texi: Return type is also an
25484         issue on Solaris 9 and earlier.
25485         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
25486         on Solaris 10 and earlier.
25487
25488 2010-12-21  Bruno Haible  <bruno@clisp.org>
25489
25490         New module 'roundl-ieee'.
25491         * modules/roundl-ieee: New file.
25492         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
25493         test whether roundl works according to ISO C 99 with IEC 60559.
25494         * m4/roundl-ieee.m4: New file.
25495         * modules/roundl-ieee-tests: New file.
25496         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
25497         * tests/test-roundl.c (main): Remove signbit tests.
25498         * modules/roundl-tests (Depends-on): Remove signbit.
25499         * doc/posix-functions/roundl.texi: Mention the new module.
25500
25501 2010-12-21  Bruno Haible  <bruno@clisp.org>
25502
25503         New module 'truncl-ieee'.
25504         * modules/truncl-ieee: New file.
25505         * modules/truncl-ieee-tests: New file.
25506         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
25507         * tests/test-truncl.c (main): Remove signbit tests.
25508         * modules/truncl-tests (Depends-on): Remove signbit.
25509         * doc/posix-functions/truncl.texi: Mention the new module.
25510
25511 2010-12-21  Bruno Haible  <bruno@clisp.org>
25512
25513         New module 'ceill-ieee'.
25514         * modules/ceill-ieee: New file.
25515         * modules/ceill-ieee-tests: New file.
25516         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
25517         * tests/test-ceill.c (main): Remove signbit tests.
25518         * modules/ceill-tests (Depends-on): Remove signbit.
25519         * doc/posix-functions/ceill.texi: Mention the new module.
25520
25521 2010-12-21  Bruno Haible  <bruno@clisp.org>
25522
25523         New module 'floorl-ieee'.
25524         * modules/floorl-ieee: New file.
25525         * modules/floorl-ieee-tests: New file.
25526         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
25527         * tests/test-floorl.c (main): Remove signbit tests.
25528         * modules/floorl-tests (Depends-on): Remove signbit.
25529         * doc/posix-functions/floorl.texi: Mention the new module.
25530
25531 2010-12-21  Bruno Haible  <bruno@clisp.org>
25532
25533         New module 'round-ieee'.
25534         * modules/round-ieee: New file.
25535         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
25536         whether round works according to ISO C 99 with IEC 60559.
25537         * m4/round-ieee.m4: New file.
25538         * modules/round-ieee-tests: New file.
25539         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
25540         * tests/test-round1.c (main): Remove signbit tests.
25541         * modules/round-tests (Depends-on): Remove 'signbit'.
25542         * doc/posix-functions/round.texi: Mention the new module.
25543
25544 2010-12-21  Bruno Haible  <bruno@clisp.org>
25545
25546         New module 'trunc-ieee'.
25547         * modules/trunc-ieee: New file.
25548         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
25549         whether trunc works according to ISO C 99 with IEC 60559.
25550         * m4/trunc-ieee.m4: New file.
25551         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
25552         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
25553         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
25554         * modules/trunc-ieee-tests: New file.
25555         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
25556         * tests/test-trunc1.c (main): Remove signbit tests.
25557         * modules/trunc-tests (Depends-on): Remove 'signbit'.
25558         * doc/posix-functions/trunc.texi: Mention the new module.
25559
25560 2010-12-21  Bruno Haible  <bruno@clisp.org>
25561
25562         New module 'ceil-ieee'.
25563         * modules/ceil-ieee: New file.
25564         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
25565         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
25566         ISO C 99 with IEC 60559.
25567         * m4/ceil-ieee.m4: New file.
25568         * modules/ceil (Files): Add lib/ceil.c.
25569         (Depends-on): Add 'float'.
25570         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
25571         * lib/math.in.h (ceil): New declaration.
25572         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
25573         REPLACE_CEIL.
25574         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
25575         * modules/ceil-ieee-tests: New file.
25576         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
25577         * tests/test-math-c++.cc: Check the signature of 'ceil'.
25578         * doc/posix-functions/ceil.texi: Mention the new module.
25579
25580 2010-12-21  Bruno Haible  <bruno@clisp.org>
25581
25582         New module 'floor-ieee'.
25583         * modules/floor-ieee: New file.
25584         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
25585         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
25586         ISO C 99 with IEC 60559.
25587         * m4/floor-ieee.m4: New file.
25588         * modules/floor (Files): Add lib/floor.c.
25589         (Depends-on): Add 'float'.
25590         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
25591         * lib/math.in.h (floor): New declaration.
25592         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
25593         REPLACE_FLOOR.
25594         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
25595         * modules/floor-ieee-tests: New file.
25596         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
25597         * tests/test-math-c++.cc: Check the signature of 'floor'.
25598         * doc/posix-functions/floor.texi: Mention the new module.
25599
25600 2010-12-21  Bruno Haible  <bruno@clisp.org>
25601
25602         New module 'roundf-ieee'.
25603         * modules/roundf-ieee: New file.
25604         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
25605         test whether roundf works according to ISO C 99 with IEC 60559.
25606         * m4/roundf-ieee.m4: New file.
25607         * modules/roundf-ieee-tests: New file.
25608         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
25609         * tests/test-roundf1.c (main): Remove signbit tests.
25610         * modules/roundf-tests (Depends-on): Remove 'signbit'.
25611         * doc/posix-functions/roundf.texi: Mention the new module.
25612
25613 2010-12-21  Bruno Haible  <bruno@clisp.org>
25614
25615         New module 'truncf-ieee'.
25616         * modules/truncf-ieee: New file.
25617         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
25618         test whether truncf works according to ISO C 99 with IEC 60559.
25619         * m4/truncf-ieee.m4: New file.
25620         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
25621         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
25622         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
25623         * modules/truncf-ieee-tests: New file.
25624         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
25625         * tests/test-truncf1.c (main): Remove signbit tests.
25626         * modules/truncf-tests (Depends-on): Remove 'signbit'.
25627         * doc/posix-functions/truncf.texi: Mention the new module.
25628
25629 2010-12-21  Bruno Haible  <bruno@clisp.org>
25630
25631         New module 'ceilf-ieee'.
25632         * modules/ceilf-ieee: New file.
25633         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
25634         test whether ceilf works according to ISO C 99 with IEC 60559.
25635         * m4/ceilf-ieee.m4: New file.
25636         * modules/ceilf-ieee-tests: New file.
25637         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
25638         * tests/test-ceilf1.c (main): Remove signbit tests.
25639         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
25640         * doc/posix-functions/ceilf.texi: Mention the new module.
25641
25642 2010-12-21  Bruno Haible  <bruno@clisp.org>
25643
25644         New module 'floorf-ieee'.
25645         * modules/floorf-ieee: New file.
25646         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
25647         test whether floorf works according to ISO C 99 with IEC 60559.
25648         * m4/floorf-ieee.m4: New file.
25649         * modules/floorf-ieee-tests: New file.
25650         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
25651         * tests/test-floorf1.c (main): Remove signbit tests.
25652         * modules/floorf-tests (Depends-on): Remove 'signbit'.
25653         * doc/posix-functions/floorf.texi: Mention the new module.
25654
25655 2010-12-21  Bruno Haible  <bruno@clisp.org>
25656
25657         Support for minus zero in autoconf macros.
25658         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
25659         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
25660         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
25661         * tests/minus-zero.h: Update comments.
25662
25663 2010-12-21  Bruno Haible  <bruno@clisp.org>
25664
25665         Tests for module 'ceil'.
25666         * modules/ceil-tests: New file.
25667         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
25668         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
25669
25670 2010-12-21  Bruno Haible  <bruno@clisp.org>
25671
25672         Tests for module 'floor'.
25673         * modules/floor-tests: New file.
25674         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
25675         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
25676
25677 2010-12-21  Bruno Haible  <bruno@clisp.org>
25678
25679         math: Fix indentation.
25680         * lib/math.in.h (floorf): Fix indentation.
25681
25682 2010-12-21  Bruno Haible  <bruno@clisp.org>
25683
25684         Fix cross-compilation guesses on Solaris.
25685         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
25686         not match "solaris2.10".
25687         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25688         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
25689         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
25690
25691 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
25692
25693         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
25694         This fixes a problem observed with the latest coreutils snapshot
25695         that caused a test to fail on Solaris 8.  src/csplit.c's call
25696         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
25697         earlier, instead of returning the number of bytes that would have
25698         been generated; this causes csplit to incorrectly report memory
25699         exhaustion.
25700         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
25701         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
25702         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
25703         comments to match.
25704         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
25705         Fix typo in matching older versions of Solaris: "solaris2.10"
25706         is matched by the shell pattern "solaris2.[0-9]*".  This matters
25707         only for guessing while cross-compiling.
25708         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
25709
25710 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
25711
25712         ftoastr: fix comment again
25713         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25714         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
25715         Also, simplify example a bit by using flags = 0.
25716
25717 2010-12-20  Bruno Haible  <bruno@clisp.org>
25718
25719         round*, trunc*: Update documentation regarding glibc.
25720         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
25721         * doc/posix-functions/round.texi: Likewise.
25722         * doc/posix-functions/roundl.texi: Likewise.
25723         * doc/posix-functions/truncf.texi: Likewise.
25724         * doc/posix-functions/trunc.texi: Likewise.
25725         * doc/posix-functions/truncl.texi: Likewise.
25726
25727 2010-12-20  Bruno Haible  <bruno@clisp.org>
25728
25729         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
25730         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
25731         * doc/posix-functions/round.texi: Likewise.
25732         * doc/posix-functions/roundl.texi: Likewise.
25733
25734 2010-12-20  Bruno Haible  <bruno@clisp.org>
25735
25736         ttyname_r: Add missing declaration on HP-UX 11.
25737         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
25738         HAVE_TTYNAME_R.
25739         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
25740         declared. Set HAVE_TTYNAME_R always.
25741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25742         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
25743         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
25744         HAVE_TTYNAME_R.
25745         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
25746
25747 2010-12-20  Bruno Haible  <bruno@clisp.org>
25748
25749         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
25750         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
25751         * doc/posix-functions/getlogin_r.texi: Likewise.
25752         * tests/test-getlogin.c: Include <errno.h>.
25753         (main): Avoid test failure on HP-UX 11.11.
25754         * tests/test-getlogin_r.c (main): Likewise.
25755
25756 2010-12-20  Bruno Haible  <bruno@clisp.org>
25757
25758         getlogin_r: Add missing declaration on HP-UX 11.
25759         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
25760         declared also when it exists as a function.
25761         * doc/posix-functions/getlogin_r.texi: Document this workaround.
25762
25763 2010-12-20  Bruno Haible  <bruno@clisp.org>
25764
25765         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
25766         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
25767         through wcrtomb.
25768
25769 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25770
25771         ftoastr: fix comment
25772         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25773         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
25774
25775 2010-12-19  Bruno Haible  <bruno@clisp.org>
25776
25777         isnan: Ensure it is a macro.
25778         * lib/math.in.h (isnan): Define as a macro if not already a macro.
25779         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
25780         Solaris.
25781
25782 2010-12-19  Bruno Haible  <bruno@clisp.org>
25783
25784         ldexpl test: Fix link error on OSF/1 5.1.
25785         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
25786
25787 2010-12-19  Bruno Haible  <bruno@clisp.org>
25788
25789         wctype: Make it work in C++ mode on OSF/1 5.1.
25790         * lib/wctype.in.h (iswblank): Declare but not define here.
25791         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
25792         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
25793         * modules/wctype (Files): Add lib/iswblank.c.
25794
25795 2010-12-19  Bruno Haible  <bruno@clisp.org>
25796
25797         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
25798         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
25799         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
25800
25801 2010-12-19  Bruno Haible  <bruno@clisp.org>
25802
25803         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
25804         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
25805         _POSIX_PII_SOCKET.
25806         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
25807         * doc/posix-functions/recvfrom.texi: Likewise.
25808         * doc/posix-functions/send.texi: Likewise.
25809         * doc/posix-functions/sendto.texi: Likewise.
25810
25811 2010-12-19  Bruno Haible  <bruno@clisp.org>
25812
25813         tcgetsid: Add missing declaration on OSF/1 5.1.
25814         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
25815         HAVE_TCGETSID.
25816         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
25817         Don't set HAVE_TCGETSID.
25818         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
25819         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
25820         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
25821         HAVE_TCGETSID.
25822         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
25823
25824 2010-12-19  Bruno Haible  <bruno@clisp.org>
25825
25826         stdio: Fix problem with popen() declaration on OSF/1 5.1.
25827         * lib/stdio.in.h: During the include_next statement, let recursive
25828         includes of this file include only the system header file.
25829
25830 2010-12-19  Bruno Haible  <bruno@clisp.org>
25831
25832         iconv_open: Fix regression from 2010-12-04.
25833         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
25834         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
25835
25836 2010-12-19  Bruno Haible  <bruno@clisp.org>
25837
25838         stdbool test: Avoid a gcc warning.
25839         * tests/test-stdbool.c (main): Fail if e1 is false.
25840         Reported by Jim Meyering.
25841
25842 2010-12-19  Jim Meyering  <meyering@redhat.com>
25843
25844         setenv: restore to working order
25845         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
25846         mistakenly removed.
25847         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
25848         HAVE_SETENV.
25849         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
25850         HAVE_SETENV.
25851
25852 2010-12-19  Bruno Haible  <bruno@clisp.org>
25853
25854         Document some different function declarations on OSF/1 5.1.
25855         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
25856         * doc/posix-functions/inet_ntop.texi: Likewise.
25857         * doc/posix-functions/gethostname.texi: Likewise.
25858         * lib/unistd.in.h (gethostname): Update comment.
25859
25860 2010-12-19  Bruno Haible  <bruno@clisp.org>
25861
25862         doc: Mention vasprintf-posix module.
25863         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
25864         the 'vasprintf-posix' module.
25865         * doc/glibc-functions/vasprintf.texi: Likewise.
25866
25867 2010-12-19  Bruno Haible  <bruno@clisp.org>
25868
25869         unsetenv: Add missing declaration on OSF/1 5.1.
25870         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
25871         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
25872         Don't set HAVE_UNSETENV. In the test program, set _BSD.
25873         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
25874         not HAVE_UNSETENV.
25875         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
25876         HAVE_UNSETENV.
25877         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
25878
25879 2010-12-19  Bruno Haible  <bruno@clisp.org>
25880
25881         setenv: Add missing declaration on OSF/1 5.1.
25882         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
25883         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
25884         declared. Don't set HAVE_SETENV.
25885         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
25886         not HAVE_SETENV.
25887         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
25888         HAVE_SETENV.
25889         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
25890
25891 2010-12-19  Bruno Haible  <bruno@clisp.org>
25892
25893         nl_langinfo tests: Avoid gcc warning.
25894         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
25895
25896 2010-12-19  Bruno Haible  <bruno@clisp.org>
25897
25898         mknod: Avoid error in C++ mode on OSF/1 with GCC.
25899         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
25900         _GL_CXXALIAS_SYS.
25901
25902 2010-12-19  Bruno Haible  <bruno@clisp.org>
25903
25904         stdbool: Relax test.
25905         * tests/test-stdbool.c (e): Don't require that casts from a variable's
25906         address to 'bool' work in static initializer, for compilers other than
25907         GCC.
25908
25909 2010-12-19  Bruno Haible  <bruno@clisp.org>
25910
25911         ftello: Add missing declaration on OSF/1 5.1.
25912         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
25913         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
25914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
25915         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
25916         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
25917
25918 2010-12-19  Bruno Haible  <bruno@clisp.org>
25919
25920         fseeko: Add missing declaration on OSF/1 5.1.
25921         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
25922         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
25923         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
25924         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
25925         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
25926
25927 2010-12-19  Bruno Haible  <bruno@clisp.org>
25928
25929         fchdir: Add missing declaration on OSF/1 5.1.
25930         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
25931         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
25932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
25933         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
25934         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
25935
25936 2010-12-19  Bruno Haible  <bruno@clisp.org>
25937
25938         relocatable-prog-wrapper: Separate from relocatable-prog.
25939         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
25940         uninstall-relocwrapper rule here.
25941         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
25942         Reported by Ian Beckwith <ianb@erislabs.net>.
25943
25944 2010-12-19  Bruno Haible  <bruno@clisp.org>
25945
25946         unistr/u8-mbsnlen: Add missing dependency.
25947         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
25948         Reported by Ian Beckwith <ianb@erislabs.net>.
25949
25950 2010-12-19  Bruno Haible  <bruno@clisp.org>
25951
25952         iconv: Make it possible again to use this module without 'iconv-h'.
25953         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
25954         if it is not defined.
25955         Reported by Ian Beckwith <ianb@erislabs.net>.
25956
25957 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25958
25959         acl: port to Solaris 8 when copying from tmpfs to ufs
25960         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
25961         error number.  Problem observed on Solaris 8 with latest
25962         coreutils, with "mv A B", where A is on a tmpfs file system and B
25963         is on a ufs file system.  This caused coreutils' mv/part-symlink
25964         test to fail.
25965
25966         tests: set fail=0 at start
25967         * tests/init.sh (setup_): Move fail=0 initialization here ...
25968         (mktempd_): ... from here, so that tests can rely on fail being
25969         set to 0 initially.  This fixes a problem in coreutils; see:
25970         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
25971
25972 2010-12-18  Bruno Haible  <bruno@clisp.org>
25973
25974         memmem-simple: Stylistic changes.
25975         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
25976         Fix preprocessor directive indentation.
25977
25978 2010-12-15  Pádraig Brady <P@draigBrady.com>
25979
25980         memmem, memmem-simple: reorganize and expand empty needle check
25981         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
25982         functional checks to memmem-simple so that one has a fully functional
25983         memmem by using just this module.
25984         Restrict the performance only check to the memmem module.
25985         Also expand the empty needle check to ensure the correct
25986         pointer is returned, not just a non NULL pointer.
25987         * doc/glibc-functions/memmem.texi: Rearrange the portability
25988         documentation to correlate with the rearranged checks.
25989         Clarify exactly how the memmem and memmem-simple modules
25990         relate to each other.
25991
25992 2010-12-15  Pádraig Brady <P@draigBrady.com>
25993             Bruno Haible  <bruno@clisp.org>
25994
25995         Improve cross-compilation guesses for uClibc.
25996         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
25997         that uClibc does not have the glibc bug.
25998         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
25999         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
26000
26001 2010-12-14  Eric Blake  <eblake@redhat.com>
26002
26003         configmake: provide fallbacks for oldest supported autotools
26004         * m4/configmake.m4: New file.
26005         * modules/configmake (Files): Ship it.
26006         (configure.ac): Use it to guarantee fallbacks.
26007
26008 2010-12-13  Pádraig Brady <P@draigBrady.com>
26009
26010         read-file: Improve handling of large files
26011         * lib/read-file.c (fread_file): Minimize realloc()s
26012         for regular files, and better manage sizes around SIZE_MAX.
26013
26014 2010-12-13  Eric Blake  <eblake@redhat.com>
26015
26016         cloexec, fcntl: relax license
26017         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
26018         consent from all contributors.
26019         * modules/fcntl (License): Likewise.
26020
26021 2010-12-10  Bruno Haible  <bruno@clisp.org>
26022
26023         Tests for module 'pipe-posix'.
26024         * modules/pipe-posix-tests: New file.
26025         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
26026
26027 2010-12-10  Bruno Haible  <bruno@clisp.org>
26028
26029         pipe-posix: Make it work in C++ mode.
26030         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
26031         (pipe): Use common idiom, not a macro definition.
26032         * lib/pipe.c: New file.
26033         * m4/pipe.m4: New file.
26034         * modules/pipe-posix (Description): Enhance.
26035         (Files): Add lib/pipe.c, m4/pipe.m4.
26036         (configure.ac): Invoke gl_FUNC_PIPE.
26037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
26038         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
26039         * tests/test-unistd-c++.cc: Check the signature of pipe.
26040
26041 2010-12-10  Bruno Haible  <bruno@clisp.org>
26042
26043         Rename module 'pipe' to 'spawn-pipe'.
26044         * modules/spawn-pipe: New file, renamed from modules/pipe.
26045         (Files, configure.ac, Makefile.am): Update.
26046         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
26047         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
26048         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
26049         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
26050         "spawn-pipe.h" instead of "pipe.h".
26051         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
26052         to gl_SPAWN_PIPE.
26053         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
26054         (Files, Makefile.am): Update.
26055         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
26056         Update.
26057         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
26058         Include "spawn-pipe.h" instead of "pipe.h".
26059         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
26060         * lib/javacomp.c: Likewise.
26061         * lib/javaversion.c: Likewise.
26062         * lib/pipe-filter-gi.c: Likewise.
26063         * lib/pipe-filter-ii.c: Likewise.
26064         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
26065         * modules/javacomp (Depends-on): Likewise.
26066         * modules/javaversion (Depends-on): Likewise.
26067         * modules/pipe-filter-gi (Depends-on): Likewise.
26068         * modules/pipe-filter-ii (Depends-on): Likewise.
26069         * MODULES.html.sh (Executing programs): Update.
26070         * NEWS: Mention the change.
26071
26072 2010-12-10  Eric Blake  <eblake@redhat.com>
26073
26074         pipe-posix: new module
26075         * modules/pipe-posix: New file.
26076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
26077         (gl_UNISTD_H): Check for declaration.
26078         * modules/unistd (Makefile.am): Substitute it.
26079         * lib/unistd.in.h (pipe): Provide it for mingw.
26080         * doc/posix-functions/pipe.texi (pipe): Update documentation.
26081         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
26082
26083 2010-12-07  Bruno Haible  <bruno@clisp.org>
26084
26085         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
26086         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
26087         u8_strcmp_gnu.
26088         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
26089
26090 2010-12-06  Bruno Haible  <bruno@clisp.org>
26091
26092         Update internal documentation.
26093         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
26094
26095 2010-12-04  Bruno Haible  <bruno@clisp.org>
26096
26097         Put more information about failed tests into the test return codes.
26098         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
26099         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
26100         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
26101         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
26102         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
26103         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26104         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26105         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26106         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
26107         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26108         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
26109         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26110         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
26111         * m4/stdint.m4 (gl_STDINT_H): Likewise.
26112         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
26113         returns a bit mask.
26114         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
26115         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
26116         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
26117         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
26118         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26119         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26120         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26121         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26122         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26123         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26124         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26125         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26126         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26127         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26128         * m4/link.m4 (gl_FUNC_LINK): Likewise.
26129         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
26130         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
26131         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
26132         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26133         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
26134         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26135         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
26136         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
26137         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
26138         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26139         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26140         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
26141         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26142         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26143         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
26144         gl_PRINTF_PRECISION): Likewise.
26145         * m4/regex.m4 (gl_REGEX): Likewise.
26146         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26147         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
26148         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
26149         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
26150         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26151         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26152         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
26153         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
26154         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26155         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
26156         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
26157         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26158         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26159         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
26160         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
26161         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26162         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
26163         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26164         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26165         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
26166         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
26167         enumerated value.
26168         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
26169
26170 2010-12-04  Bruno Haible  <bruno@clisp.org>
26171
26172         Update for Solaris 11 2010-11.
26173         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
26174         Express, released in November 2010.
26175
26176 2010-12-04  Bruno Haible  <bruno@clisp.org>
26177
26178         nproc: Relax license.
26179         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
26180         and Paul Eggert.
26181         Requested by Ludovic Courtès <ludo@gnu.org>.
26182
26183 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
26184
26185         utimecmp: fine-grained src to nearby coarse-grained dest
26186
26187         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
26188         and the source is on a file system with higher-resolution time
26189         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
26190         not work, and the time stamps are close together, the algorithm to
26191         determine the exact resolution from the read-back mtime was buggy:
26192         it had a "!=" where it should have had an "==".  This bug has been
26193         in the code ever since it was introduced to gnulib.
26194         Problem reported by Dan Jacobson in
26195         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
26196
26197 2010-11-30  Bruno Haible  <bruno@clisp.org>
26198
26199         strerror_r-posix: Fix autoconf test.
26200         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
26201
26202 2010-11-28  Bruno Haible  <bruno@clisp.org>
26203             Paul Eggert  <eggert@cs.ucla.edu>
26204
26205         Tests for module 'getdomainname'.
26206         * modules/getdomainname-tests: New file.
26207         * tests/test-getdomainname.c: New file, based on
26208         tests/test-gethostname.c.
26209
26210 2010-11-28  Bruno Haible  <bruno@clisp.org>
26211             Paul Eggert  <eggert@cs.ucla.edu>
26212
26213         getdomainname: Use the system function when possible.
26214         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
26215         (getdomainname): Replace if needed. Provide the declaration if it is
26216         missing. Don't use _GL_CXXALIAS_SYS_CAST.
26217         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
26218         (getdomainname): When the system has getdomainname, call the system
26219         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
26220         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
26221         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
26222         found in libnsl. Look for the declaration also in <netdb.h>. Replace
26223         the function if its second argument is of type 'int' or if it is found
26224         in libnsl.
26225         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
26226         <sys/systeminfo.h> and sysinfo().
26227         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
26228         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26229         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
26230         HAVE_GETDOMAINNAME.
26231         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
26232         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
26233         * doc/glibc-functions/getdomainname.texi: Document the problems with
26234         the getdomainname declaration.
26235
26236 2010-11-28  Bruno Haible  <bruno@clisp.org>
26237
26238         sys_socket: Ensure ss_family field on AIX.
26239         * lib/sys_socket.in.h (ss_family): New macro definition.
26240         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
26241         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
26242         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26243         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
26244         * modules/sys_socket (Makefile.am): Substitute
26245         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
26246         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
26247
26248 2010-11-27  Bruno Haible  <bruno@clisp.org>
26249
26250         readline: Improve configure output.
26251         * m4/readline.m4 (gl_FUNC_READLINE): Make the
26252         "checking for readline..." result understandable.
26253
26254 2010-11-27  Bruno Haible  <bruno@clisp.org>
26255
26256         *printf-posix: Detect a bug on Solaris 10/x86.
26257         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
26258         for floating-point output.
26259         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
26260         directive.
26261         * tests/test-snprintf-posix.h (test_function): Likewise.
26262         * tests/test-sprintf-posix.h (test_function): Likewise.
26263         * tests/test-vasprintf-posix.c (test_function): Likewise.
26264         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
26265         * doc/posix-functions/printf.texi: Likewise.
26266         * doc/posix-functions/snprintf.texi: Likewise.
26267         * doc/posix-functions/sprintf.texi: Likewise.
26268         * doc/posix-functions/vfprintf.texi: Likewise.
26269         * doc/posix-functions/vprintf.texi: Likewise.
26270         * doc/posix-functions/vsnprintf.texi: Likewise.
26271         * doc/posix-functions/vsprintf.texi: Likewise.
26272         * doc/glibc-functions/obstack_printf.texi: Likewise.
26273         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
26274
26275 2010-11-27  Bruno Haible  <bruno@clisp.org>
26276
26277         Fix link error when module libunistring-optional is in use.
26278         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
26279         * modules/striconveha-tests (Makefile.am): Likewise.
26280
26281 2010-11-27  Bruno Haible  <bruno@clisp.org>
26282
26283         regex: Mention link dependencies.
26284         * modules/regex (Link): New section.
26285         * modules/rpmatch (Link): Likewise.
26286         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
26287
26288 2010-11-27  Bruno Haible  <bruno@clisp.org>
26289
26290         ftoastr: Fix compilation error on Solaris.
26291         * lib/ftoastr.c: Include <config.h>.
26292
26293 2010-11-27  Bruno Haible  <bruno@clisp.org>
26294
26295         getloadavg: Update documentation.
26296         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
26297
26298 2010-11-27  Bruno Haible  <bruno@clisp.org>
26299
26300         sys_socket: Fix test whether the functions are declared.
26301         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
26302         not <sys/select.h>.
26303
26304 2010-11-27  Bruno Haible  <bruno@clisp.org>
26305
26306         getpass: Make sure to get system declaration on some platforms.
26307         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
26308         gl_USE_SYSTEM_EXTENSIONS.
26309         * modules/getpass (Depends-on): Add extensions.
26310
26311 2010-11-26  Bruno Haible  <bruno@clisp.org>
26312
26313         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
26314         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
26315         'iconv' module is present.
26316         (ICONV_CONST): New macro.
26317         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
26318         ICONV_CONST.
26319         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
26320         set ICONV_CONST.
26321         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
26322         here.
26323         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
26324         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
26325         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
26326         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
26327         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
26328         present.
26329
26330 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26331
26332         ftoastr: comment fix
26333         * lib/ftoastr.c: "little" -> "little or no" in comment
26334
26335 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
26336
26337         stdint: port to GCC 4.3 + OSX + Octave
26338         On this platform, stdint.h is buggy and defines int64_t to long
26339         long int.  The replacement defined it to long int, causing
26340         problems with C++ style name mangling.  Instead, trust the system
26341         definition if INT64_MAX is defined, and likewise for the unsigned
26342         variant.   Problem reported by Jarno Rajahalme in
26343         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
26344         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
26345         and don't mess with int64_t and INT64_MAX in this case.
26346         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
26347
26348 2010-11-24  Bruno Haible  <bruno@clisp.org>
26349
26350         doc: Corrections regarding MacOS X 10.4 and 10.5.
26351         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
26352         MacOS X.
26353         Reported by Simon Josefsson.
26354
26355 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
26356
26357         Uninstall ".bin" files installed by relocwrapper.
26358         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
26359         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
26360         unless it is already there.
26361
26362 2010-11-21  Bruno Haible  <bruno@clisp.org>
26363
26364         Update for NetBSD 5.0.
26365         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
26366         NetBSD; the test fails on NetBSD 5.0.
26367         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
26368         about NetBSD.
26369
26370 2010-11-21  Bruno Haible  <bruno@clisp.org>
26371
26372         Update for HP-UX 11.23 and HP-UX 11.31.
26373         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
26374         HP-UX.
26375
26376 2010-11-21  Bruno Haible  <bruno@clisp.org>
26377
26378         Update for MacOS X 10.5.
26379         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
26380         MacOS X; the test fails on MacOS X 10.5.8.
26381         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
26382         about MacOS X.
26383
26384 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
26385
26386         bootstrap: add bootstrap_sync option.
26387         See discussion at
26388         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
26389         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
26390         * build-aux/bootstrap: Accept --bootstrap-sync to update
26391         bootstrap if it is not identical to the local gnulib's
26392         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
26393         enable this by default.  Accept --no-bootstrap-sync to disable
26394         it.
26395
26396 2010-11-20  Bruno Haible  <bruno@clisp.org>
26397
26398         Ensure that <features.h> is included before __GLIBC__ is tested.
26399         * lib/printf-parse.h: Include <features.h>.
26400         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
26401         Reported by Mike Frysinger <vapier@gentoo.org>.
26402
26403         Ensure that <features.h> is included before __GLIBC__ is tested.
26404         * lib/wchar.in.h: Include <features.h>.
26405         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
26406         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
26407         Reported by Mike Frysinger <vapier@gentoo.org>.
26408
26409         Ensure that <features.h> is included before __GLIBC__ is tested.
26410         * lib/arpa_inet.in.h: Include <features.h>.
26411         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
26412         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
26413         Reported by Mike Frysinger <vapier@gentoo.org>.
26414
26415         Ensure that <features.h> is included before __GLIBC__ is tested.
26416         * build-aux/link-warning.h: Include <features.h>.
26417         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
26418         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
26419         Reported by Mike Frysinger <vapier@gentoo.org>.
26420
26421         Ensure that <features.h> is included before __GLIBC__ is tested.
26422         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
26423         Reported by Mike Frysinger <vapier@gentoo.org>.
26424
26425 2010-11-20  Bruno Haible  <bruno@clisp.org>
26426
26427         memmem: Fix autoconf test.
26428         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
26429
26430 2010-11-20  Bruno Haible  <bruno@clisp.org>
26431
26432         Port to uClibc.
26433         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
26434         * lib/fcntl.in.h: Likewise.
26435         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
26436         * lib/mbrtowc.c (mbrtowc): Likewise.
26437         * lib/relocatable.c (find_shared_library_fullname): Likewise.
26438         * lib/strerror_r.c: Likewise.
26439         * lib/unistr/u8-strnlen.c: Likewise.
26440         * lib/vasnprintf.c (decimal_point_char): Likewise.
26441         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26442         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26443         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26444         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
26445         * tests/test-sigaction.c (handler, main): Likewise.
26446         * lib/freading.h: Treat uClibc like a non-glibc platform.
26447         * lib/freading.c: Likewise.
26448         * lib/gettext.h: Likewise.
26449         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
26450         Likewise.
26451         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
26452         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
26453         * lib/propername.c (proper_name_utf8): Likewise.
26454         * lib/spawn.in.h: Likewise.
26455         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
26456         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
26457         mem_cd_iconveh_internal): Likewise.
26458         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
26459         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
26460         strstr, strcasestr): Likewise.
26461         * lib/unicodeio.c (unicode_to_mb): Likewise.
26462         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
26463         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
26464         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
26465         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
26466         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
26467         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
26468         * lib/unistr/u8-stpncpy.c: Likewise.
26469         * lib/vasnprintf.c (VASNPRINTF): Likewise.
26470         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
26471         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26472         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26473         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
26474         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
26475         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
26476         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
26477         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
26478         Likewise.
26479         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26480         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
26481         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
26482         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26483         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26484         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
26485         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
26486         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
26487         * tests/test-getopt.h (OPTIND_MIN): Likewise.
26488         * tests/test-striconveha.c (main): Likewise.
26489         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26490         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
26491         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
26492         * doc/posix-functions/getline.texi: Likewise.
26493         Reported by Mike Frysinger <vapier@gentoo.org>.
26494
26495 2010-11-20  Bruno Haible  <bruno@clisp.org>
26496
26497         nproc: Fix condition.
26498         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
26499         HAVE_PTHREAD_AFFINITY_NP.
26500
26501 2010-11-20  Bruno Haible  <bruno@clisp.org>
26502
26503         Fix a comment.
26504         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
26505
26506 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
26507
26508         ftoastr: don't assume snprintf
26509         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
26510         Implement a subset of snprintf here, by using sprintf safely.
26511         * modules/ftoastr (Depends-on): Remove snprintf.
26512
26513 2010-11-19  Jim Meyering  <meyering@redhat.com>
26514
26515         test-rename.h: fix compilation failure
26516         * tests/test-rename.h (test_rename): Add omitted "}".
26517
26518 2010-11-17  Jim Meyering  <meyering@redhat.com>
26519
26520         maint.mk: add a URL discussing the no-@acronym policy
26521         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
26522
26523 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
26524
26525         ftoastr: depend on snprintf, improve comments
26526         * lib/ftoastr.c: Also mention Loitsch's draft.
26527         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
26528         needed in the current implementation, but it might simplify
26529         speeding up the code later.
26530         * modules/ftoastr: Depend on snprintf; this improves portability.
26531         Suggested by Bruno Haible in the same email.
26532
26533         ftoastr: port to hosts lacking strtof and strtold
26534         Problem reported by Bruno Haible in
26535         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
26536         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
26537         environment and strtold (and presumably strtof) are not available.
26538         * modules/ftoastr (Files): Add m4/c-strtod.m4.
26539         (configure.ac): Require gl_C99_STRTOLD.
26540
26541 2010-11-18  Bruno Haible  <bruno@clisp.org>
26542
26543         c-strtold: Avoid link error on AIX 7.
26544         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
26545         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
26546         (gl_C_STRTOLD): Test whether strtold_l exists.
26547         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26548
26549 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
26550
26551         intprops: new macro INT_BITS_STRLEN_BOUND
26552         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
26553         ftoastr.h.  This exposes an internal of intprops.h that was formerly
26554         not exposed.  Also, it uses a slightly tighter bound than before;
26555         though this makes no practical difference, we might as well be as
26556         tight as we easily can.
26557
26558         ftoastr: new module, for lossless conversion of floats to short strings
26559         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
26560         * modules/ftoastr: New files.
26561
26562 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
26563
26564         bootstrap: port to Solaris sed
26565         * build-aux/bootstrap (get_version): Port to Solaris sed.
26566         See Ralf Wildenhues's note in
26567         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
26568
26569 2010-11-14  Jim Meyering  <meyering@redhat.com>
26570
26571         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
26572         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
26573         and move definition closer to sole use.
26574
26575 2010-11-13  Jim Meyering  <meyering@redhat.com>
26576
26577         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
26578         Now we require at least autoconf-2.59, which means the work-around
26579         is no longer needed.
26580         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
26581         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26582         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
26583         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
26584         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
26585
26586 2010-11-13  Bruno Haible  <bruno@clisp.org>
26587
26588         rename, renameat: Avoid test failures at NFS mounted locations.
26589         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
26590         functions.
26591         (test_rename): Use assert_nonexistent.
26592         * tests/test-rename.c: Include <dirent.h>.
26593         * tests/test-renameat.c: Likewise.
26594         Reported by Gary V. Vaughan <gary@gnu.org>.
26595
26596         rename, renameat: Document Linux bug with NFS
26597         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
26598         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
26599         * doc/posix-functions/renameat.texi: Likewise.
26600         Suggested by Eric Blake.
26601
26602 2010-11-13  Bruno Haible  <bruno@clisp.org>
26603
26604         rename test: Add comments.
26605         * tests/test-rename.h (test_rename): Add structure and comments.
26606
26607 2010-11-13  Eric Blake  <eblake@redhat.com>
26608
26609         maintainer-makefile: cover a few more files
26610         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
26611         scripts generated within C files, for libvirt.
26612
26613 2010-11-13  Bruno Haible  <bruno@clisp.org>
26614
26615         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
26616         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
26617         character, return the number of bytes that belong together, not always
26618         1.
26619         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
26620         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26621         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
26622         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
26623         number of bytes of an invalid character.
26624         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
26625         (main): Invoke it.
26626         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
26627         results.
26628         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
26629         malformed byte sequences.
26630         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
26631         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
26632         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
26633         Reported by Ben Pfaff and Paolo Bonzini.
26634
26635 2010-11-13  Bruno Haible  <bruno@clisp.org>
26636
26637         openat: Work around glibc bug with fchownat() and empty file names.
26638         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
26639         (gl_FUNC_FCHOWNAT): Invoke it.
26640         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
26641         * doc/posix-functions/fchownat.texi: Document the glibc bug.
26642         Reported by Gary V. Vaughan <gary@gnu.org>.
26643
26644 2010-11-13  Bruno Haible  <bruno@clisp.org>
26645
26646         openat: Ensure autoconf macro ordering.
26647         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
26648         gl_USE_SYSTEM_EXTENSIONS.
26649         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
26650
26651 2010-11-13  Bruno Haible  <bruno@clisp.org>
26652
26653         Update comments.
26654         * lib/unistr/u8-check.c: Update file name in comments.
26655         * lib/unistr/u8-mblen.c: Likewise.
26656         * lib/unistr/u8-prev.c: Likewise.
26657         * lib/unistr/u8-strmblen.c: Likewise.
26658         * lib/unistr/u8-strmbtouc.c: Likewise.
26659
26660 2010-11-13  Jim Meyering  <meyering@redhat.com>
26661
26662         tests: avoid test failure on Solaris 10 due to lack of PATH export
26663         * tests/test-update-copyright.sh: Don't forget to export PATH.
26664
26665         init.sh: ensure that IFS is defined, just in case...
26666         * tests/init.sh (setup_): Ensure that IFS is defined,
26667         so that saving and restoring it works as expected.  This
26668         appears to be useful at least for an old version of dash
26669         from a long time ago (RH 6).  See here for details:
26670         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
26671
26672         maint.mk: tighten "test a == b" check
26673         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
26674         test to files that contain something like #!/bin/sh.
26675         Without this, coreutils would get two false positives in
26676         the comments of C source files.
26677
26678 2010-11-12  Eric Blake  <eblake@redhat.com>
26679
26680         bootstrap: fix typo in previous attempt
26681         * build-aux/bootstrap (buildreq): Correct the grouping.
26682         Reported by Paul Eggert.
26683
26684         maintainer-makefile: prohibit test x == x
26685         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
26686         Based on a report by Matthias Bolte.
26687
26688         bootstrap: allow FreeBSD gzip
26689         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
26690         which has no '.' and goes to stderr.
26691         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
26692         Reported by Matthias Bolte.
26693
26694         maintainer-makefile: check for i18n setup
26695         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
26696         will likely work.
26697
26698 2010-11-12  Bruno Haible  <bruno@clisp.org>
26699
26700         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
26701         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
26702         * lib/nanosleep.c (nanosleep): Likewise.
26703
26704 2010-11-11  Bruno Haible  <bruno@clisp.org>
26705
26706         fcntl-h: Fix for use of C++ on glibc systems.
26707         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26708         also on glibc systems in C++ mode.
26709         Reported by Gary V. Vaughan <gary@gnu.org>.
26710
26711 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26712
26713         mknod: avoid false failure with dash
26714         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
26715
26716 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26717
26718         unlink: Fix "is it should" typo in diagnostic.
26719         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
26720         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
26721
26722 2010-11-11  Bruno Haible  <bruno@clisp.org>
26723
26724         Tests for module 'strerror_r-posix'.
26725         * modules/strerror_r-posix-tests: New file.
26726         * tests/test-strerror_r.c: New file.
26727         * tests/test-string-c++.cc: Check the signature of strerror_r.
26728
26729         New module 'strerror_r-posix'.
26730         * lib/string.in.h (strerror_r): New declaration.
26731         * lib/strerror_r.c: New file.
26732         * m4/strerror_r.m4: New file.
26733         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
26734         of strerror_r.
26735         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
26736         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26737         * modules/strerror_r-posix: New file.
26738         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
26739         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26740         * doc/posix-functions/strerror_r.texi: Mention the new module and the
26741         portability problems.
26742
26743 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
26744
26745         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
26746         line is also considered for output. Quoted function name in shell
26747         command, so temporary files for functions like MyClass::operator()
26748         are removed correctly without errors.
26749
26750 2010-11-09  Bruno Haible  <bruno@clisp.org>
26751
26752         * doc/posix-functions/strerror.texi: List more failing platforms.
26753
26754         * doc/posix-functions/strerror.texi: Add a comment.
26755
26756 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
26757
26758         fdopendir: fix bug on MacOS X when low on file descriptors
26759
26760         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
26761         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
26762         All callers changed.
26763         (fdopendir): Invoke save_cwd at the top level, not after using
26764         multiple dup() calls to use up file descriptors.  Then retry
26765         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
26766         less than the maximum number of open file descriptors, because
26767         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
26768         on Mac OS X 10.6.4 for tar 1.24
26769         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
26770         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
26771         and for tar 1.25
26772         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
26773
26774 2010-11-07  Bruno Haible  <bruno@clisp.org>
26775
26776         vasnprintf: Support I flag on glibc systems.
26777         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
26778         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
26779         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
26780         snprintf function.
26781         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
26782         glibc systems.
26783         * tests/test-vasnprintf-posix3.c: New file.
26784         * modules/vasnprintf-posix-tests (Files): Add it.
26785         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
26786
26787 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26788
26789         [html] Fix copy/paste bug: Use unique name for compiler warnings.
26790         * MODULES.html.sh: For compiler warnings, use name
26791         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
26792
26793 2010-11-05  Eric Blake  <eblake@redhat.com>
26794
26795         ceil, floor: avoid spurious failure with icc
26796         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
26797         [denormals-as-zero] when optimizing without -mieee-fp option.
26798         * tests/test-floorf2.c (floorf_reference): Likewise.
26799         * tests/test-ceilf1.c (dummy): New function.
26800         (main): Use it to outsmart icc's optimization.
26801         * tests/test-floorf1.c (dummy, main): Likewise.
26802
26803         tests: require working signbit
26804         * modules/ceilf-tests (Depends-on): Add signbit.
26805         * modules/ceill-tests (Depends-on): Likewise.
26806         * modules/floorf-tests (Depends-on): Likewise.
26807         * modules/floorl-tests (Depends-on): Likewise.
26808         * modules/round-tests (Depends-on): Likewise.
26809         * modules/roundf-tests (Depends-on): Likewise.
26810         * modules/roundl-tests (Depends-on): Likewise.
26811         * modules/trunc-tests (Depends-on): Likewise.
26812         * modules/truncf-tests (Depends-on): Likewise.
26813         * modules/truncl-tests (Depends-on): Likewise.
26814
26815         strtod: work around icc bug
26816         * lib/strtod.c (minus_zero): Define to working value.
26817         (strtod): Use it to avoid icc bug.
26818
26819         copysign: enhance tests
26820         * modules/copysign-tests (Files): Add minus-zero.h.
26821         * tests/test-copysign.c (main): Also test zeros.
26822
26823 2010-11-04  Eric Blake  <eblake@redhat.com>
26824
26825         ceil, floor, round, trunc: enhance tests of -0
26826         * tests/test-ceilf1.c (main): Ensure correct sign of result.
26827         * tests/test-ceill.c (main): Likewise.
26828         * tests/test-floorf1.c (main): Likewise.
26829         * tests/test-floorl.c (main): Likewise.
26830         * tests/test-round1.c (main): Likewise.
26831         * tests/test-roundf1.c (main): Likewise.
26832         * tests/test-roundl.c (main): Likewise.
26833         * tests/test-trunc1.c (main): Likewise.
26834         * tests/test-truncf1.c (main): Likewise.
26835         * tests/test-truncl.c (main): Likewise.
26836
26837 2010-11-04  Eric Blake  <eblake@redhat.com>
26838
26839         frexp, tests: work around ICC bug with -zero
26840         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
26841         works with more compilers.
26842         * tests/minus-zero.h: New file.
26843         * modules/ceilf-tests (Files): Include it.
26844         * modules/ceill-tests (Files): Likewise.
26845         * modules/floorf-tests (Files): Likewise.
26846         * modules/floorl-tests (Files): Likewise.
26847         * modules/frexp-nolibm-tests (Files): Likewise.
26848         * modules/frexp-tests (Files): Likewise.
26849         * modules/frexpl-nolibm-tests (Files): Likewise.
26850         * modules/frexpl-tests (Files): Likewise.
26851         * modules/isnan-tests (Files): Likewise.
26852         * modules/isnand-nolibm-tests (Files): Likewise.
26853         * modules/isnand-tests (Files): Likewise.
26854         * modules/isnanf-nolibm-tests (Files): Likewise.
26855         * modules/isnanf-tests (Files): Likewise.
26856         * modules/isnanl-nolibm-tests (Files): Likewise.
26857         * modules/isnanl-tests (Files): Likewise.
26858         * modules/round-tests (Files): Likewise.
26859         * modules/roundf-tests (Files): Likewise.
26860         * modules/roundl-tests (Files): Likewise.
26861         * modules/ldexpl-tests (Files): Likewise.
26862         * modules/signbit-tests (Files): Likewise.
26863         * modules/snprintf-posix-tests (Files): Likewise.
26864         * modules/sprintf-posix-tests (Files): Likewise.
26865         * modules/strtod-tests (Files): Likewise.
26866         * modules/trunc-tests (Files): Likewise.
26867         * modules/truncf-tests (Files): Likewise.
26868         * modules/truncl-tests (Files): Likewise.
26869         * modules/vsnprintf-posix-tests (Files): Likewise.
26870         * modules/vsprintf-posix-tests (Files): Likewise.
26871         * modules/vasnprintf-posix-tests (Files): Likewise.
26872         * modules/vasprintf-posix-tests (Files): Likewise.
26873         * tests/test-ceilf1.c (main): Use it.
26874         * tests/test-ceill.c (main): Likewise.
26875         * tests/test-floorf1.c (main): Likewise.
26876         * tests/test-floorl.c (main): Likewise.
26877         * tests/test-frexp.c (main): Likewise.
26878         * tests/test-frexpl.c (main): Likewise.
26879         * tests/test-isnan.c (main): Likewise.
26880         * tests/test-isnand.h (main): Likewise.
26881         * tests/test-isnanf.h (main): Likewise.
26882         * tests/test-isnanl.h (main): Likewise.
26883         * tests/test-ldexpl.c (main): Likewise.
26884         * tests/test-round.c (main): Likewise.
26885         * tests/test-roundf.c (main): Likewise.
26886         * tests/test-roundl.c (main): Likewise.
26887         * tests/test-signbit.c (test_signbitf, test_signbitd)
26888         (test_signbitl): Likewise.
26889         * tests/test-snprintf-posix.h (test_function): Likewise.
26890         * tests/test-sprintf-posix.h (test_function): Likewise.
26891         * tests/test-strtod.c (main): Likewise.
26892         * tests/test-trunc1.c (main): Likewise.
26893         * tests/test-truncf1.c (main): Likewise.
26894         * tests/test-truncl.c (main): Likewise.
26895
26896         isnanl: work around icc bug
26897         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
26898
26899 2010-11-03  Eric Blake  <eblake@redhat.com>
26900
26901         tests: fix compiler warnings
26902         * tests/test-getopt.h (test_getopt): Fix condition.
26903         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26904         * tests/test-pipe2.c (main): Likewise.
26905         * tests/test-quotearg-simple.c (main): Avoid icc warning.
26906
26907         utimens: fix broken m4 test
26908         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
26909
26910 2010-10-28  Bruno Haible  <bruno@clisp.org>
26911
26912         posix_spawn*, getdtablesize: Relax license.
26913         * modules/posix_spawn (License): Change to LGPLv2+.
26914         * modules/posix_spawnp (License): Likewise.
26915         * modules/posix_spawn-internal (License): Likewise.
26916         * modules/posix_spawnattr_init (License): Likewise.
26917         * modules/posix_spawnattr_getflags (License): Likewise.
26918         * modules/posix_spawnattr_setflags (License): Likewise.
26919         * modules/posix_spawnattr_getpgroup (License): Likewise.
26920         * modules/posix_spawnattr_setpgroup (License): Likewise.
26921         * modules/posix_spawnattr_getschedparam (License): Likewise.
26922         * modules/posix_spawnattr_setschedparam (License): Likewise.
26923         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
26924         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
26925         * modules/posix_spawnattr_getsigdefault (License): Likewise.
26926         * modules/posix_spawnattr_setsigdefault (License): Likewise.
26927         * modules/posix_spawnattr_getsigmask (License): Likewise.
26928         * modules/posix_spawnattr_setsigmask (License): Likewise.
26929         * modules/posix_spawnattr_destroy (License): Likewise.
26930         * modules/posix_spawn_file_actions_init (License): Likewise.
26931         * modules/posix_spawn_file_actions_addclose (License): Likewise.
26932         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
26933         * modules/posix_spawn_file_actions_addopen (License): Likewise.
26934         * modules/posix_spawn_file_actions_destroy (License): Likewise.
26935         * modules/getdtablesize (License): Likewise.
26936         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
26937
26938 2010-10-26  Bruno Haible  <bruno@clisp.org>
26939
26940         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
26941         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
26942         Cygwin and mingw.
26943         Suggested by Eric Blake.
26944
26945 2010-10-26  Bruno Haible  <bruno@clisp.org>
26946
26947         stdio: Work around compilation error due to renameat() on Solaris 10.
26948         * lib/stdio.in.h: Include <unistd.h> on Solaris.
26949         * lib/renameat.c: Don't include <unistd.h> here.
26950         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
26951         Reported by Paul Eggert and Eric Blake.
26952
26953 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26954
26955         renameat: port to Solaris 10, which declares renameat in unistd.h
26956
26957         * lib/renameat.c: Include unistd.h before stdio.h, because
26958         Solaris 10 declares renameat in unistd.h.  Problem encountered
26959         when building GNU tar 1.24 on Solaris 10.
26960
26961 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26962
26963         fdopendir: fix C89 compilation
26964         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
26965         compilers.
26966
26967 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
26968
26969         inttostr: simplify by removing unnecessary redundancy
26970         * lib/anytostr.c: Don't include verify.h.
26971         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
26972         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
26973         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
26974         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
26975         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
26976         Likewise.
26977         * modules/inttostr (Depends-on): Remove 'verify'.
26978
26979 2010-10-23  Bruno Haible  <bruno@clisp.org>
26980
26981         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
26982         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
26983         Reported by Eric Blake.
26984
26985 2010-10-23  Bruno Haible  <bruno@clisp.org>
26986
26987         Tests: Fix LOCALE_JA on MirBSD 10.
26988         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
26989         to an UTF-8 locale.
26990         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
26991         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26992         Reported by Eric Blake.
26993
26994 2010-10-21  Bruno Haible  <bruno@clisp.org>
26995
26996         nl_langinfo test: Avoid test failure on NetBSD 5.
26997         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
26998         Reported by Eric Blake.
26999
27000 2010-10-21  Eric Blake  <eblake@redhat.com>
27001
27002         c-stack: work around libsigsegv 2.8 bug
27003         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
27004         overflow on at least PowerPC64.
27005
27006 2010-10-17  Bruno Haible  <bruno@clisp.org>
27007
27008         userspec: Drop redundant file.
27009         * modules/userspec (Files): Remove lib/inttostr.h.
27010
27011 2010-10-17  Bruno Haible  <bruno@clisp.org>
27012
27013         nl_langinfo tests: Silence some warnings.
27014         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
27015         Reported by Jim Meyering.
27016
27017 2010-10-17  Bruno Haible  <bruno@clisp.org>
27018
27019         Make use of GCC's attribute __alloc_size__.
27020         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
27021         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
27022         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
27023         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
27024         __alloc_size__.
27025         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
27026         Suggested by Jim Meyering.
27027
27028 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
27029
27030         bootstrap: anchor .gitignore entries.
27031         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
27032         with...
27033         (insert_vc_ignore): ... this new function, which prepends `/' to
27034         all .gitignore entries before passing them to
27035         insert_sorted_if_absent.
27036
27037 2010-10-16  Bruno Haible  <bruno@clisp.org>
27038
27039         nextafter: Fix configure check.
27040         * modules/nextafter (configure.ac): Correct expected prototype.
27041
27042 2010-10-16  Bruno Haible  <bruno@clisp.org>
27043
27044         termios: Update documentation.
27045         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
27046
27047 2010-10-16  Bruno Haible  <bruno@clisp.org>
27048
27049         tests: Make them compile with TinyCC.
27050         * tests/test-strstr.c (main): Remove parentheses around array
27051         initializer.
27052
27053 2010-10-15  Eric Blake  <eblake@redhat.com>
27054
27055         ignore-value: make header idempotent
27056         * lib/ignore-value.h: Add double-inclusion guards.
27057         Reported by Stefan Berger.
27058
27059 2010-10-15  Jim Meyering  <meyering@redhat.com>
27060
27061         GNUmakefile: handle "stable" target, not "major"
27062         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
27063         lists in maint.mk and announce-gen.  Without this, "make stable"
27064         would fail to ensure that $(VERSION) is up to date.
27065
27066 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
27067
27068         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
27069         & co.
27070
27071 2010-10-14  Bruno Haible  <bruno@clisp.org>
27072
27073         vasnprintf: Don't set errno to 0.
27074         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
27075         block that sets it to 0.
27076         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
27077
27078 2010-10-14  Bruno Haible  <bruno@clisp.org>
27079
27080         socketlib: Fix.
27081         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
27082         gl_PREREQ_SYS_H_WINSOCK2.
27083         Reported by Ian Beckwith <ianb@erislabs.net>.
27084
27085 2010-10-13  Jim Meyering  <meyering@redhat.com>
27086
27087         test-select-stdin.c: avoid warn_unused_result warnings
27088         * tests/test-select-stdin.c: Include "macros.h".
27089         ASSERT that read and fflush succeed.
27090
27091 2010-10-13  Jim Meyering  <meyering@redhat.com>
27092
27093         git-version-gen: do require git-VC'd files in cwd
27094         * build-aux/git-version-gen: Reject a git version string
27095         if there are no commits associated with the current directory.
27096         This avoids an unlikely false-positive (unrelated dir whose parent
27097         repository also contains a tag matching v*), as pointed out
27098         by Giuseppe Scrivano in
27099         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
27100
27101 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27102
27103         argv-iter: omit nonconforming declaration
27104         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
27105         enum arg_iter_err declaration, which doesn't conform to C99.
27106         Solaris 10 cc warns about this.
27107
27108 2010-10-13  Eric Blake  <eblake@redhat.com>
27109
27110         termios: fix compilation on mingw
27111         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
27112         (gl_TERMIOS_H): Adjust it on mingw.
27113         * modules/termios (Makefile.am): Substitute new key.
27114         * lib/termios.in.h (includes): Make include_next conditional.
27115         * doc/posix-headers/termios.texi (termios.h): Update
27116         documentation.
27117         Reported by Daniel P. Berrange.
27118
27119 2010-10-13  Jim Meyering  <meyering@redhat.com>
27120
27121         git-version-gen: don't require that .git/ be in the current dir
27122         * build-aux/git-version-gen: Adjust this script so that it works
27123         when run from any working directory beneath the top-level .git/-
27124         containing directory.  Inspired by a patch from Giuseppe Scrivano,
27125         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
27126
27127         test-select: avoid warn_unused_result warnings
27128         * tests/test-select.c: Include "macros.h".
27129         ASSERT that each call to read, write, and pipe succeeds.
27130         While not technically required, also check each "close".
27131         * modules/select-tests (Files): Add tests/macros.h.
27132
27133         test-symlinkat: remove declaration of unused local
27134         * tests/test-symlinkat.c (main): Remove unused local, "buf".
27135
27136         test-inttostr: avoid shadowing warnings
27137         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
27138         and use malloc rather than the stack for the same reason as
27139         mentioned in the comment justifying the other allocation.
27140
27141 2010-10-11  Bruno Haible  <bruno@clisp.org>
27142
27143         stdlib: Allow multiple gnulib generated replacements to coexist.
27144         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
27145         Reported by Sam Steingold <sds@gnu.org>.
27146
27147 2010-10-11  Jim Meyering  <meyering@redhat.com>
27148
27149         fix a documentation typo
27150         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
27151
27152 2010-10-11  Eric Blake  <eblake@redhat.com>
27153
27154         futimens: work around Solaris 11 bug
27155         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
27156         * tests/test-futimens.h (test_futimens): Enhance, rather than
27157         weaken test.
27158         * doc/posix-functions/futimens.texi (futimens): Document the bug.
27159
27160 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
27161
27162         Indentation.
27163         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
27164         higher-level operators more to the left.
27165
27166 2010-10-11  Jim Meyering  <meyering@redhat.com>
27167
27168         test-futimens: avoid unwarranted test failure on Solaris 5.11
27169         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
27170         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
27171         because it tries to dereference the NULL name argument.
27172
27173 2010-10-11  Bruno Haible  <bruno@clisp.org>
27174
27175         Indentation.
27176         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
27177         indentation.
27178
27179 2010-10-11  Jim Meyering  <meyering@redhat.com>
27180
27181         spawn.in.h: make indentation consistent with parentheses
27182         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
27183         Make indentation consistent with parentheses.
27184
27185 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
27186
27187         Fix mismatched parens in previous commit
27188         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
27189         parens.
27190
27191 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
27192
27193         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
27194
27195         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
27196         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
27197         * lib/malloca.c: Include "verify.h".
27198         (verify1): Remove, replacing with a verify call.
27199         * lib/relocwrapper.c (verify1): Likewise.
27200         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
27201         Likewise.
27202         * modules/malloca (Depends-on): Add 'verify'.
27203         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
27204         * modules/vasnprintf (Depends-on): Add 'verify'.
27205         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27206         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27207         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27208         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27209         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27210         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27211         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27212
27213         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
27214
27215         Formerly the style was sometimes 2*X - 1, because the C standard
27216         was wrongly thought to disallow ?: in integral constant expressions.
27217         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
27218         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
27219         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
27220         * lib/stdint.in.h (_verify_intmax_size): Likewise.
27221         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
27222         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
27223         verify that time_t cannot be floating.
27224
27225 2010-10-08  Eric Blake  <eblake@redhat.com>
27226
27227         time: enforce recent POSIX ruling that time_t is integral
27228         * lib/time.in.h (__time_t_must_be_integral): Detect any
27229         problematic systems, allowing the rest of gnulib to assume POSIX.
27230
27231 2010-10-08  Jim Meyering  <meyering@redhat.com>
27232
27233         fdopendir: fix a bug on systems lacking openat and /proc support
27234         OpenBSD 4.7 is one such system.  The most noticeable effect was
27235         failure of any application making nontrivial use of fts: rm, du,
27236         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
27237           ./rm: traversal failed: `a': Bad file descriptor
27238         Debugging that, you see that even though FD 6 was closed just
27239         prior to the opendir call in fd_clone_opendir, its resulting
27240         dir->dd_fd was 8, rather than the expected value of 6:
27241
27242         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
27243         93                close (fd);
27244         (gdb) n
27245         94                dir = fd_clone_opendir (dupfd);
27246         (gdb) n
27247         95                saved_errno = errno;
27248         (gdb) p dir->dd_fd
27249         $11 = 8
27250
27251         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
27252         The problem is that on OpenBSD, fd_clone_opendir has to resort
27253         to using the old-style save/restore CWD mechanism, due to its
27254         lack of openat/proc support, and *that* would steal the FD (6)
27255         that opendir was supposed to use.
27256
27257         The fix is to squirrel away the desired FD so that save_cwd uses a
27258         different one, and then free the dest FD right before calling opendir.
27259         That guarantees opendir will use the required file descriptor.
27260
27261         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
27262
27263 2010-10-08  Bruno Haible  <bruno@clisp.org>
27264
27265         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
27266         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
27267
27268 2010-10-08  Bruno Haible  <bruno@clisp.org>
27269
27270         nanosleep: Make replacement POSIX compliant.
27271         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
27272         is out of range.
27273         Reported by Jim Meyering.
27274
27275 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
27276
27277         bootstrap: add hook for altering gnulib.mk, for Bison
27278         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
27279         the Bison bootstrapping process can rewrite file names and variables
27280         in this file before later parts of 'bootstrap' use the file.
27281         Bison wants to include lib/gnulib.mk from the top-level makefile,
27282         so it needs the file names in this file to be relative to the top
27283         level, not relative to lib; plus it needs variable names to be
27284         rewritten.
27285         (slurp): Use the new function.
27286
27287         bootstrap: reformat for readability
27288         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
27289
27290 2010-10-08  Eric Blake  <eblake@redhat.com>
27291
27292         docs: update cygwin progress
27293         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
27294         1.7.7.
27295         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
27296         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
27297         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
27298         * doc/posix-functions/carg.texi (carg): Likewise.
27299         * doc/posix-functions/cargf.texi (cargf): Likewise.
27300         * doc/posix-functions/casin.texi (casin): Likewise.
27301         * doc/posix-functions/casinf.texi (casinf): Likewise.
27302         * doc/posix-functions/casinh.texi (casinh): Likewise.
27303         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
27304         * doc/posix-functions/catan.texi (catan): Likewise.
27305         * doc/posix-functions/catanf.texi (catanf): Likewise.
27306         * doc/posix-functions/catanh.texi (catanh): Likewise.
27307         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
27308         * doc/posix-functions/ccos.texi (ccos): Likewise.
27309         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
27310         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
27311         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
27312         * doc/posix-functions/cexp.texi (cexp): Likewise.
27313         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
27314         * doc/posix-functions/cimag.texi (cimag): Likewise.
27315         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
27316         * doc/posix-functions/clog.texi (clog): Likewise.
27317         * doc/posix-functions/clogf.texi (clogf): Likewise.
27318         * doc/posix-functions/conj.texi (conj): Likewise.
27319         * doc/posix-functions/conjf.texi (conjf): Likewise.
27320         * doc/posix-functions/cpow.texi (cpow): Likewise.
27321         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
27322         * doc/posix-functions/cproj.texi (cproj): Likewise.
27323         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
27324         * doc/posix-functions/creal.texi (creal): Likewise.
27325         * doc/posix-functions/crealf.texi (crealf): Likewise.
27326         * doc/posix-functions/csin.texi (csin): Likewise.
27327         * doc/posix-functions/csinf.texi (csinf): Likewise.
27328         * doc/posix-functions/csinh.texi (csinh): Likewise.
27329         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
27330         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
27331         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
27332         * doc/posix-functions/ctan.texi (ctan): Likewise.
27333         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
27334         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
27335         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
27336         * doc/posix-headers/complex.texi (complex.h): Likewise.
27337
27338 2010-10-07  Jim Meyering  <meyering@redhat.com>
27339
27340         parse-datetime: avoid compilation failure on OpenBSD 4.7
27341         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
27342         This works around a compilation failure on OpenBSD 4.7:
27343         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
27344
27345 2010-10-07  Eric Blake  <eblake@redhat.com>
27346
27347         docs: update cygwin progress
27348         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
27349         1.7.6.
27350         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
27351         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
27352         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
27353         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
27354         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
27355         Likewise.
27356         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
27357         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
27358         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
27359         Likewise.
27360         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
27361         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
27362         Likewise.
27363         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
27364         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
27365         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
27366         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
27367         Likewise.
27368         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
27369         Likewise.
27370         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
27371
27372         docs: update parse-datetime history
27373         * doc/parse-datetime.texi (Authors of parse_datetime): Better
27374         documentation of this function's history and alternatives.
27375
27376         cygwin: use more robust version check
27377         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
27378         exclude an eventual cygwin 1.9.1.
27379         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27380         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
27381         (gl_FUNC_STRCASESTR): Likewise.
27382         Reported by Bruno Haible.
27383
27384 2010-10-06  Bruno Haible  <bruno@clisp.org>
27385
27386         string, sys_select: Avoid #including large headers unless necessary.
27387         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
27388         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
27389         OSF/1, BeOS, Haiku.
27390         Reported by Jim Meyering.
27391
27392 2010-10-05  Eric Blake  <eblake@redhat.com>
27393
27394         memmem, strstr, strcasestr: fix bug with long periodic needle
27395         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
27396         periodic needle having false positive.
27397         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
27398         and cygwin 1.7.7.
27399         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
27400         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
27401         (gl_FUNC_STRCASESTR): Likewise.
27402         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27403         * tests/test-memmem.c (main): Expose the bug.
27404         * tests/test-strcasestr.c (main): Likewise.
27405         * tests/test-strstr.c (main): Likewise.
27406         * tests/test-c-strcasestr.c (main): Likewise.
27407         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
27408         * doc/posix-functions/strstr.texi (strstr): Likewise.
27409         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27410         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
27411
27412 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
27413
27414         parse-datetime: do some more renaming
27415         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
27416         parse_datetime, not get_date.  Mention the renaming.
27417         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
27418         in comments.
27419         * m4/bison.m4: Likewise.
27420
27421 2010-10-05  Eric Blake  <eblake@redhat.com>
27422
27423         parse-datetime: better name than get_date
27424         * NEWS: Reword the deprecation notice.
27425         * modules/get_date: Rename to modules/parse-datetime.
27426         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
27427         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
27428         * lib/get_date.y: Rename to lib/parse-datetime.y.
27429         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
27430         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
27431         * doc/getdate.texi: Provide fallback wrapper.
27432         * lib/getdate.h: Move guts, and wrap...
27433         * lib/parse-datetime.h: ...new file.
27434         * lib/parse-datetime.y (get_date): Rename...
27435         (parse_datetime): ...to this.
27436         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
27437         (gl_PARSE_DATETIME): ...to this.
27438         * doc/posix-functions/getdate.texi (get_date): Provide fallback
27439         documentation.
27440         * modules/getdate (Files): Provide fallback docs and header.
27441         (Notice, Depends-on): Update references.
27442         * tests/test-parse-datetime.c: Likewise.
27443         * DEPENDENCIES: Likewise.
27444         * MODULES.html.sh (Date and time <time.h>): Likewise.
27445         * doc/parse-datetime.texi (Date input formats)
27446         (Authors of parse_datetime): Likewise.
27447         * modules/parse-datetime (Files, configure.ac, Makefile.am)
27448         (Include): Likewise.
27449         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
27450         * gnulib-tool: Likewise.
27451         * m4/bison.m4 (gl_BISON): Likewise.
27452         Suggested by Bruno Haible.
27453
27454 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
27455
27456         more ports to Solaris tr, which needs [] around ranges
27457         * gnulib-tool: Solaris tr needs [] around ranges.
27458         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27459         * tests/test-pipe-filter-gi1.c (main): Likewise.
27460         * tests/test-pipe-filter-ii1.c (main): Likewise.
27461
27462 2010-10-05  Eric Blake  <eblake@redhat.com>
27463
27464         bootstrap: fix Solaris regression
27465         * build-aux/bootstrap (check_versions): Solaris tr still needs []
27466         around ranges.
27467         Reported by Pádraig Brady.
27468
27469         bootstrap: work with pkg-config
27470         * build-aux/bootstrap (check_versions): Also transliterate - in
27471         prerequisite name.
27472         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
27473         prerequisites that were already found, to avoid confusion.
27474         Reported by Justin Clift.
27475
27476         faccessat: remove unused wrappers
27477         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
27478         presence of these wrappers dragged in -lgen on Solaris.
27479         Reported by Clemens Brogi; fix suggested by Paul Eggert.
27480
27481 2010-10-05  Jim Meyering  <meyering@redhat.com>
27482
27483         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
27484         * Makefile (sc_pragma_columns): New syntax-check rule.
27485
27486 2010-10-04  Bruno Haible  <bruno@clisp.org>
27487
27488         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
27489         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
27490         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
27491         Reported by Bruce Korb and Eric Blake.
27492
27493 2010-10-04  Bruno Haible  <bruno@clisp.org>
27494
27495         threadlib: Make option --with-libpth-prefix work.
27496         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
27497         use $LIBPTH, not just -lpth.
27498
27499 2010-10-04  Bruno Haible  <bruno@clisp.org>
27500
27501         Avoid line length limitation from HP NonStop system header files.
27502         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
27503         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
27504         * lib/ctype.in.h: Likewise.
27505         * lib/dirent.in.h: Likewise.
27506         * lib/errno.in.h: Likewise.
27507         * lib/fcntl.in.h: Likewise.
27508         * lib/float.in.h: Likewise.
27509         * lib/getopt.in.h: Likewise.
27510         * lib/iconv.in.h: Likewise.
27511         * lib/inttypes.in.h: Likewise.
27512         * lib/langinfo.in.h: Likewise.
27513         * lib/locale.in.h: Likewise.
27514         * lib/math.in.h: Likewise.
27515         * lib/netdb.in.h: Likewise.
27516         * lib/netinet_in.in.h: Likewise.
27517         * lib/poll.in.h: Likewise.
27518         * lib/pthread.in.h: Likewise.
27519         * lib/pty.in.h: Likewise.
27520         * lib/sched.in.h: Likewise.
27521         * lib/se-selinux.in.h: Likewise.
27522         * lib/search.in.h: Likewise.
27523         * lib/signal.in.h: Likewise.
27524         * lib/spawn.in.h: Likewise.
27525         * lib/stdarg.in.h: Likewise.
27526         * lib/stddef.in.h: Likewise.
27527         * lib/stdint.in.h: Likewise.
27528         * lib/stdio.in.h: Likewise.
27529         * lib/stdlib.in.h: Likewise.
27530         * lib/string.in.h: Likewise.
27531         * lib/strings.in.h: Likewise.
27532         * lib/sys_file.in.h: Likewise.
27533         * lib/sys_ioctl.in.h: Likewise.
27534         * lib/sys_select.in.h: Likewise.
27535         * lib/sys_socket.in.h: Likewise.
27536         * lib/sys_stat.in.h: Likewise.
27537         * lib/sys_time.in.h: Likewise.
27538         * lib/sys_times.in.h: Likewise.
27539         * lib/sys_utsname.in.h: Likewise.
27540         * lib/sys_wait.in.h: Likewise.
27541         * lib/sysexits.in.h: Likewise.
27542         * lib/termios.in.h: Likewise.
27543         * lib/time.in.h: Likewise.
27544         * lib/unistd.in.h: Likewise.
27545         * lib/wchar.in.h: Likewise.
27546         * lib/wctype.in.h: Likewise.
27547         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
27548         * modules/ctype (Makefile.am): Likewise.
27549         * modules/dirent (Makefile.am): Likewise.
27550         * modules/errno (Makefile.am): Likewise.
27551         * modules/fcntl-h (Makefile.am): Likewise.
27552         * modules/float (Makefile.am): Likewise.
27553         * modules/getopt-posix (Makefile.am): Likewise.
27554         * modules/iconv-h (Makefile.am): Likewise.
27555         * modules/inttypes (Makefile.am): Likewise.
27556         * modules/langinfo (Makefile.am): Likewise.
27557         * modules/locale (Makefile.am): Likewise.
27558         * modules/math (Makefile.am): Likewise.
27559         * modules/netdb (Makefile.am): Likewise.
27560         * modules/netinet_in (Makefile.am): Likewise.
27561         * modules/poll-h (Makefile.am): Likewise.
27562         * modules/pthread (Makefile.am): Likewise.
27563         * modules/pty (Makefile.am): Likewise.
27564         * modules/sched (Makefile.am): Likewise.
27565         * modules/search (Makefile.am): Likewise.
27566         * modules/selinux-h (Makefile.am): Likewise.
27567         * modules/signal (Makefile.am): Likewise.
27568         * modules/spawn (Makefile.am): Likewise.
27569         * modules/stdarg (Makefile.am): Likewise.
27570         * modules/stddef (Makefile.am): Likewise.
27571         * modules/stdint (Makefile.am): Likewise.
27572         * modules/stdio (Makefile.am): Likewise.
27573         * modules/stdlib (Makefile.am): Likewise.
27574         * modules/string (Makefile.am): Likewise.
27575         * modules/strings (Makefile.am): Likewise.
27576         * modules/sys_file (Makefile.am): Likewise.
27577         * modules/sys_ioctl (Makefile.am): Likewise.
27578         * modules/sys_select (Makefile.am): Likewise.
27579         * modules/sys_socket (Makefile.am): Likewise.
27580         * modules/sys_stat (Makefile.am): Likewise.
27581         * modules/sys_time (Makefile.am): Likewise.
27582         * modules/sys_times (Makefile.am): Likewise.
27583         * modules/sys_utsname (Makefile.am): Likewise.
27584         * modules/sys_wait (Makefile.am): Likewise.
27585         * modules/sysexits (Makefile.am): Likewise.
27586         * modules/termios (Makefile.am): Likewise.
27587         * modules/time (Makefile.am): Likewise.
27588         * modules/unistd (Makefile.am): Likewise.
27589         * modules/wchar (Makefile.am): Likewise.
27590         * modules/wctype (Makefile.am): Likewise.
27591
27592 2010-10-04  Bruno Haible  <bruno@clisp.org>
27593
27594         read-file tests: Avoid a test failure on NonStop Kernel.
27595         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
27596         a regular file.
27597         Reported by Joachim Schmitz <schmitz@hp.com>.
27598
27599 2010-10-03  Bruno Haible  <bruno@clisp.org>
27600
27601         gnulib-tool: Fixes for --create-testdir with --libtool.
27602         * gnulib-tool (func_get_automake_snippet): Don't augment
27603         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
27604         an executable.
27605         (func_create_testdir): Handle module 'alloca' like func_import.
27606         Reported by Bruce Korb <bruce.korb@gmail.com>.
27607
27608 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
27609
27610         Avoid some lines longer than 80 characters.
27611         * lib/stdint.in.h: Break long comment lines.
27612         * lib/math.in.h: Likewise.
27613         (_GL_NUM_UINT_WORDS): New macro, for readability.
27614         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
27615         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
27616         * lib/stdlib.in.h: Likewise.
27617         * lib/spawn.in.h: Likewise.
27618         * lib/sys_socket.in.h: Update an URL.
27619         * lib/sys_stat.in.h: Break long line.
27620
27621 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
27622
27623         Improve pmccabe2html.
27624         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
27625         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
27626         when the sources change. Remove the line in the HTML about "Used
27627         ranges" (which implied that there might be other unused ranges),
27628         rename "Resume" to "Summary" (easier to understand for more users).
27629         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
27630         styles, and some unnecessary blank lines.
27631
27632 2010-10-03  Bruno Haible  <bruno@clisp.org>
27633             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
27634
27635         acl: Add support for ACLs on NonStop Kernel.
27636         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
27637         Check whether the function aclsort() exists.
27638         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
27639         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
27640         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27641         (acl_nontrivial [HAVE_ACLSORT]: New function.
27642         (file_has_acl): Implement for NonStop Kernel.
27643         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27644         (qset_acl): Implement for NonStop Kernel.
27645         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
27646         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27647         (main): Implement for NonStop Kernel.
27648         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
27649         Kernel. Handle this flavor.
27650         * tests/test-set-mode-acl.sh: Likewise.
27651         * tests/test-copy-acl.sh: Likewise.
27652         * tests/test-copy-file.sh: Likewise.
27653
27654 2010-10-03  Bruno Haible  <bruno@clisp.org>
27655
27656         Info about ACLs on NonStop Kernel.
27657         * doc/acl-resources.txt: Add info about NonStop Kernel.
27658         References by Joachim Schmitz <schmitz@hp.com>.
27659
27660 2010-10-02  Bruno Haible  <bruno@clisp.org>
27661
27662         Define missing EDQUOT on NonStop Kernel.
27663         * lib/errno.in.h (EDQUOT): Assign a value if missing.
27664         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
27665         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
27666         missing.
27667         * doc/posix-headers/errno.texi: Mention the NSK bug.
27668         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
27669         Reported by Joachim Schmitz <schmitz@hp.com>.
27670
27671 2010-10-02  Bruno Haible  <bruno@clisp.org>
27672
27673         Update doc for POSIX:2008.
27674         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
27675         Update URL of POSIX specification.
27676
27677 2010-10-02  Bruno Haible  <bruno@clisp.org>
27678
27679         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
27680         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
27681         from gnulib, not from Automake.
27682
27683 2010-10-02  Bruno Haible  <bruno@clisp.org>
27684
27685         New module 'system-posix'.
27686         * modules/system-posix: New file.
27687         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
27688         module is present.
27689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27690         GNULIB_SYSTEM_POSIX.
27691         * modules/stdlib (Depends-on): Remove sys_wait.
27692         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
27693         * doc/posix-functions/system.texi: Mention the new module.
27694         * doc/posix-headers/stdlib.texi: Likewise.
27695         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
27696         define test_sys_wait_macros to a no-op.
27697         Reported by Sam Steingold <sds@gnu.org>.
27698
27699 2010-09-30  Bruno Haible  <bruno@clisp.org>
27700
27701         More renaming from 'getdate' to 'get_date'.
27702         * doc/get_date.texi: Renamed from doc/getdate.texi.
27703         * modules/get_date (Files): Update.
27704         * MODULES.html.sh (Date and time <time.h>): Update.
27705         * DEPENDENCIES: Update.
27706         * gnulib-tool: Update comment.
27707         * m4/bison.m4 (gl_BISON): Likewise.
27708         * m4/get_date.m4 (gl_GET_DATE): Likewise.
27709
27710 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
27711
27712         bootstrap: support ACLOCAL_FLAGS during aclocal
27713         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
27714         can add additional -I dir for third-party .m4 files.
27715
27716 2010-09-30  Eric Blake  <eblake@redhat.com>
27717
27718         bootstrap: use glibtoolize on MacOS
27719         * build-aux/bootstrap (check_versions): Convert libtool into
27720         libtoolize.
27721         (tool search): Move libtool check earlier, and look for
27722         glibtoolize for MacOS.
27723         (gnulib_tool_options): Auto-add --libtool when appropriate.
27724         Reported by Justin Clift.
27725
27726         poll: fix typo that broke test on MacOS
27727         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
27728         Reported by Justin Clift.
27729
27730         getdate: rename to get_date
27731         Note: getdate.h is not renamed, to minimize client impact.
27732         * modules/getdate: Mark obsolete.  Move old contents...
27733         * modules/get_date: ...to new module name.
27734         * modules/getdate-tests: Move...
27735         * modules/get_date-tests: ...here.
27736         * m4/getdate.m4: Move...
27737         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
27738         * lib/getdate.y: Move...
27739         * lib/get_date.y: ...here.
27740         * tests/test-getdate.c: Move...
27741         * tests/test-get_date.c: ...here.
27742         * doc/posix-functions/getdate.texi (getdate): Update name.
27743         * NEWS: Mention the change.
27744
27745 2010-09-29  Bruno Haible  <bruno@clisp.org>
27746
27747         Separate the module 'waitpid' from the module 'sys_wait'.
27748         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
27749         present.
27750         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
27751         gl_MODULE_INDICATOR_FOR_TESTS.
27752         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
27753         * modules/sys_wait (Depends-on): Remove waitpid.
27754         (Makefile.am): Substitute GNULIB_WAITPID.
27755         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
27756         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
27757         signature only if the 'waitpid' module is present.
27758         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
27759         * NEWS: Mention the change.
27760         * modules/grantpt (Depends-on): Add waitpid.
27761         * modules/wait-process (Depends-on): Likewise.
27762
27763 2010-09-29  Bruno Haible  <bruno@clisp.org>
27764
27765         More tests for module 'sys_wait'.
27766         * modules/sys_wait-c++-tests: New file.
27767         * tests/test-sys_wait-c++.cc: New file.
27768         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
27769         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27770
27771 2010-09-29  Bruno Haible  <bruno@clisp.org>
27772
27773         New module 'waitpid'.
27774         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
27775         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
27776         Don't include <process.h>.
27777         (waitpid): Declare only, using modern idiom.
27778         * m4/waitpid.m4: New file.
27779         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
27780         * modules/waitpid: New file.
27781         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
27782         (Makefile.am): Update.
27783         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27784
27785 2010-09-28  Bruno Haible  <bruno@clisp.org>
27786
27787         poll: Assume ANSI C.
27788         * lib/poll.c (poll): Use an ANSI C declaration.
27789
27790 2010-09-28  Bruno Haible  <bruno@clisp.org>
27791
27792         poll-h: Create poll.h on all platforms.
27793         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
27794         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
27795         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
27796         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
27797         (gl_REPLACE_POLL_H): Don't set POLL_H.
27798         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
27799         * modules/poll-h (Depends-on): Add include_next.
27800         (Makefile.am): Create poll.h unconditionally. Substitute also
27801         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
27802
27803 2010-09-28  Bruno Haible  <bruno@clisp.org>
27804
27805         Tests for module 'poll-h'.
27806         * modules/poll-h-c++-tests: New file.
27807         * tests/test-poll-h-c++.cc: New file.
27808
27809         Tests for module 'poll-h'.
27810         * modules/poll-h-tests: New file.
27811         * tests/test-poll-h.c: New file.
27812
27813 2010-09-28  Bruno Haible  <bruno@clisp.org>
27814
27815         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
27816         * modules/poll-h (Depends-on): Add 'extensions'.
27817
27818 2010-09-28  Bruno Haible  <bruno@clisp.org>
27819
27820         New module 'poll-h'.
27821         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
27822         (poll): Use modern idiom.
27823         * modules/poll-h: New file.
27824         * modules/poll (Files): Remove lib/poll.in.h.
27825         (Depends-on): Add poll-h.
27826         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
27827         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
27828         * m4/poll_h.m4: New file.
27829         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
27830         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
27831         and invoke gl_REPLACE_POLL_H.
27832         * lib/poll.c: Use common idiom.
27833         * tests/test-poll.c: Likewise.
27834         * doc/posix-headers/poll.texi: Mention the poll-h module.
27835         Suggested by Eric Blake.
27836
27837 2010-09-26  Bruno Haible  <bruno@clisp.org>
27838
27839         sys_wait: Implement WSTOPSIG.
27840         * lib/sys_wait.in.h (WSTOPSIG): New macro.
27841         Reported by Simon Josefsson.
27842
27843 2010-09-26  Simon Josefsson  <simon@josefsson.org>
27844
27845         stdlib, sys_wait: Avoid compilation error on mingw.
27846         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
27847
27848 2010-09-26  Bruno Haible  <bruno@clisp.org>
27849
27850         stdlib tests: Avoid code duplication.
27851         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
27852         * modules/sys_wait-tests (Files): Likewise.
27853         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
27854         * tests/test-stdlib.c: Include test-sys_wait.h.
27855         (main): Invoke test_sys_wait_macros.
27856         * tests/test-sys_wait.c: Include test-sys_wait.h.
27857         (main): Invoke test_sys_wait_macros.
27858
27859 2010-09-25  Simon Josefsson  <simon@josefsson.org>
27860
27861         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
27862         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
27863         sure Windows sockets are working before calling getaddrinfo.
27864         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
27865         * doc/gnulib.texi (Windows sockets): Fix typo.
27866
27867 2010-09-25  Bruno Haible  <bruno@clisp.org>
27868
27869         Tests for module 'regex-quote'.
27870         * modules/regex-quote-tests: New file.
27871         * tests/test-regex-quote.c: New file.
27872
27873         New module 'regex-quote'.
27874         * lib/regex-quote.h: New file.
27875         * lib/regex-quote.c: New file.
27876         * modules/regex-quote: New file.
27877         Suggested by Reuben Thomas <rrt@sc3d.org>.
27878
27879 2010-09-24  Bruno Haible  <bruno@clisp.org>
27880
27881         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
27882         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
27883
27884 2010-09-23  Bruno Haible  <bruno@clisp.org>
27885
27886         setenv: Relax license.
27887         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
27888         Blake.
27889         Requested by Eric Blake.
27890
27891 2010-09-22  Bruno Haible  <bruno@clisp.org>
27892
27893         termios: Relax license.
27894         * modules/termios (License): Change to LGPLv2+.
27895         Requested by Eric Blake.
27896
27897 2010-09-22  Bruno Haible  <bruno@clisp.org>
27898
27899         threadlib: Allow the package to change the default to 'no'.
27900         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
27901         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
27902         Reported by Paul Eggert.
27903
27904 2010-09-22  Pádraig Brady  <P@draigbrady.com>
27905             Bruno Haible  <bruno@clisp.org>
27906
27907         Fix endless loop in mbmemcasecoll.
27908         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
27909         byte.
27910         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
27911
27912 2010-09-22  Bruno Haible  <bruno@clisp.org>
27913
27914         Tests for module 'memcoll'.
27915         * modules/memcoll-tests: New file.
27916         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
27917
27918         memcoll, xmemcoll: Clarify size vs. length.
27919         * modules/memcoll.c (memcoll0): Clarify specification.
27920         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
27921         passed to collate_error.
27922
27923 2010-09-22  Bruno Haible  <bruno@clisp.org>
27924
27925         Tests for module 'memcasecmp'.
27926         * modules/memcasecmp-tests: New file.
27927         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
27928
27929 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27930
27931         * lib/pthread.in.h: Add split double-inclusion guard, and include
27932         system <pthread.h> if there is one.  Use @@-style as in other
27933         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
27934         pthread.h doesn't.
27935         (pthread_mutexattr_destroy, pthread_mutexattr_init):
27936         (pthread_mutexattr_settype, pthread_mutex_trylock):
27937         New static inline functions, if there's no system <pthread.h>.
27938         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
27939         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
27940         Approximate with mutexes if the system lacks spinlocks, as in
27941         MacOS.
27942         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
27943         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
27944         @@-style.  Check for spinlocks separately.
27945         (gl_PTHREAD_DEFAULTS): New macro.
27946         * modules/pthread: Redo to use a more typical style for in.h files.
27947
27948 2010-09-21  Eric Blake  <eblake@redhat.com>
27949
27950         net_if: enhance tests
27951         * tests/test-net_if.c (main): Move signature checks earlier.
27952         Print failures to stderr.
27953         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
27954         Document the bug that we do not yet fix.
27955
27956 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27957
27958         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
27959         about gnulib, not GSS.
27960
27961 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27962
27963         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
27964         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
27965         for Emacs.
27966         * build-aux/pmccabe2html: Make Makefile.am example code more
27967         cut-and-paste friendly.
27968
27969 2010-09-21  Simon Josefsson  <simon@josefsson.org>
27970
27971         * tests/test-net_if.c: New file.
27972         * modules/net_if-tests: New file.
27973
27974 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27975
27976         pthread: add pthread_spin_destroy
27977         * lib/pthread.in.h (pthread_spin_destroy): New function.
27978
27979 2010-09-19  Bruno Haible  <bruno@clisp.org>
27980
27981         gnulib-tool: Fix --help output.
27982         * gnulib-tool (func_usage): Fix help message.
27983         Reported by Reuben Thomas <rrt@sc3d.org>.
27984
27985 2010-09-18  Jim Meyering  <meyering@redhat.com>
27986
27987         maint.mk: avoid unexpanded \n in two diagnostics
27988         * top/maint.mk (sc_prohibit_always_true_header_tests):
27989         Don't use a literal \n in a halt=... assignment.  It would not be
27990         expanded, and the two \n bytes would appear in the diagnostic output
27991         rather than the desired newline.  Use halt=$$(printf ... instead.
27992         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27993
27994 2010-09-18  Bruno Haible  <bruno@clisp.org>
27995
27996         netinet_in: Doc tweak.
27997         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
27998         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27999
28000 2010-09-18  Jim Meyering  <meyering@redhat.com>
28001
28002         init.sh: correct an outdated comment
28003         * tests/init.sh (create_exe_shims_):  s/function/alias/
28004
28005         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
28006         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
28007         a file named "*.exe" is removed between the glob expansion and the
28008         processing of that oddly named file.
28009
28010 2010-09-17  Eric Blake  <eblake@redhat.com>
28011
28012         mirbsd: add some more support
28013         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
28014         in BSD family.
28015         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
28016         devices as OpenBSD.
28017         * m4/host-os.m4 (mirbsd): Add MirBSD.
28018
28019         tests: fix unportable assumption on sys/wait.h
28020         * tests/test-sys_wait.c (main): Relax test.
28021         * tests/test-stdlib.c (main): Likewise.
28022
28023         init.sh: accommodate directory with no .exes
28024         * tests/init.sh: Accomodate directory containing only scripts.
28025
28026         tests: avoid compiler warning
28027         * tests/test-stdlib.c (main): Use the variable.
28028
28029         fdutimens, fdutimensat: update signature, again
28030         * lib/utimens.h (gl_futimens): Delete, and move signature...
28031         (fdutimens): ...here.
28032         (fdutimensat): Rearrange signature.
28033         (lutimensat): Rename variable for clarity.
28034         * lib/fdutimensat.c (fdutimensat): Update signature.
28035         * lib/utimens.c (fdutimens): Likewise.
28036         (gl_futimens): Delete.
28037         (utimens, lutimens): Update callers.
28038         * lib/futimens.c (futimens): Likewise.
28039         * tests/test-fdutimensat.c: Likewise.
28040         * tests/test-utimens.c: Likewise.
28041         * tests/test-futimens.h: Update comment.
28042         * NEWS: Mention this.
28043         Suggested by Paul Eggert.
28044
28045 2010-09-17  Bruno Haible  <bruno@clisp.org>
28046
28047         Take over the maintenance of some older macros from Autoconf.
28048         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
28049         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
28050         GNU Autoconf.
28051         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
28052         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
28053
28054 2010-09-17  Eric Blake  <eblake@redhat.com>
28055
28056         fdutimensat: drop atflag validation
28057         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
28058         with valid fd, to close a race scenario where futimens is
28059         unsupported and FILE was replaced by a symlink.
28060         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
28061         accordingly.
28062         Suggested by Paul Eggert.
28063
28064 2010-09-16  Bruno Haible  <bruno@clisp.org>
28065
28066         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
28067         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
28068
28069 2010-09-16  Bruno Haible  <bruno@clisp.org>
28070
28071         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
28072         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
28073         login_tty exists.
28074         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28075
28076 2010-09-16  Bruno Haible  <bruno@clisp.org>
28077
28078         login_tty: Make the replacement code work on BSD systems.
28079         * lib/login_tty.c: Include <sys/ioctl.h>.
28080         (login_tty): Use ioctl TIOCSCTTY when available.
28081         * modules/login_tty (Depends-on): Add sys_ioctl.
28082         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28083
28084 2010-09-16  Bruno Haible  <bruno@clisp.org>
28085
28086         login_tty: Stricter unit test.
28087         * modules/login_tty-tests (Depends-on): Add tcgetsid.
28088         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
28089         and tcgetsid() after login_tty.
28090         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28091
28092 2010-09-16  Bruno Haible  <bruno@clisp.org>
28093
28094         New module 'tcgetsid'.
28095         * lib/tcgetsid.c: New file.
28096         * m4/tcgetsid.m4: New file.
28097         * modules/tcgetsid: New file.
28098         * modules/termios (Depends-on): Add c++defs, warn-on-use.
28099         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
28100         GNULIB_TCGETSID, HAVE_TCGETSID.
28101         * lib/termios.in.h: Include <sys/types.h>.
28102         (tcgetsid): New declaration.
28103         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
28104         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
28105         * doc/posix-functions/tcgetsid.texi: Mention the new module.
28106         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
28107
28108 2010-09-16  Bruno Haible  <bruno@clisp.org>
28109
28110         Tests for module 'termios'.
28111         * modules/termios-c++-tests: New file.
28112         * modules/termios-tests: New file.
28113         * tests/test-termios-c++.cc: New file.
28114         * tests/test-termios.c: New file.
28115
28116         New module 'termios'.
28117         * modules/termios: New file.
28118         * lib/termios.in.h: New file.
28119         * m4/termios_h.m4: New file.
28120         * doc/posix-headers/termios.texi: Mention the new module.
28121
28122 2010-09-16  Eric Blake  <eblake@redhat.com>
28123
28124         fdutimensat: add an atflag parameter
28125         * lib/fdutimensat.c (fdutimensat): Add new parameter.
28126         * lib/utimens.h (fdutimensat): Update prototype.
28127         * tests/test-fdutimensat.c: Adjust test to match.
28128         * NEWS: Document the change.
28129         Suggested by Paul Eggert.
28130
28131 2010-09-16  Bruno Haible  <bruno@clisp.org>
28132
28133         Fix typos in comments.
28134         * lib/striconveh.h: Fix typo in comment.
28135         * lib/login_tty.c (login_tty): Likewise.
28136
28137 2010-09-15  Bruno Haible  <bruno@clisp.org>
28138
28139         stdlib: clarify MirBSD WEXITSTATUS bug
28140         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
28141         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28142
28143 2010-09-15  Eric Blake  <eblake@redhat.com>
28144
28145         stdlib: work around MirBSD WEXITSTATUS bug
28146         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
28147         * modules/stdlib (Depends-on): Add sys_wait.
28148         * tests/test-sys_wait.c (main): Enhance test.
28149         * tests/test-stdlib.c (main): Likewise.
28150         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
28151
28152         docs: mention MacOS issue with WEXITSTATUS(constant)
28153         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
28154         issue.
28155         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28156
28157         strnlen: add tests
28158         * modules/strnlen-tests: New file.
28159         * tests/test-strnlen.c: Likewise.
28160
28161 2010-09-14  Bruno Haible  <bruno@clisp.org>
28162
28163         unistr/base: Avoid link errors when module 'libunistring' is also used.
28164         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
28165         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
28166         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
28167         Declare also when HAVE_LIBUNISTRING is set.
28168         Reported by Pádraig Brady <P@draigbrady.com>.
28169
28170 2010-09-14  Eric Blake  <eblake@redhat.com>
28171
28172         test-rawmemchr: make more robust
28173         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
28174         (Depends-on, configure.ac): Add needed prerequisites to use it.
28175         * modules/memchr-tests (Files, Depends-on, configure.ac):
28176         Likewise, to avoid implicit reliance on memchr module prereqs.
28177         * tests/test-memchr.c (main): Ensure proper masking.
28178         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
28179         reads.
28180
28181         memchr: detect glibc Alpha bug
28182         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
28183         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
28184         Alpha.
28185         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
28186         * tests/test-memchr.c (main): Enhance test.
28187         Reported by Nelson H. F. Beebe.
28188
28189 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28190
28191         fts, getcwd, glob: audit for dirfd returning -1
28192         * lib/fts.c (opendir): Remove #define; no longer used.
28193         (opendirat): New arg PDIR_FD.  All callers changed.
28194         (fts_build, _opendir2): Use new opendirat to avoid the need for
28195         dirfd, or for checking whether dirfd returns a negative value.
28196         Don't use opendir; always use openat followed by fdopendir.
28197         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
28198         it.
28199         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
28200         returns -1 here.
28201         * modules/fts (Depends-on): Remove dirfd.
28202         * modules/getcwd (Depends-on): Likewise.
28203
28204 2010-09-13  Eric Blake  <eblake@redhat.com>
28205
28206         float: fix broken MirBSD header
28207         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
28208         * doc/posix-headers/float.texi (float.h): Document it.
28209
28210 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28211
28212         fts: use O_NOFOLLOW to avoid race condition when opening a directory
28213         * lib/fts.c (opendirat): New arg extra_flags.
28214         (__opendir2): Use it to avoid following symlinks when opening
28215         a directory, if symlinks are not supposed to be followed.  See
28216         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
28217
28218         fdopendir: preserve argument fd before returning
28219         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
28220         (fdopendir_with_dup, fd_clone_opendir): New static functions.
28221         (fdopendir): Use them, arranging for FD to be open to the same
28222         directory that it was when it started.  (It might be temporarily
28223         closed while fdopendir is running, so this not thread- or
28224         signal-safe.)  Be careful to do the right thing even when file
28225         descriptors are scarce and dup fails with errno == EMFILE.  See
28226         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
28227
28228 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
28229
28230         regex: Pass the system regex if its only problem is 32-bit regoff_t.
28231         * NEWS: Document change.
28232         * m4/regex.m4: Disable test for regoff_t size.
28233
28234 2010-09-13  Jim Meyering  <meyering@redhat.com>
28235
28236         fts: don't operate on an invalid file descriptor after failed dup
28237         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
28238         negative file descriptor.
28239
28240 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
28241
28242         savedir: add streamsavedir, deprecate fdsavedir
28243         * NEWS: Mention deprecation of fdsavedir.
28244         * lib/savedir.c (streamsavedir): New extern function, whose name
28245         ends in "savedir" to be consistent with the others.  This differs
28246         from savedirstream in that it doesn't close its argument.  The
28247         next version of GNU tar will use this instead of fdsavedir, to
28248         avoid some race conditions and conserve file descriptors.
28249         (savedirstream): Reimplement as a wrapper around streamsavedir.
28250         (fdsavedir): Add a comment deprecating this function.  As far as
28251         I know, only GNU tar used it, and GNU tar doesn't need it any more.
28252         * lib/savedir.h (streamsavedir): New decl.
28253         (fdsavedir): Add a comment deprecating this.
28254
28255 2010-09-10  Bruno Haible  <bruno@clisp.org>
28256
28257         langinfo: Fix last commit.
28258         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
28259         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
28260         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28261
28262 2010-09-10  Bruno Haible  <bruno@clisp.org>
28263
28264         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
28265         * lib/progreloc.c (O_EXEC): Define fallback.
28266
28267 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
28268
28269         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
28270         * NEWS: Document recent changes to fcntl-h.
28271         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
28272         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
28273         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
28274         Similarly for O_SEARCH; this last was already true, but not documented.
28275         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
28276         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
28277         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
28278         Likewise.
28279         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
28280         is zero, not whether it is defined.
28281         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
28282         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
28283         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
28284
28285 2010-09-10  Bruno Haible  <bruno@clisp.org>
28286
28287         langinfo, nl_langinfo: Fix for IRIX 5.3.
28288         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
28289         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
28290         HAVE_LANGINFO_YESEXPR.
28291         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
28292         HAVE_LANGINFO_YESEXPR.
28293         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
28294         HAVE_LANGINFO_T_FMT_AMPM is 0.
28295         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
28296         HAVE_LANGINFO_YESEXPR is 0.
28297         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
28298         NOEXPR.
28299         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
28300         * doc/posix-functions/nl_langinfo.texi: Likewise.
28301         Reported by Eric Blake.
28302
28303 2010-09-10  Bruno Haible  <bruno@clisp.org>
28304
28305         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
28306         * doc/glibc-functions/login_tty.texi: Mention the include file problem
28307         on FreeBSD 8.0 and OpenBSD 4.6.
28308         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
28309         * m4/pty_h.m4 (gl_PTY_H): Likewise.
28310         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
28311         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
28312         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
28313         ac_includes_default.
28314         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28315
28316 2010-09-09  Eric Blake  <eblake@redhat.com>
28317
28318         strsignal: work around NetBSD bug
28319         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
28320         * lib/string.in.h (includes): Likewise.
28321         * doc/posix-functions/strsignal.texi (strsignal): Document the
28322         bug.
28323         Reported by Nelson H. F. Beebe.
28324
28325         gnulib-tool: work with NetBSD /bin/sh
28326         * gnulib-tool (func_cache_var, func_cache_lookup_module)
28327         (func_get_description, func_get_comment, func_get_status)
28328         (func_get_notice, func_get_applicability, func_get_filelist)
28329         (func_get_dependencies, func_get_autoconf_early_snippet)
28330         (func_get_autoconf_snippet, func_get_automake_snippet)
28331         (func_get_include_directive, func_get_link_directive)
28332         (func_get_license, func_get_maintainer, func_import): Avoid
28333         shell syntax errors from parsing syntax extensions.
28334
28335 2010-09-09  Bruno Haible  <bruno@clisp.org>
28336
28337         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
28338         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
28339         a reliable way to determine whether the 'alias' command works.
28340
28341 2010-09-08  Jim Meyering  <meyering@redhat.com>
28342
28343         init.sh: penalize a set-x-impaired shell; don't disqualify it
28344         * tests/init.sh: Too many shells corrupt application stderr when
28345         you set -x, so we can't afford to disqualify them, since at least
28346         on Irix-6.5, that would disqualify all bourne shells.
28347         Instead, use a two-pass approach.
28348         On the first pass, try to find a shell that meets the stricter
28349         condition that set -x does not corrupt stderr.
28350         If no shell meets the stricter condition, retest each candidate
28351         shell, but without that extra condition.  Finally, when
28352         VERBOSE=yes is requested and set -x might cause trouble, simply
28353         issue a warning and refrain from enabling debug output.
28354
28355 2010-09-08  Eric Blake  <eblake@redhat.com>
28356
28357         unsetenv: fix OpenBSD bug
28358         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
28359         * doc/posix-functions/unsetenv.texi (unsetenv): Update
28360         documentation.
28361         Reported by Jim Meyering.
28362
28363         strtod: work around IRIX 6.5 bug
28364         * lib/strtod.c (strtod): Reparse number on shorter string if
28365         exponent parse was invalid.
28366         * tests/test-strtod.c (main): Add check for "0x1p 2".
28367         Reported by Tom G. Christensen.
28368
28369         getopt: optimize previous patch
28370         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
28371         empty variable.  Speed up awk script.
28372         Reported by Paolo Bonzini.
28373
28374 2010-09-08  Jim Meyering  <meyering@redhat.com>
28375
28376         test.sh: disqualify shells for which set -x corrupts stderr
28377         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
28378         and OpenBSD 4.7.  They make it so with "set -x", environment settings
28379         appear in stderr output.  For example, this command:
28380             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
28381         prints "P=1" on those two systems:
28382
28383 2010-09-08  Bruno Haible  <bruno@clisp.org>
28384
28385         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
28386         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
28387         commands, because some shells ignore redirections when there is an
28388         error in the command lookup.
28389         Reported by Eric Blake.
28390
28391 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
28392
28393         * lib/regex.h: Fix a mention of `regex_compile' (should be
28394         `re_compile_pattern').
28395         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
28396         (re_set_registers): Correct name of parameter in comment.
28397
28398         * doc/regex.texi: Add documentation for missing syntax flags.
28399         Remove commented-out documentation of defunct syntax option
28400         RE_NO_EMPTY_ALTS.
28401         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
28402         Add documentation of re_set_registers.
28403         Document trick to re-use a pattern buffer by setting fastmap manually.
28404         Update documentation of struct re_pattern_buffer per public members.
28405         Uncomment documentation of equivalence class operators and
28406         collating symbol operators, since they are now implemented,
28407         Explain leftmost-longest matching in relation to alternatives.
28408         Tidy documentation of substring matching.
28409         Remove POSIX documentation, which is done better in
28410         glibc, and refer the reader there. Keep BSD API documentation, as
28411         that is not readily available elsewhere.
28412
28413 2010-09-07  Eric Blake  <eblake@redhat.com>
28414
28415         getopt: handle POSIXLY_CORRECT set but not exported
28416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
28417         export state of POSIXLY_CORRECT, due to bash set -o posix.
28418         Reported by Dustin J. Mitchell.
28419
28420 2010-09-05  Bruno Haible  <bruno@clisp.org>
28421
28422         gnulib-tool: Highlight the changed options.
28423         * gnulib-tool (func_usage): Display the --import, --add-import,
28424         --remove-import explanations in bold font.
28425
28426 2010-09-06  Karl Berry  <karl@gnu.org>
28427
28428         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
28429
28430 2010-09-05  Bruno Haible  <bruno@clisp.org>
28431
28432         uniwidth/width: Update comment.
28433         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
28434         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
28435
28436 2010-09-05  Bruno Haible  <bruno@clisp.org>
28437
28438         isinf, isnan: Relax license.
28439         * modules/isinf (License): Change from GPL to LGPL, with consent from
28440         Ben Pfaff.
28441         * modules/isnan (License): Likewise.
28442         Requested by Ludovic Courtès.
28443
28444 2010-09-04  Bruno Haible  <bruno@clisp.org>
28445
28446         gnulib-tool: Help migration from --import to --add-import or --update.
28447         * gnulib-tool: Emit a verbose error message when --import is used
28448         without any module name.
28449
28450 2010-09-04  Bruno Haible  <bruno@clisp.org>
28451
28452         Update doc about gnulib-tool.
28453         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
28454         'gnulib-tool --update' in more detail.
28455         Reported by Eric Blake.
28456
28457 2010-09-04  Bruno Haible  <bruno@clisp.org>
28458
28459         gnulib-tool: Change --import. New options --add/remove-import.
28460         * gnulib-tool: New options --add-import, --remove-import.
28461         (func_usage): Document them.
28462         (have_associative): Define always.
28463         (func_import): In import mode, don't merge the specified settings with
28464         the cached settings. Implement remove-import mode.
28465         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
28466         Explain when to use them versus --import.
28467         (Simple update): Use --add-import instead of --import.
28468         * NEWS: Mention the change.
28469
28470 2010-09-04  Bruno Haible  <bruno@clisp.org>
28471
28472         * doc/gnulib-tool.texi (Initial import): Update paragraph about
28473         separate gnulib.mk.
28474
28475 2010-09-04  Bruno Haible  <bruno@clisp.org>
28476
28477         gnulib-tool: Don't talk about CVS any more.
28478         * gnulib-tool (func_usage, func_import): Write "version control"
28479         instead of CVS.
28480
28481 2010-09-04  Jim Meyering  <meyering@redhat.com>
28482
28483         maint.mk: avoid obscure sc_copyright_check failure in coreutils
28484         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
28485         false positives (whose names may be ill-chosen) when searching
28486         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
28487         would cause a false-positive.
28488
28489         avoid coreutils "make distcheck" failure
28490         Coreutils tests with an absolute build directory name that contains
28491         a space.  Not quoting this directory name caused a failure.
28492         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
28493         * tests/test-vc-list-files-cvs.sh: Likewise.
28494
28495 2010-09-04  Bruno Haible  <bruno@clisp.org>
28496
28497         gnulib-tool: Avoid error when run in a package without Makefile.am.
28498         * gnulib-tool: When collecting the m4dirs in a package that does not
28499         have a Makefile.am, eliminate those directories that contain no
28500         gnulib-cache.m4. Fix expression that counts these directories.
28501
28502 2010-09-04  Bruno Haible  <bruno@clisp.org>
28503
28504         update-copyright test: Improve output when perl is missing or too old.
28505         * tests/test-update-copyright.sh: Move test of Perl version down after
28506         the test whether Perl exists. Provide an explanation relating Perl's
28507         error message to Automake's SKIP: message.
28508
28509 2010-09-04  Bruno Haible  <bruno@clisp.org>
28510
28511         Don't augment PATH in TESTS_ENVIRONMENT.
28512         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
28513         set abs_aux_dir instead of augmenting PATH.
28514         * modules/vc-list-files-tests (Makefile.am): Likewise.
28515         * tests/test-update-copyright.sh: Augment PATH here.
28516         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
28517         path_prepend_.
28518         * tests/test-vc-list-files-git.sh: Likewise.
28519
28520 2010-09-04  Jim Meyering  <meyering@redhat.com>
28521
28522         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
28523         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
28524
28525 2010-09-04  Bruno Haible  <bruno@clisp.org>
28526
28527         strdup: Fix compilation error in C++ mode.
28528         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
28529         the macro.
28530
28531 2010-09-04  Bruno Haible  <bruno@clisp.org>
28532
28533         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
28534         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
28535         macro into a function.
28536         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28537
28538 2010-09-04  Bruno Haible  <bruno@clisp.org>
28539
28540         Set PATH_SEPARATOR the same way autoconf does.
28541         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
28542         the value of PATH_SEPARATOR the same way autoconf-generated configure
28543         scripts do.
28544         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
28545         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
28546
28547 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
28548
28549         Set PATH_SEPARATOR the same way autoconf does.
28550         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
28551         the same way autoconf-generated configure scripts do.
28552         * posix-modules: Likewise.
28553
28554 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
28555
28556         hash: fix safe_hasher const typo
28557         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
28558         const; otherwise, there is a type error later.
28559
28560 2010-09-02  Jim Meyering  <meyering@redhat.com>
28561
28562         test-update-copyright.sh: require perl 5.8.0
28563         * tests/test-update-copyright.sh: Require 5.8.0,
28564         which Tom G. Christensen has confirmed is adequate,
28565         while 5.6.1 is not.
28566
28567 2010-09-02  Eric Blake  <eblake@redhat.com>
28568
28569         tests: init.sh improvements for re-exec'ing with zsh
28570         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
28571         -vx through shell re-exec.
28572         Reported by Tom G. Christensen.
28573
28574         wctype: fix typo in previous commit
28575         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
28576         Reported by Ludovic Courtès.
28577
28578 2010-09-02  Jim Meyering  <meyering@redhat.com>
28579
28580         test-update-copyright.sh: skip test if Perl is too old
28581         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
28582         Reported by Tom G. Christensen.
28583
28584 2010-09-02  Bruno Haible  <bruno@clisp.org>
28585
28586         wctype: Avoid compilation error on IRIX 6.5.30.
28587         * lib/wctype.in.h (iswblank): Declare with a replacement if
28588         REPLACE_ISWBLANK is set.
28589         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
28590         declared. Set REPLACE_ISWBLANK.
28591         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
28592         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
28593         * doc/posix-headers/wctype.texi: Likewise.
28594         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28595
28596 2010-09-01  Bruno Haible  <bruno@clisp.org>
28597
28598         New module 'socketlib'.
28599         * modules/socketlib: New file.
28600         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
28601         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
28602         * modules/sockets (Depends-on): Add socketlib.
28603         Suggested by Sam Steingold <sds@gnu.org>.
28604
28605 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
28606
28607         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
28608
28609         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
28610         when one needs search access to a directory but not read access.
28611         On systems where it is available, it works in some cases where
28612         O_RDONLY does not, namely on directories that are searchable but
28613         not readable, and which need only to be searchable.  If O_SEARCH
28614         is not available, fall back to the traditional method of using
28615         O_RDONLY.
28616
28617         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
28618         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
28619         when opening a directory that needs only to be searchable.
28620         * lib/chdir-safer.c (chdir_no_follow): Likewise.
28621         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
28622         * lib/openat-proc.c (openat_proc_name): Likewise.
28623         * lib/openat.c (openat_needs_fchdir): Likewise.
28624         * lib/save-cwd.c (save_cwd): Likewise.
28625         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
28626
28627 2010-08-28  Bruno Haible  <bruno@clisp.org>
28628
28629         New module 'host-cpu-c-abi'.
28630         * modules/host-cpu-c-abi: New file.
28631         * m4/host-cpu-c-abi.m4: New file, based on part of
28632         clisp/src/m4/general.m4.
28633         Requested by Sam Steingold <sds@gnu.org>.
28634
28635 2010-08-31  Eric Blake  <eblake@redhat.com>
28636         and Jim Meyering  <meyering@redhat.com>
28637
28638         hash: factor, and guard against misbehaving hasher function
28639         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
28640         of table->hasher's return value.  Also protect against a hash value
28641         so large that adding it to table->bucket results in a NULL pointer.
28642         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
28643         Use it in place of open-coded check-and-abort.
28644
28645 2010-08-30  Bruno Haible  <bruno@clisp.org>
28646
28647         hash: silence spurious clang warning
28648         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
28649         Reported by Eric Blake.
28650
28651 2010-08-30  Eric Blake  <eblake@redhat.com>
28652
28653         strstr, memmem, strcasestr: avoid leaked shell message
28654         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
28655         FreeBSD.
28656         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28657         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28658
28659         tests: silence clang warning
28660         * tests/test-malloca.c (do_allocation): Avoid dead store.
28661
28662 2010-08-29  Bruno Haible  <bruno@clisp.org>
28663
28664         gettext: Fix recent mistake.
28665         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
28666
28667 2010-08-29  Bruno Haible  <bruno@clisp.org>
28668
28669         selinux-h: Offer a --without-selinux option.
28670         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
28671         --without-selinux was specified, skip all tests and define
28672         HAVE_SELINUX_SELINUX_H to 0.
28673         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
28674         set LIB_SELINUX to empty.
28675         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
28676         gl_LIBSELINUX. If --without-selinux was specified, replace
28677         selinux/context.h.
28678         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
28679
28680 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28681             Bruno Haible  <bruno@clisp.org>
28682
28683         Make the module 'realloc-gnu' work again on AIX and OSF/1.
28684         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
28685         of HAVE_REALLOC.
28686         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
28687         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
28688         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
28689         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28690
28691 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28692             Bruno Haible  <bruno@clisp.org>
28693
28694         Make the module 'calloc-gnu' work again on AIX and OSF/1.
28695         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
28696         HAVE_CALLOC.
28697         * lib/xmalloc.c: Update accordingly.
28698         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
28699         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
28700         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
28701
28702 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28703             Bruno Haible  <bruno@clisp.org>
28704
28705         Make the module 'malloc-gnu' work again on AIX and OSF/1.
28706         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
28707         HAVE_MALLOC.
28708         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
28709         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
28710         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28711
28712 2010-08-29  Bruno Haible  <bruno@clisp.org>
28713
28714         Update modules list.
28715         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28716         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
28717         (String handling <string.h>): Add astrxfrm.
28718         (File system functions): Add readlinkat.
28719
28720 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28721
28722         Tests for module 'realloc-gnu'.
28723         * modules/realloc-gnu-tests: New file.
28724         * tests/test-realloc-gnu.c: New file.
28725
28726         Tests for module 'calloc-gnu'.
28727         * modules/calloc-gnu-tests: New file.
28728         * tests/test-calloc-gnu.c: New file.
28729
28730         Tests for module 'malloc-gnu'.
28731         * modules/malloc-gnu-tests: New file.
28732         * tests/test-malloc-gnu.c: New file.
28733
28734 2010-08-28  Bruno Haible  <bruno@clisp.org>
28735
28736         Rename module 'realloc' -> 'realloc-gnu'.
28737         * modules/realloc-gnu: New file, copied from modules/realloc.
28738         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
28739         obsolete.
28740         * modules/mgetgroups (Depends-on): Update.
28741         * doc/posix-functions/realloc.texi: Update.
28742         * NEWS: Mention the change.
28743
28744         Rename module 'calloc' -> 'calloc-gnu'.
28745         * modules/calloc-gnu: New file, copied from modules/calloc.
28746         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
28747         obsolete.
28748         * doc/posix-functions/calloc.texi: Update.
28749         * NEWS: Mention the change.
28750
28751         Rename module 'malloc' -> 'malloc-gnu'.
28752         * modules/malloc-gnu: New file, copied from modules/malloc.
28753         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
28754         obsolete.
28755         * modules/argp (Depends-on): Update.
28756         * modules/regex (Depends-on): Update.
28757         * doc/posix-functions/malloc.texi: Update.
28758         * NEWS: Mention the change.
28759
28760 2010-08-28  Eric Blake  <eblake@redhat.com>
28761
28762         pread, pwrite: add missing dependency
28763         * modules/pread (Depends-on): Add extensions.
28764         * modules/pwrite (Depends-on): Likewise.
28765
28766 2010-08-28  Bruno Haible  <bruno@clisp.org>
28767
28768         unistr/u*-strchr: Fix tests dependencies.
28769         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
28770         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
28771         Reported by Ian Beckwith <ianb@erislabs.net>.
28772
28773 2010-08-28  Bruno Haible  <bruno@clisp.org>
28774
28775         read-file: Don't occupy too much unused memory.
28776         * lib/read-file.c (fread_file): Shrink the buffer at the end.
28777
28778 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
28779             Eric Blake  <eblake@redhat.com>
28780             Bruno Haible  <bruno@clisp.org>
28781
28782         read-file: Avoid memory reallocations with regular files.
28783         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
28784         (fread_file): With regular files, use the remaining length as the
28785         initial buffer size.  Check against overflow.
28786         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
28787         sys_stat.
28788
28789 2010-08-28  Bruno Haible  <bruno@clisp.org>
28790
28791         ftello: Relax license.
28792         * modules/ftello (License): Relax to LGPLv2+.
28793         Reported by Eric Blake.
28794
28795 2010-08-28  Bruno Haible  <bruno@clisp.org>
28796
28797         Avoid relocwrapper link errors due to gnulib replacement functions.
28798         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
28799         function.
28800         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28801
28802 2010-08-28  Bruno Haible  <bruno@clisp.org>
28803
28804         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
28805         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
28806         defined.
28807         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
28808         Suggested by Eric Blake.
28809
28810 2010-08-28  Bruno Haible  <bruno@clisp.org>
28811
28812         sys_socket, netdb: Ensure socklen_t gets defined.
28813         * modules/sys_socket (Depends-on): Add socklen.
28814         * modules/netdb (Depends-on): Likewise.
28815         * modules/getaddrinfo (Depends-on): Remove socklen.
28816         * modules/getsockopt (Depends-on): Likewise.
28817         * modules/setsockopt (Depends-on): Likewise.
28818         * tests/test-sys_socket.c: Check that socklen_t is defined.
28819         * tests/test-netdb.c: Likewise.
28820         * m4/socklen.m4: Update comments.
28821         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28822
28823 2010-08-27  Eric Blake  <eblake@redhat.com>
28824
28825         login_tty: add missing dependency
28826         * modules/login_tty (Depends-on): Add pty.
28827
28828 2010-08-26  Eric Blake  <eblake@redhat.com>
28829
28830         lib-symbol-versions: fix m4 quoting
28831         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
28832         format for AC_LINK_IFELSE.
28833
28834         glob: fix compile test
28835         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
28836
28837         btowc: fix missing file
28838         * modules/btowc (Files): Also ship locale-fr.m4.
28839
28840         lseek: fix link test
28841         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
28842         AC_LINK_IFELSE.
28843
28844         include_next: silence autoconf 2.68 warning
28845         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
28846         AC_COMPILE_IFELSE as special.
28847         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
28848         autoconf < 2.68.
28849
28850         acl: fix compilation test
28851         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
28852         AC_COMPILE_IFELSE.
28853
28854 2010-08-26  Bruno Haible  <bruno@clisp.org>
28855
28856         Modernize AC_TRY_RUN invocations.
28857         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
28858         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28859         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
28860         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
28861         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
28862         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28863         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28864         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28865         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28866         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28867         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28868         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28869         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28870         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28871         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28872         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
28873         gl_MBRLEN_NUL_RETVAL): Likewise.
28874         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28875         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28876         Likewise.
28877         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28878         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28879         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28880         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28881         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
28882         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
28883         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
28884         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
28885         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
28886         Likewise.
28887         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28888         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
28889         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28890         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28891         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28892         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28893         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28894         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
28895         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28896         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28897
28898 2010-08-26  Bruno Haible  <bruno@clisp.org>
28899
28900         Modernize AC_TRY_LINK invocations.
28901         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
28902         AC_TRY_LINK.
28903         * m4/argp.m4 (gl_ARGP): Likewise.
28904         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
28905         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28906         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
28907         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28908         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28909         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
28910         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
28911         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
28912         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28913         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28914         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28915         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
28916         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
28917         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28918         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28919         * m4/hostent.m4 (gl_HOSTENT): Likewise.
28920         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28921         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
28922         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28923         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
28924         Likewise.
28925         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
28926         Likewise.
28927         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
28928         Likewise.
28929         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28930         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
28931         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
28932         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
28933         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
28934         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28935         * m4/servent.m4 (gl_SERVENT): Likewise.
28936         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
28937         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
28938         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
28939         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
28940         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28941         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
28942         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28943         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28944         * modules/tsearch-tests (configure.ac): Likewise.
28945
28946 2010-08-26  Bruno Haible  <bruno@clisp.org>
28947
28948         Modernize AC_TRY_COMPILE invocations.
28949         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
28950         AC_TRY_COMPILE.
28951         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
28952         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
28953         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28954         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
28955         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28956         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28957         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28958         * m4/lock.m4 (gl_LOCK): Likewise.
28959         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
28960         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28961         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
28962         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
28963         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28964         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
28965         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28966         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
28967         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28968         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28969         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28970         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28971         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
28972         extraneous semicolon.
28973
28974 2010-08-26  Jim Meyering  <meyering@redhat.com>
28975
28976         stat-time: relax license LGPL
28977         * modules/stat-time (License): Change from GPL to LGPL,
28978         with consent from all contributors, for use in libguile.
28979         Requested by Ludovic Courtès.
28980
28981 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
28982
28983         poll: return immediately on POLLHUP.
28984         * lib/poll.c (poll): Always set timeout before wait_timeout is
28985         computed.
28986
28987 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28988
28989         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
28990         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
28991         rmdir ("dir/.//"), unlinkat.
28992
28993 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28994
28995         stdbool: avoid spurious failure with modern xlc
28996         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28997
28998 2010-08-24  Bruno Haible  <bruno@clisp.org>
28999
29000         getloadavg: simplify code
29001         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
29002         gl_have_func. Update comments.
29003
29004 2010-08-24  Eric Blake  <eblake@redhat.com>
29005
29006         getloadavg: don't define SVR4 on cygwin
29007         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
29008         only define SVR4 when -lkvm is required.
29009         Reported by Yaakov Selkowitz.
29010
29011 2010-08-24  Bruno Haible  <bruno@clisp.org>
29012
29013         priv-set: fix comment
29014         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
29015
29016 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
29017
29018         priv-set: fix comments
29019         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
29020         to match code, as suggested by David Bartley in:
29021         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
29022
29023 2010-08-23  Eric Blake  <eblake@redhat.com>
29024
29025         stdbool: avoid rejecting clang
29026         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
29027         * tests/test-stdbool.c: Enable more tests if using the system
29028         <stdbool.h> instead of the gnulib replacement.
29029         (main): Move xlc bug test to a runtime test for all compilers.
29030         Reported by Anders Kaseorg.
29031
29032         argz: fix shell quoting issue
29033         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
29034         Reported by Charles Wilson.
29035
29036 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
29037             Erik Faye-Lund <kusmabite@gmail.com>
29038
29039         poll, select: handle ERROR_BROKEN_PIPE.
29040         * lib/poll.c (win32_compute_revents): Return POLLHUP when
29041         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
29042         * lib/select.c (win32_compute_revents): Do not mark a pipe
29043         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
29044
29045 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
29046
29047         fts: allow compilation with C++
29048         * lib/fts_.h: Specify extern "C" linkage with C++.
29049
29050 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29051
29052         Fix gnulib-tool sed script de-commentation for AIX sed.
29053         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
29054         sed.
29055
29056 2010-08-17  Eric Blake  <eblake@redhat.com>
29057
29058         test-stddef: test for (some) offsetof bugs
29059         * tests/test-stddef.c: Enhance test to ensure correct type of
29060         offsetof.
29061         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
29062         that we are not fixing at this time.
29063
29064 2010-08-15  Bruno Haible  <bruno@clisp.org>
29065
29066         stpncpy: Allow stpncpy to be defined as a macro.
29067         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
29068         if it's already correctly declared.
29069         * lib/string.in.h (stpncpy): Undefine before redefining.
29070         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
29071
29072 2010-08-14  Bruno Haible  <bruno@clisp.org>
29073
29074         Rename module 'memxfrm' to 'amemxfrm'.
29075         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
29076         (amemxfrm): Renamed from memxfrm.
29077         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
29078         (amemxfrm): Renamed from memxfrm.
29079         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
29080         * NEWS: Mention the change.
29081         * MODULES.html.sh (String handling <string.h>): Update.
29082         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
29083         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
29084         * lib/unicase/u16-casexfrm.c: Likewise.
29085         * lib/unicase/u32-casexfrm.c: Likewise.
29086         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
29087         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
29088         * lib/uninorm/u16-normxfrm.c: Likewise.
29089         * lib/uninorm/u32-normxfrm.c: Likewise.
29090         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
29091         memxfrm.
29092         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
29093         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
29094         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
29095         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
29096         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
29097         Suggested by Paul Eggert.
29098
29099 2010-08-14  Bruno Haible  <bruno@clisp.org>
29100
29101         Tests for module 'astrxfrm'.
29102         * modules/astrxfrm-tests: New file.
29103         * tests/test-astrxfrm.c: New file.
29104
29105         New module 'astrxfrm'.
29106         * lib/astrxfrm.h: New file.
29107         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
29108         * modules/astrxfrm: New file.
29109
29110 2010-08-14  Reuben Thomas <rrt@sc3d.org>
29111
29112         regex: Tweak doc.
29113         * doc/regex.texi (Overview): Don't mention regex.c.
29114         (GNU Regular Expression Compiling): Likewise.
29115         (Match-end-of-line Operator): Mention 'not_eol'.
29116
29117 2010-08-14  Brian Gough  <bjg@gnu.org>
29118             Bruno Haible  <bruno@clisp.org>
29119
29120         git-merge-changelog: add doc relating to use with bzr and hg.
29121         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
29122
29123 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
29124
29125         pthread: fix pthread.h creation for srcdir != builddir
29126         * modules/pthread (Makefile.am): Fix the rule to work also in a
29127         non-srcdir build.
29128
29129 2010-08-13  Karl Berry  <karl@gnu.org>
29130
29131         * doc/regex.texi (Predefined Syntaxes): @smallexample.
29132         * doc/posix-*/*: force line break before @url of POSIX
29133         specifications.
29134         Suggested by Werner Lemberg.
29135
29136 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
29137
29138         strtod: fix const diagnostic
29139         * lib/strtod.c (strtod): Don't assign const char * to char *,
29140         as this elicits a warning from GCC when warnings are enabled.
29141
29142 2010-08-10  Pádraig Brady <P@draigbrady.com>
29143         and Eric Blake  <eblake@redhat.com>
29144
29145         copy-acl: ignore ENOTSUP on HP-UX
29146         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
29147         so that it is available for HP-UX.
29148         * lib/copy-acl.c (qcopy_acl): Use it.
29149         Reported by Patrick M. Callahan.
29150
29151 2010-08-10  Eric Blake  <eblake@redhat.com>
29152
29153         open, chown: relax license
29154         * modules/open (License): Change to LGPLv2+, with consent by all
29155         authors, for use in augeas.
29156         * modules/chown (License): Likewise.
29157         * modules/lchown (Likewise): Likewise.
29158         Requested by Adam Stokes.
29159
29160 2010-08-09  Karl Berry  <karl@gnu.org>
29161
29162         * build-aux/ar-lib: new file, import from Automake.
29163         * config/srclist.txt: autocheck for updates.
29164
29165 2010-08-09  Eric Blake  <eblake@redhat.com>
29166
29167         readlinkat: adjust client modules
29168         * modules/areadlinkat (Depends-on): Use readlinkat, not
29169         symlinkat.
29170         * modules/areadlinkat-with-size (Depends-on): Likewise.
29171
29172         mknod: be more vocal about danger of running tests as root
29173         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
29174         root, since that is just asking for problems.
29175         Suggested by Bruno Haible, based on a report by Rainer Tammer.
29176
29177         readlinkat: split into its own module
29178         * modules/symlinkat: Split readlinkat...
29179         * modules/readlinkat: ...into separate module.
29180         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
29181         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
29182         * lib/symlinkat.c (readlinkat): Move...
29183         * lib/readlinkat.c: ...into new file.
29184         * modules/symlinkat-tests: Split readlinkat test...
29185         * modules/readlinkat-tests: ...into separate module.
29186         * tests/test-symlinkat.c: Split...
29187         * tests/test-readlinkat.c: ...into new file.
29188         * NEWS: Document the split.
29189         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29190         * lib/unistd.in.h (readlinkat): Likewise.
29191         Suggested by Bruno Haible.
29192
29193 2010-08-08  Bruno Haible  <bruno@clisp.org>
29194
29195         memxfrm: Speed up.
29196         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
29197         that usually only one call to strxfrm is necessary for each string
29198         part.
29199         Reported by Paul Eggert <eggert@cs.ucla.edu>.
29200
29201 2010-08-07  Karl Berry  <karl@gnu.org>
29202
29203         * doc/posix-headers/limits.texi,
29204         * doc/posix-functions/malloc.texi,
29205         * doc/posix-functions/strsignal.texi: missing @item.
29206         * doc/ld-version-script.texi: spurious leading i.
29207         * doc/regex.texi (Interval Operators): no commas inside @var.
29208
29209 2010-08-01  Bruno Haible  <bruno@clisp.org>
29210
29211         Integrate the regex documentation.
29212         * doc/gnulib.texi: Define 'cn' index.
29213         (Regular expressions): New a chapter that includes regex.texi and
29214         regexprops-generic.texi.
29215         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
29216         syntax.
29217
29218         Whitespace cleanup.
29219         * doc/regex.texi: Remove trailing spaces.
29220
29221         Add regex documentation.
29222         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
29223         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
29224         Written by Kathy A. Hargreaves and Karl Berry.
29225
29226 2010-08-01  Bruno Haible  <bruno@clisp.org>
29227
29228         link: Update documentation.
29229         * doc/posix-functions/link.texi: Update regarding Solaris.
29230
29231 2010-07-31  Bruno Haible  <bruno@clisp.org>
29232
29233         Update modules list.
29234         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
29235         (String handling <string.h>): Add memcmp2, memxfrm.
29236         (Container data structures): Add xlist, xsublist, xoset.
29237         (Core language properties): Add alignof, unused-parameter.
29238         (Process control, Numeric conversion functions <stdlib.h>): Renamed
29239         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
29240         (Unibyte characters <ctype.h>): New section.
29241         (String handling <string.h>): New section.
29242         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
29243         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
29244         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
29245         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
29246         tan, tanh, tanl, y0, y1, yn.
29247         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
29248         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
29249         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
29250         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
29251         unlockpt, vdprintf, vdprintf-posix.
29252         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
29253         (File system functions): Add concat-filename, sys_file, sys_ioctl,
29254         xconcat-filename.
29255         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
29256         getdtablesize, pipe2, pipe2-safer.
29257         (Security): New section.
29258         (Networking functions): Add accept4.
29259         (Signal handling): Add sigpipe.
29260         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
29261         mbmemcasecoll.
29262         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
29263         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
29264         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
29265         pipe-filter-ii.
29266         (Misc): Add argp-version-etc, login_tty, parse-duration.
29267
29268 2010-07-31  Bruno Haible  <bruno@clisp.org>
29269
29270         Improve doc in MODULES.html.
29271         * modules/linkat (Description): Add the word "function".
29272         * modules/mkfifo (Description): Likewise.
29273         * modules/mknod (Description): Likewise.
29274         * modules/remove (Description): Likewise.
29275         * modules/renameat (Description): Likewise.
29276         * modules/stat (Description): Likewise.
29277         * modules/symlink (Description): Likewise.
29278         * modules/unlink (Description): Likewise.
29279
29280 2010-07-31  Bruno Haible  <bruno@clisp.org>
29281
29282         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
29283         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
29284         option --enable/disable-c++ instead of --enable/disable-cxx.
29285         * NEWS: Mention the change.
29286
29287 2010-07-31  Bruno Haible  <bruno@clisp.org>
29288
29289         readlink, areadlink: Relax test a bit.
29290         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
29291         alternative to ENOTDIR.
29292         * tests/test-areadlink.h (test_areadlink): Likewise.
29293         Reported by Rainer Tammer.
29294
29295 2010-07-31  Bruno Haible  <bruno@clisp.org>
29296
29297         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
29298         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
29299         character, perform the search using U_STRCHR.
29300         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
29301         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
29302         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
29303         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
29304         Suggested by Paolo Bonzini.
29305
29306 2010-07-31  Bruno Haible  <bruno@clisp.org>
29307
29308         unistr/u*-strstr: Fix dependencies.
29309         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
29310         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
29311         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
29312
29313 2010-07-31  Bruno Haible  <bruno@clisp.org>
29314
29315         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
29316         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
29317         the beginning of the loop.
29318         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
29319         cases in 'switch' statement.
29320
29321         unistr/u8-strchr: Fix several bugs.
29322         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
29323         the string. When not found, return NULL, not a pointer near the end.
29324
29325         More tests for unistr/u8-strchr.
29326         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
29327         that the function does not read past the first occurrence of the byte
29328         being searched.
29329         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
29330         * tests/unistr/test-u16-strchr.c (main): New function.
29331         * tests/unistr/test-u32-strchr.c (main): New function.
29332
29333 2010-07-31  Bruno Haible  <bruno@clisp.org>
29334
29335         posix-modules: Ignore backup files of documentation files.
29336         * posix-modules: grep only through files named *.texi.
29337
29338 2010-07-31  Bruno Haible  <bruno@clisp.org>
29339
29340         symlinkat: Fix documentation.
29341         * doc/posix-functions/readlinkat.texi: Fix module name.
29342
29343 2010-07-31  Bruno Haible  <bruno@clisp.org>
29344
29345         fchownat: Replace also when chown has the trailing slash bug.
29346         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
29347         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
29348         introduced on 2010-04-10.
29349         Reported by Rainer Tammer.
29350
29351 2010-07-31  Bruno Haible  <bruno@clisp.org>
29352
29353         linkat: Work around AIX 7.1 bug.
29354         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
29355         whether linkat handles trailing slash correctly. If not, replace linkat
29356         and define LINKAT_TRAILING_SLASH_BUG.
29357         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
29358         check whether (fd1,file1) points to a directory if file1 or file2 ends
29359         in a slash. Code taken from lib/link.c.
29360         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
29361         Reported by Rainer Tammer.
29362
29363 2010-07-31  Bruno Haible  <bruno@clisp.org>
29364
29365         Correctly determine whether pow is available in libc on AIX 7 with xlc.
29366         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
29367         This disables an xlc optimization that was causing wrong test results.
29368         Reported by Rainer Tammer.
29369
29370 2010-07-31  Bruno Haible  <bruno@clisp.org>
29371
29372         iconv: Work around AIX 6.1..7.1 bug.
29373         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
29374         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
29375         cross-compiling, guess no on all versions of AIX.
29376         Reported by Rainer Tammer.
29377
29378 2010-07-31  Bruno Haible  <bruno@clisp.org>
29379
29380         readlink: Relax test a bit.
29381         * tests/test-readlink.h (test_readlink): Allow different errno value
29382         when readlink is called with a file name that ends in / and refers to
29383         a file.
29384         Suggested by Eric Blake.
29385         Reported by Rainer Tammer.
29386
29387 2010-07-31  Bruno Haible  <bruno@clisp.org>
29388
29389         copysign: Does not require -lm on glibc systems.
29390         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
29391         gl_COMMON_DOUBLE_MATHFUNC.
29392         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
29393
29394 2010-07-31  Bruno Haible  <bruno@clisp.org>
29395
29396         duplocale: Work around AIX 7.1 bug.
29397         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
29398         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
29399         * lib/duplocale.c (rpl_duplocale): Update comment.
29400         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
29401         Reported by Rainer Tammer.
29402
29403 2010-07-30  Bruno Haible  <bruno@clisp.org>
29404
29405         dirfd: Avoid link error on AIX 7.1.
29406         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
29407         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
29408         exist, set REPLACE_DIRFD.
29409         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
29410         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
29411         * doc/posix-functions/dirfd.texi: Update.
29412         Reported by Rainer Tammer.
29413
29414 2010-07-30  Eric Blake  <eblake@redhat.com>
29415
29416         strtod: next round of AIX fixes
29417         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
29418         exponent.
29419         * tests/test-strtod.c (main): Enhance tests.
29420         * doc/posix-functions/strtod.texi (strtod): Document next bug.
29421         Reported by Rainer Tammer.
29422
29423         futimens: fix configure check
29424         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
29425         Reported by Bruno Haible.
29426
29427 2010-07-30  Bruno Haible  <bruno@clisp.org>
29428
29429         getline: Update regarding AIX.
29430         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
29431         Reported by Rainer Tammer.
29432
29433 2010-07-30  Bruno Haible  <bruno@clisp.org>
29434
29435         wcwidth: Drop replacement on AIX 7.
29436         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
29437         AIX 7.
29438         Reported by Rainer Tammer.
29439
29440 2010-07-30  Bruno Haible  <bruno@clisp.org>
29441
29442         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
29443         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
29444         a 'char *'.
29445         Reported by Rainer Tammer.
29446
29447 2010-07-30  Bruno Haible  <bruno@clisp.org>
29448
29449         unlink: Update regarding AIX.
29450         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
29451         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
29452         Reported by Rainer Tammer.
29453
29454 2010-07-30  Bruno Haible  <bruno@clisp.org>
29455
29456         symlink: Update regarding AIX.
29457         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
29458         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
29459         Reported by Rainer Tammer.
29460
29461 2010-07-30  Bruno Haible  <bruno@clisp.org>
29462
29463         strndup: Update regarding AIX.
29464         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
29465         AIX 7.
29466         Reported by Rainer Tammer.
29467
29468 2010-07-30  Bruno Haible  <bruno@clisp.org>
29469
29470         stat: Update regarding AIX.
29471         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
29472         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
29473         Reported by Rainer Tammer.
29474
29475 2010-07-30  Bruno Haible  <bruno@clisp.org>
29476
29477         truncl: Fix autoconf test.
29478         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
29479         whether truncl works.
29480         Reported by Rainer Tammer.
29481
29482 2010-07-30  Bruno Haible  <bruno@clisp.org>
29483
29484         round: Update regarding AIX.
29485         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
29486         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
29487         Reported by Rainer Tammer.
29488
29489 2010-07-30  Bruno Haible  <bruno@clisp.org>
29490
29491         rename: Update regarding AIX.
29492         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
29493         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
29494         Reported by Rainer Tammer.
29495
29496 2010-07-30  Bruno Haible  <bruno@clisp.org>
29497
29498         printf.m4: Update regarding AIX.
29499         * m4/printf.m4: Update comments regarding AIX.
29500         Reported by Rainer Tammer.
29501
29502 2010-07-30  Bruno Haible  <bruno@clisp.org>
29503
29504         iconv: Update regarding AIX.
29505         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
29506         AIX 7.
29507         Reported by Rainer Tammer.
29508
29509 2010-07-30  Bruno Haible  <bruno@clisp.org>
29510
29511         getopt: Update regarding AIX.
29512         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
29513         no on AIX.
29514         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
29515         Reported by Rainer Tammer.
29516
29517 2010-07-30  Bruno Haible  <bruno@clisp.org>
29518
29519         ldexpl; Update regarding AIX.
29520         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
29521         on AIX 7.
29522         Reported by Rainer Tammer.
29523
29524 2010-07-30  Bruno Haible  <bruno@clisp.org>
29525
29526         frexpl: Update regarding AIX.
29527         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
29528         on AIX 7.
29529         Reported by Rainer Tammer.
29530
29531 2010-07-30  Bruno Haible  <bruno@clisp.org>
29532
29533         open, fopen: Update regarding AIX.
29534         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
29535         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
29536         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
29537         * doc/posix-functions/fopen.texi: Likewise.
29538         Reported by Rainer Tammer.
29539
29540 2010-07-30  Bruno Haible  <bruno@clisp.org>
29541
29542         chown: Update doc regarding AIX.
29543         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
29544         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
29545         Reported by Rainer Tammer.
29546
29547 2010-07-30  Eric Blake  <eblake@redhat.com>
29548
29549         strtod: fix bug in replacement function on AIX
29550         * lib/strtod.c (strtod): Special case broken "0x" parse in
29551         underlying strtod.
29552         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
29553         * doc/posix-functions/strtod.texi (strtod): Likewise.
29554         Reported by Rainer Tammer.
29555
29556 2010-07-30  Bruno Haible  <bruno@clisp.org>
29557
29558         mbrlen: Fix cross-compilation guess for AIX.
29559         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
29560         guess. Leftover from 2008-12-22.
29561
29562 2010-07-30  Bruno Haible  <bruno@clisp.org>
29563
29564         mbrtowc: Fix cross-compilation guess for AIX.
29565         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
29566         guess. Leftover from 2008-12-21.
29567
29568 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
29569
29570         init.sh: work around trap limitation of some shells
29571         * tests/init.sh (setup_): Move exit trap outside of shell function.
29572
29573 2010-07-29  Eric Blake  <eblake@redhat.com>
29574
29575         strtod: aid debugging
29576         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
29577         understanding why strtod is rejected.
29578
29579 2010-07-28  Bruno Haible  <bruno@clisp.org>
29580
29581         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
29582         * lib/unistr/u8-chr.c: Include <string.h>.
29583         * tests/unistr/test-u8-chr.c: Likewise.
29584         * tests/unistr/test-u16-chr.c: Likewise.
29585         * tests/unistr/test-u32-chr.c: Likewise.
29586         * tests/unistr/test-u8-strchr.c: Likewise.
29587         * tests/unistr/test-u16-strchr.c: Likewise.
29588         * tests/unistr/test-u32-strchr.c: Likewise.
29589         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
29590         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
29591         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
29592         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
29593
29594 2010-07-28  Bruno Haible  <bruno@clisp.org>
29595
29596         Use spaces for indentation, not tabs.
29597         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
29598
29599 2010-07-27  Bruno Haible  <bruno@clisp.org>
29600
29601         mbspcasecmp: Fix function specification.
29602         * lib/string.in.h (mbspcasecmp): Fix specification comment.
29603         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
29604         Reported by Eric Blake <eblake@redhat.com>.
29605
29606 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
29607
29608         timespec: use cast and not conditional, as truncation isn't possible
29609         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
29610         instead of a conditional.  Comment about the situation in more detail.
29611         This undoes most of the 2009-10-29 patch.
29612
29613 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
29614
29615         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
29616         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
29617         * lib/unistr/u8-strchr.c: Likewise.
29618         * modules/unistr/u8-chr: Depend on memchr.
29619
29620         unistr/u*-strchr: add tests
29621         * modules/unistr/u8-strchr-tests: New file.
29622         * modules/unistr/u16-strchr-tests: New file.
29623         * modules/unistr/u32-strchr-tests: New file.
29624         * tests/unistr/test-strchr.h: New file.
29625         * tests/unistr/test-u8-strchr.c: New file.
29626         * tests/unistr/test-u16-strchr.c: New file.
29627         * tests/unistr/test-u32-strchr.c: New file.
29628
29629         unistr/u*-chr: test multibyte sequences more
29630         * tests/unistr/test-chr.h: Do complete testing of the characters in the
29631         test vector.
29632         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
29633         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
29634         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
29635
29636         unistr/u*-chr: test multibyte sequences
29637         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
29638
29639         unistr/u*-chr: prepare for multibyte tests
29640         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
29641         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
29642         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
29643         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
29644         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
29645         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
29646
29647 2010-07-18  Bruno Haible  <bruno@clisp.org>
29648
29649         unistr/u8-strchr: Optimize non-ASCII argument case.
29650         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
29651         because the first byte often matches anyway.
29652         Reported by Pádraig Brady <P@draigbrady.com>.
29653
29654 2010-07-15  Karl Berry  <karl@gnu.org>
29655
29656         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
29657
29658 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
29659
29660         getcwd: on Solaris, work better if ancestors are inaccessible
29661         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
29662         buffer and size, try again with a large buffer.  This works better
29663         on Solaris, since its getcwd succeeds even if the path to the root
29664         is inaccessible, and this is helpful in common cases such as .zfs
29665         hidden directories.  Problem reported by J Chapman Flack in
29666         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
29667         Use system getcwd if it's declared, not merely if it's partly
29668         working; use the partly-working test only to avoid needless effort
29669         if the system getcwd fails.
29670         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
29671         comment that was already obsolete and is now even more obsolete.
29672         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
29673         now might call strdup.
29674
29675 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
29676
29677         pthread: Add enough so that coreutils/src/sort.c compiles.
29678         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
29679         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
29680         gnulib. Include <sched.h> and <time.h>, as per POSIX.
29681         Include <sys/types.h>, in case it defines pthread_t.
29682         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
29683         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
29684         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
29685         (pthread_rwlockattr_t, pthread_spinlock_t):
29686         New typedefs, if HAVE_PTHREAD_T is not defined.
29687         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
29688         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
29689         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
29690         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
29691         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
29692         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
29693         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
29694         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
29695         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
29696         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
29697         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
29698         New macros.
29699         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
29700         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
29701         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
29702         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
29703         (pthread_spin_unlock): New dummy functions.
29704         (pthread_create): Return EAGAIN; don't set errno.
29705         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
29706         require AC_C_INLINE.
29707         * modules/pthread (Depends-on): Add sched, time.
29708         (pthread.h): Use AM_V_GEN.
29709
29710 2010-07-13  Bruno Haible  <bruno@clisp.org>
29711
29712         striconveh: Don't malloc memory if the result buffer is sufficient.
29713         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
29714         buffer if its size is sufficient.
29715         Reported by Ludovic Courtès <ludo@gnu.org>.
29716
29717 2010-07-13  Bruno Haible  <bruno@clisp.org>
29718
29719         strtod: Add safety check.
29720         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
29721
29722 2010-07-12  Bruno Haible  <bruno@clisp.org>
29723
29724         Unify tests that set gl_cv_func_ldexpl_no_libm.
29725         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
29726         gl_FUNC_LDEXPL.
29727         (gl_FUNC_LDEXPL): Invoke it.
29728         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29729
29730 2010-07-12  Bruno Haible  <bruno@clisp.org>
29731
29732         Unify tests that set gl_cv_func_ldexp_no_libm.
29733         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
29734         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
29735         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
29736         (configure.ac): Simply invoke gl_FUNC_LDEXP.
29737         * modules/strtod (Files): Add m4/ldexp.m4.
29738
29739 2010-07-12  Bruno Haible  <bruno@clisp.org>
29740
29741         Unify tests that set gl_cv_func_frexpl_no_libm.
29742         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
29743         gl_FUNC_FREXPL_NO_LIBM.
29744         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
29745         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29746
29747 2010-07-12  Bruno Haible  <bruno@clisp.org>
29748
29749         Unify tests that set gl_cv_func_frexp_no_libm.
29750         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
29751         gl_FUNC_FREXP_NO_LIBM.
29752         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
29753         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29754
29755 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29756
29757         memcoll: clarify sizes versus lengths, document better, and tweak perf
29758         * lib/memcoll.c (strcoll_loop, memcoll0):
29759         Improve quality of descriptive comments.  Name variables
29760         consistently as to whether they are lengths (which do not include
29761         terminating null) versus sizes (which do).
29762         * lib/xmemcoll.c (xmemcoll0): Likewise.
29763         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
29764         returned when s1size == 0; this is easier to compile and saves
29765         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
29766
29767 2010-07-12  Bruno Haible  <bruno@clisp.org>
29768
29769         Tests for module '_Exit'.
29770         * modules/_Exit-tests: New file.
29771         * tests/test-_Exit.sh: New file.
29772         * tests/test-_Exit.c: New file.
29773
29774         New module '_Exit'.
29775         * lib/stdlib.in.h (__attribute__): New macro.
29776         (_Exit): New declaration.
29777         * lib/_Exit.c: New file.
29778         * m4/_Exit.m4: New file.
29779         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
29780         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
29781         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
29782         * modules/_Exit: New file.
29783         * tests/test-stdlib-c++.cc (_Exit): Check signature.
29784         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
29785
29786 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29787
29788         strtod: make it more-accurate typically, and don't require libm
29789         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
29790         Include limits.h.  Don't include string.h.
29791         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
29792         (locale_isspace): New function, so that no casts are needed to
29793         check whether *s is a space.
29794         (ldexp): Provide an unused dummy if not available.
29795         (scale_radix_exp, parse_number, underlying_strtod): New functions.
29796         (strtod): Use them.  This implementation prefers to use the
29797         underlying strtod if available, falling back on our own code
29798         only to fix known bugs.  This is more likely to produce an
29799         accurate result.  Also, it avoids the use of libm functions.
29800         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
29801         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
29802         was absent, but it caused a test failure with coreutils.
29803         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
29804         with libm.
29805         * modules/strtod (Makefile.am, Link): libm is no longer needed.
29806         * modules/strtod-tests (Makefile.am): Likewise.
29807
29808 2010-07-11  Pádraig Brady  <P@draigBrady.com>
29809             Bruno Haible  <bruno@clisp.org>
29810
29811         unistr/u8-strchr: Optimize ASCII argument case.
29812         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
29813
29814 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29815
29816         (x)memcoll: minor tweaks
29817         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
29818         is after the type that it qualifies.
29819         (memcoll0): Likewise.
29820         * lib/memcoll.h (memcoll0): Likewise.
29821         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
29822         * lib/xmemcoll.h (xmemcoll0): Likewise.
29823         * lib/memcoll.c (memcoll0): Correct the comment.  This function
29824         differs from memcoll in that the NUL byte is part of the argument.
29825         Omit the abort-checks, as performance is a real issue here.  Plus,
29826         the checks were wrong anyway (an off-by-one error).  Omit local
29827         variable 'diff', as it's a bit clearer that way.
29828         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
29829         no longer needed.
29830
29831 2010-07-08  Chen Guo <chenguo4@yahoo.com>
29832
29833         (x)memcoll: speedup when input is known to be NUL delimited
29834         * lib/memcoll.c: Include stdlib.
29835         (memcoll0): New function.
29836         (strcoll_loop): New function, refactored for use in both memcoll
29837         and memcoll0.
29838         * lib/memcoll.h (memcoll0): Add prototype.
29839         * lib/xmemcoll.c (xmemcoll0): New function.
29840         (collate_error): New function, refactored for use in both xmemcoll
29841         and xmemcoll0.
29842         * lib/xmemcoll.h (xmemcoll0): Add prototype.
29843         * m4/memcoll.m4: add inline invocation.
29844
29845 2010-07-06  Pádraig Brady  <P@draigBrady.com>
29846
29847         * build-aux/bootstrap: Remove any local translations
29848         from the translation project synchronization directory,
29849         so that local only translations are not distributed.
29850
29851 2010-07-04  Bruno Haible  <bruno@clisp.org>
29852
29853         fsusage: Clarify which code applies to which platforms.
29854         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
29855         platform.
29856         * lib/fsusage.c (get_fs_usage): Likewise.
29857
29858 2010-07-04  Bruno Haible  <bruno@clisp.org>
29859
29860         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
29861         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
29862         Reported by Martin Lambers <marlam@marlam.de>.
29863
29864 2010-07-04  Jim Meyering  <meyering@redhat.com>
29865
29866         hash: once again explicitly disallow insertion of NULL
29867         * lib/hash.c (hash_insert0): Reinstate just-removed test:
29868         inserting a NULL pointer cannot work with these functions.
29869         Add a comment with details.
29870         This reverts part of the 2010-07-01 commit, 5bef1a35
29871         "hash: extend module to deal with non-pointer keys".
29872
29873 2010-07-01  Bruno Haible  <bruno@clisp.org>
29874
29875         stdbool: Update doc.
29876         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
29877         Info from Christian Weisgerber <naddy@mips.inka.de>.
29878
29879 2010-07-01  Jim Meyering  <meyering@redhat.com>
29880
29881         hash: extend module to deal with non-pointer keys
29882         * lib/hash.c (hash_insert0): New interface, much like hash_insert
29883         but that allows insertion of non-pointer entries.
29884         Do not disallow an ENTRY value of NULL.
29885         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
29886         * lib/hash.h (hash_insert0): Declare.
29887
29888 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29889
29890         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
29891         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
29892         not present (i.e. with autoconf 2.59 and when using gettextize, not
29893         gnulib), require AC_GNU_SOURCE instead.
29894
29895 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
29896
29897         idpriv-drop: Fix tests.
29898         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
29899         not to the test-idpriv-droptemp program.
29900
29901 2010-06-29  Bruno Haible  <bruno@clisp.org>
29902
29903         string: Fix syntax error with g++ 2.96.
29904         * lib/string.in.h (__pure__): Remove definition.
29905         (_GL_ATTRIBUTE_PURE): New macro.
29906         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
29907         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
29908         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29909
29910 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
29911
29912         unitypes: Fix bug introduced on 2010-05-18.
29913         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
29914
29915 2010-06-22  Eric Blake  <eblake@redhat.com>
29916
29917         memmem: slight optimization
29918         * lib/str-two-way.h (critical_factorization): Update comments.
29919         Reduce work during factorization phase.
29920         Reported by Carlos Bueno <carlos@bueno.org>.
29921
29922 2010-06-21  Bruno Haible  <bruno@clisp.org>
29923
29924         Fix HAVE_CALLOC_POSIX misnomer.
29925         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
29926         !HAVE_CALLOC_POSIX.
29927         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
29928         HAVE_CALLOC_POSIX.
29929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
29930         instead of HAVE_CALLOC_POSIX.
29931         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
29932         HAVE_CALLOC_POSIX.
29933
29934         Use modern idiom for calloc() replacement.
29935         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
29936         AC_FUNC_CALLOC.
29937         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
29938         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
29939         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29940         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
29941         (gl_REPLACE_CALLOC): New macro.
29942
29943 2010-06-21  Bruno Haible  <bruno@clisp.org>
29944
29945         Fix HAVE_REALLOC_POSIX misnomer.
29946         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
29947         !HAVE_REALLOC_POSIX.
29948         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
29949         HAVE_REALLOC_POSIX.
29950         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
29951         instead of HAVE_REALLOC_POSIX.
29952         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
29953         HAVE_REALLOC_POSIX.
29954
29955         Use modern idiom for realloc() replacement.
29956         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
29957         AC_FUNC_REALLOC.
29958         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
29959         Autoconf's AC_FUNC_REALLOC.
29960         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29961         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
29962         (gl_REPLACE_REALLOC): New macro.
29963         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29964
29965 2010-06-21  Bruno Haible  <bruno@clisp.org>
29966
29967         Fix HAVE_MALLOC_POSIX misnomer.
29968         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
29969         !HAVE_MALLOC_POSIX.
29970         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
29971         HAVE_MALLOC_POSIX.
29972         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
29973         instead of HAVE_MALLOC_POSIX.
29974         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
29975         HAVE_MALLOC_POSIX.
29976
29977         Use modern idiom for malloc() replacement.
29978         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
29979         AC_FUNC_MALLOC.
29980         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
29981         Autoconf's AC_FUNC_MALLOC.
29982         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29983         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
29984         (gl_REPLACE_MALLOC): New macro.
29985         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29986
29987 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
29988
29989         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
29990         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
29991         This macro takes 3 arguments, not 4.
29992
29993 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
29994
29995         ipv6: fix detection under mingw
29996         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
29997         in6_addr.
29998
29999 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
30000
30001         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
30002         that strtod() works when cross-compiling to a glibc version known
30003         to work.
30004
30005 2010-06-15  Bruno Haible  <bruno@clisp.org>
30006
30007         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
30008
30009 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
30010
30011         select: Correct timeout.
30012         * lib/select.c (rpl_select): Compute wait_timeout correctly.
30013
30014 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30015
30016         git-version-gen: init shell var to avoid env var influence
30017         * build-aux/git-version-gen (v): Init shell var to empty.
30018
30019 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
30020
30021         priv-set: Don't assume that priv.h exists merely because getppriv does.
30022         See Jan Andersen's bug report about AIX 5L in
30023         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
30024         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
30025         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
30026         * lib/priv-set.h: Likewise.
30027         * tests/test-priv-set.c: Likewise.
30028
30029 2010-06-13  Bruno Haible  <bruno@clisp.org>
30030
30031         relocatable: Make it easier to test whether to install wrappers.
30032         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
30033         RELOCATABLE_VIA_WRAPPER.
30034
30035 2010-06-13  Bruno Haible  <bruno@clisp.org>
30036
30037         gnulib-tool: Display specified modules and dependencies differently.
30038         * gnulib-tool (func_show_module_list): New function.
30039         (func_import, func_create_testdir): Invoke it.
30040         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30041
30042 2010-06-13  Bruno Haible  <bruno@clisp.org>
30043
30044         gnulib-tool: Align code of func_import and func_create_testdir.
30045         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
30046         specified_modules.
30047
30048 2010-06-12  Jim Meyering  <meyering@redhat.com>
30049
30050         test-inttostr: avoid spurious failure on Solaris 9
30051         * tests/test-inttostr.c (main): Skip the test when snprintf fails
30052         to accept "%ju".  Reported by Bruno Haible.
30053
30054 2010-06-11  Jim Meyering  <meyering@redhat.com>
30055
30056         test-sys_socket: mark variables as used more readably
30057         * tests/test-sys_socket.c (main): Mark otherwise unused variables
30058         as "used" explicitly via (void) statement casts.  This is more
30059         readable than using them in an artificial return expression.
30060         Suggestion from Bruno Haible.
30061
30062 2010-06-11  Bruno Haible  <bruno@clisp.org>
30063
30064         Avoid some more warnings from "gcc -Wwrite-strings".
30065         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
30066         to 'const char *'.
30067         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
30068         * tests/test-c-strcasestr.c (main): Likewise.
30069         * tests/test-mbscasestr1.c (main): Likewise.
30070         * tests/test-mbscasestr2.c (main): Likewise.
30071         * tests/test-memmem.c (main): Likewise.
30072         * tests/test-strstr.c (main): Likewise.
30073         * tests/test-strcasestr.c (main): Likewise.
30074
30075 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30076
30077         init.sh: change framework_failure_ to fail with status 99, not 1
30078         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
30079         automake's parallel-tests rule that this is an unexpected failure,
30080         even if the test is listed in XFAIL_TESTS.
30081
30082 2010-06-11  Jim Meyering  <meyering@redhat.com>
30083
30084         test-inttostr: avoid warnings about 4-6KB literal strings
30085         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
30086         Include "macros.h", for its definition of ASSERT.
30087         (CK): s/assert/ASSERT/
30088         * modules/inttostr-tests (Files): Add macros.h.
30089
30090         init.sh: don't use $ME_ or skip_ before they are defined
30091         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
30092         their first uses.  Also hoist their companions: warn_, fail_,
30093         framework_failure_, $stderr_fileno.  Prompted by a patch from
30094         Stefano Lattarini.
30095
30096         test-sys_socket: avoid set-but-not-used warnings from gcc
30097         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
30098         avoid warning about set-but-not-used variables.
30099
30100         test-xvasprintf: avoid 'const' discard warnings
30101         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
30102         "const" when assigning from literal strings.
30103         (test_xasprintf): Add "void" in function argument list to placate
30104         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
30105
30106         tests: avoid compilation warnings in argmatch and exclude tests...
30107         in packages that define ARGMATCH_DIE_DECL, like coreutils.
30108         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
30109         Since it always exits, declare with the "noreturn" attribute.
30110         * tests/test-argmatch.c: Likewise.
30111
30112         tests: avoid 'const' discard warnings in mbsstr tests
30113         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
30114         * tests/test-mbsstr2.c (main): Likewise.
30115
30116         test-verify: avoid warning from gcc's -Wmissing-declarations
30117         * tests/test-verify.c (function): Declare to be static.
30118
30119         test-inttostr.c: include <string.h> for use of strcmp
30120         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
30121
30122         test-linkat: avoid failed assertion on "other" architectures
30123         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
30124         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
30125         sparc: https://bugs.launchpad.net/bugs/591968
30126
30127 2010-06-11  Jim Meyering  <meyering@redhat.com>
30128
30129         printf.m4: avoid autoconf's "Expanded Before Required" warning
30130         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
30131         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
30132         autoconf warning.
30133
30134 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
30135
30136         Replacement header templates are now named with ".in", not "_".
30137         * doc/gnulib-intro.texi: Correct.
30138
30139 2010-06-10  Jim Meyering  <meyering@redhat.com>
30140
30141         inttostr-tests: depend on snprintf, not snprintf-posix
30142         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
30143         snprintf-posix, to avoid this aclocal failure:
30144           missing file gnulib-tests/vasnprintf.c
30145           configure.ac:45: error: expected source file, required through \
30146           AC_LIBSOURCES, not found
30147
30148 2010-06-10  Jim Meyering  <meyering@redhat.com>
30149
30150         inttostr: add a new function, inttostr, and tests
30151         The namesake function was not available.  The existence of the
30152         template file, inttostr.c makes its addition nontrivial.
30153         * lib/anytostr.c: Rename from inttostr.c.
30154         (anytostr): Rename from inttostr.
30155         * lib/inttostr.c: New file.
30156         * modules/inttostr (Files): Add anytostr.c.
30157         (Makefile.am): Set lib_SOURCES instead of ...
30158         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
30159         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
30160         * lib/offtostr.c: Likewise.
30161         * lib/uinttostr.c: Likewise.
30162         * lib/umaxtostr.c: Likewise.
30163         * modules/inttostr-tests: New file.
30164         * tests/test-inttostr.c: New file.  Test these functions.
30165
30166 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
30167             Bruno Haible  <bruno@clisp.org>
30168
30169         Add "Extending Gnulib" chapter to manual.
30170         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
30171         chapter.
30172         (Extending Gnulib): New chapter.
30173         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
30174         chapter.
30175
30176 2010-06-09  Bruno Haible  <bruno@clisp.org>
30177
30178         Avoid relocwrapper link errors due to gnulib replacement functions.
30179         * lib/areadlink.c: Use the system's malloc, realloc functions.
30180         (areadlink): Set errno to ENOMEM explicitly.
30181         * modules/areadlink (Depends-on): Remove malloc-posix.
30182         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30183
30184 2010-06-09  Bruno Haible  <bruno@clisp.org>
30185
30186         Avoid relocwrapper link errors due to gnulib replacement functions.
30187         * lib/canonicalize-lgpl.c: Use the system's malloc function.
30188         * lib/malloca.c: Likewise.
30189         * lib/relocatable.c: Likewise.
30190         * lib/progreloc.c: Use the system's malloc, sprintf functions.
30191         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
30192         * lib/setenv.c: Use the system's malloc, realloc functions.
30193         * lib/strerror.c: Use the system's sprintf function.
30194         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30195
30196 2010-06-04  Bruno Haible  <bruno@clisp.org>
30197
30198         Prefer documented low-level autoconf macro names.
30199         * m4/lib-link.m4: Use m4_translit instead of translit.
30200         * m4/environ.m4: Likewise.
30201         * m4/mathfunc.m4: Likewise.
30202         * m4/onceonly.m4: Likewise.
30203         * m4/stdint.m4: Likewise.
30204         Suggested by Eric Blake.
30205
30206 2010-06-04  Martin Lambers  <marlam@marlam.de>
30207             Bruno Haible  <bruno@clisp.org>
30208
30209         havelib: Allow library names with '+' characters.
30210         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
30211         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
30212
30213 2010-06-09  Bruno Haible  <bruno@clisp.org>
30214
30215         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
30216         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
30217         realloc failed.
30218
30219 2010-06-08  Peter Simons  <simons@cryp.to>
30220
30221         maint.mk: make the news-check rule more configurable
30222         * top/maint.mk (news-check-lines-spec): New variable.
30223         (news-check): Use "sed -n 1,10p" in place of "head".
30224
30225 2010-06-07  Jim Meyering  <meyering@redhat.com>
30226
30227         do-release-commit-and-tag: fix typo in --help
30228         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
30229
30230         regex: avoid new dead-code warning with gcc-4.6.0
30231         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
30232         if-block containing a while-loop.  It's been unused for at least
30233         5 years.
30234
30235 2010-06-05  Bruno Haible  <bruno@clisp.org>
30236
30237         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
30238         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
30239
30240 2010-06-04  Bruno Haible  <bruno@clisp.org>
30241
30242         Update to GNU gettext 0.18.1.
30243         * modules/gettext (configure.ac): Require gettext infrastructure from
30244         version 0.18.1.
30245
30246 2010-06-03  Bruno Haible  <bruno@clisp.org>
30247
30248         Don't use AC_LIBOBJ with file names in subdirectories.
30249         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
30250         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
30251         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
30252         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
30253         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
30254         gl_LIBUNISTRING_LIBSOURCE.
30255         (Makefile.am): Augment lib_SOURCES here, conditionally.
30256         * NEWS: Drop requirement for Automake option 'subdir-objects'.
30257
30258 2010-06-03  Bruno Haible  <bruno@clisp.org>
30259
30260         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
30261         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
30262         expansion does not end with a newline.
30263         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
30264         unnecessary newline.
30265
30266 2010-06-03  Bruno Haible  <bruno@clisp.org>
30267
30268         Reduce dependencies.
30269         * tests/test-quotearg.h: New file, extracted from
30270         tests/test-quotearg.c.
30271         * tests/test-quotearg-simple.c: New file, extracted from
30272         tests/test-quotearg.c.
30273         * tests/test-quotearg.c: Don't include <ctype.h>.
30274         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
30275         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
30276         use_quote_double_quotes, use_quotearg_colon): Moved to
30277         tests/test-quotearg.h.
30278         (results_g, flag_results, custom_quotes, custom_results): Moved
30279         to tests/test-quotearg-simple.c.
30280         (main): Moved the part that does not depend on gettext to
30281         tests/test-quotearg-simple.c. Return 77 if the test cannot be
30282         performed.
30283         * modules/quotearg-simple: New file.
30284         * modules/quotearg-simple-tests: New file.
30285         * modules/quotearg (Depends-on): Add quotearg-simple.
30286         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
30287         (Files): Add tests/test-quotearg.h.
30288         Reported by Paolo Bonzini.
30289
30290 2010-06-03  Bruno Haible  <bruno@clisp.org>
30291
30292         Reduce dependencies.
30293         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
30294
30295 2010-06-03  Bruno Haible  <bruno@clisp.org>
30296
30297         time: Undefine more broken macros.
30298         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
30299         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
30300         Reported by Eric Blake.
30301
30302 2010-06-03  Bruno Haible  <bruno@clisp.org>
30303
30304         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
30305         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
30306         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
30307         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
30308         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
30309         Reported by Ludovic Courtès <ludo@gnu.org>.
30310
30311 2010-06-02  Eric Blake  <eblake@redhat.com>
30312
30313         time: work with mingw + pthreads-win32 library
30314         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
30315         if timespec is defined only in pthread.h.
30316         * modules/time (Makefile.am): Substitute it.
30317         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
30318         <pthread.h>, when needed.
30319         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
30320         from the library.
30321
30322 2010-05-31  Bruno Haible  <bruno@clisp.org>
30323
30324         Avoid expanding two macros in the wrong order.
30325         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
30326         gl_LIBUNISTRING if it is defined.
30327         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
30328         autoconf >= 2.64.
30329         Reported by Ludovic Courtès <ludo@gnu.org>.
30330
30331 2010-05-27  Jim Meyering  <meyering@redhat.com>
30332
30333         maint.mk: also prohibit "#undef" of always-defined symbols
30334         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
30335         Allow more than one space before the symbol name.
30336         (sc_prohibit_always-defined_macros): Use grep's -E, now that
30337         the regexp uses alternation.
30338
30339 2010-05-26  Eric Blake  <eblake@redhat.com>
30340
30341         maint.mk: avoid echo -e
30342         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
30343         Convert all uses of echo -* to printf.
30344         Reported by Matthias Bolte.
30345
30346 2010-05-25  Bruno Haible  <bruno@clisp.org>
30347
30348         Update to GNU gettext 0.18, part 2.
30349         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
30350         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
30351
30352 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30353
30354         Add missing include in test-pwrite.c.
30355         * tests/test-pwrite.c: Include string.h, for strcmp.
30356
30357 2010-05-24  Bruno Haible  <bruno@clisp.org>
30358
30359         * NEWS: Mention requirement for Automake option 'subdir-objects'.
30360
30361 2010-05-24  Bruno Haible  <bruno@clisp.org>
30362
30363         Don't use conversion with transliteration in u{8,16,32}_strcoll.
30364         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
30365         iconveh_error argument.
30366         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
30367         U_STRCONV_TO_LOCALE.
30368         * lib/unistr/u16-strcoll.c: Likewise.
30369         * lib/unistr/u32-strcoll.c: Likewise.
30370         * modules/unistr/u8-strcoll (Depends-on): Add
30371         uniconv/u8-strconv-to-enc, localcharset. Remove
30372         uniconv/u8-strconv-to-locale.
30373         (configure.ac): Bump version number.
30374         * modules/unistr/u16-strcoll (Depends-on): Add
30375         uniconv/u16-strconv-to-enc, localcharset. Remove
30376         uniconv/u16-strconv-to-locale.
30377         (configure.ac): Bump version number.
30378         * modules/unistr/u32-strcoll (Depends-on): Add
30379         uniconv/u32-strconv-to-enc, localcharset. Remove
30380         uniconv/u32-strconv-to-locale.
30381         (configure.ac): Bump version number.
30382
30383 2010-05-24  Bruno Haible  <bruno@clisp.org>
30384
30385         Avoid a test failure on NetBSD 5.0.
30386         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
30387         an iconv() bug.
30388
30389 2010-05-24  Bruno Haible  <bruno@clisp.org>
30390
30391         Adjust #include directive style.
30392         * modules/regex (Includes): Recommend to write <regex.h>.
30393
30394 2010-05-24  Bruno Haible  <bruno@clisp.org>
30395
30396         regex: Don't require alloca.
30397         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
30398         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
30399         only inside if (0).
30400
30401 2010-05-23  Jim Meyering  <meyering@redhat.com>
30402
30403         test-renameat.c: include <sys/stat.h>
30404         * tests/test-renameat.c: Include <sys/stat.h>; required for
30405         definition of S_IS* macros.
30406
30407 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
30408
30409         Update maintainer documentation for 'relocatable-prog' module.
30410         * doc/relocatable-maint.texi: Update.
30411         Comments by Bruno Haible.
30412
30413 2010-05-23  Bruno Haible  <bruno@clisp.org>
30414
30415         git-merge-changelog: Enable --split-merged-entry by default.
30416         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
30417         (usage): Don't mention this option any more.
30418         Reported by Ralf Wildenhues.
30419
30420 2010-05-23  Jim Meyering  <meyering@redhat.com>
30421
30422         test-pwrite: do not leave behind a test file named "out"
30423         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
30424         The trivial-looking use of init.sh is really necessary.
30425         It ensures that the temporary file, "out", is created in
30426         a temporary directory, and removed upon termination.
30427         * tests/test-pwrite.sh: Re-add file.
30428         * modules/pwrite-tests: Reference it.
30429
30430 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30431
30432         Fix output redirection buglet in init.sh.
30433         * tests/init.sh: Fix redirection of stderr.
30434
30435 2010-05-20  Simon Josefsson  <simon@josefsson.org>
30436
30437         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
30438
30439 2010-05-17  Simon Josefsson  <simon@josefsson.org>
30440
30441         * modules/valgrind-tests: New file.
30442         * m4/valgrind-tests.m4: New file.
30443         * doc/valgrind-tests.texi: New file.
30444         * doc/gnulib.texi (Running self-tests under valgrind): New
30445         section.
30446
30447 2010-05-19  Bruno Haible  <bruno@clisp.org>
30448
30449         Clean up dead code in recent commit.
30450         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
30451         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
30452         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
30453         Suggested by Paolo Bonzini.
30454
30455 2010-05-19  Bruno Haible  <bruno@clisp.org>
30456
30457         Avoid valgrind error reports from libunistring.
30458         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
30459         * modules/libunistring (Files): Add it.
30460         * modules/libunistring-optional (Files): Likewise.
30461
30462 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
30463             Bruno Haible  <bruno@clisp.org>
30464
30465         New module 'libunistring-optional'.
30466         * modules/libunistring-optional: New file.
30467         * m4/libunistring-base.m4: New file.
30468         * m4/libunistring-optional.m4: New file.
30469         * lib/unicase.in.h: Renamed from lib/unicase.h.
30470         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
30471         * lib/unictype.in.h: Renamed from lib/unictype.h.
30472         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
30473         * lib/uniname.in.h: Renamed from lib/uniname.h.
30474         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
30475         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
30476         * lib/unistr.in.h: Renamed from lib/unistr.h.
30477         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
30478         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
30479         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
30480         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
30481         gl_LIBUNISTRING. If the library was found, determine the installed
30482         version and set LIBUNISTRING_VERSION.
30483         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
30484         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
30485         handle a configuration option --with-included-libunistring.
30486         * modules/libunistring (Files): Add m4/absolute-header.m4.
30487         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
30488         Add m4/libunistring-base.m4.
30489         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30490         (Makefile.am): Build unicase.h from unicase.in.h.
30491         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
30492         Add m4/libunistring-base.m4.
30493         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30494         (Makefile.am): Build uniconv.h from uniconv.in.h.
30495         * modules/unictype/base (Files): Use unictype.in.h instead of
30496         unictype.h. Add m4/libunistring-base.m4.
30497         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30498         (Makefile.am): Build unictype.h from unictype.in.h.
30499         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
30500         Add m4/libunistring-base.m4.
30501         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30502         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
30503         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
30504         Add m4/libunistring-base.m4.
30505         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30506         (Makefile.am): Build uniname.h from uniname.in.h.
30507         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
30508         Add m4/libunistring-base.m4.
30509         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30510         (Makefile.am): Build uninorm.h from uninorm.in.h.
30511         * modules/unistdio/base (Files): Use unistdio.in.h instead of
30512         unistdio.h. Add m4/libunistring-base.m4.
30513         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30514         (Makefile.am): Build unistdio.h from unistdio.in.h.
30515         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
30516         Add m4/libunistring-base.m4.
30517         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30518         (Makefile.am): Build unistr.h from unistr.in.h.
30519         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
30520         Add m4/libunistring-base.m4.
30521         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30522         (Makefile.am): Build unitypes.h from unitypes.in.h.
30523         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
30524         Add m4/libunistring-base.m4.
30525         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30526         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
30527         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
30528         uniwidth.h. Add m4/libunistring-base.m4.
30529         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
30530         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
30531         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
30532         instead of augmenting lib_SOURCES.
30533         * modules/unicase/empty-suffix-context: Likewise.
30534         * modules/unicase/locale-language: Likewise.
30535         * modules/unicase/tolower: Likewise.
30536         * modules/unicase/totitle: Likewise.
30537         * modules/unicase/toupper: Likewise.
30538         * modules/unicase/u8-casecmp: Likewise.
30539         * modules/unicase/u8-casecoll: Likewise.
30540         * modules/unicase/u8-casefold: Likewise.
30541         * modules/unicase/u8-casexfrm: Likewise.
30542         * modules/unicase/u8-ct-casefold: Likewise.
30543         * modules/unicase/u8-ct-tolower: Likewise.
30544         * modules/unicase/u8-ct-totitle: Likewise.
30545         * modules/unicase/u8-ct-toupper: Likewise.
30546         * modules/unicase/u8-is-cased: Likewise.
30547         * modules/unicase/u8-is-casefolded: Likewise.
30548         * modules/unicase/u8-is-lowercase: Likewise.
30549         * modules/unicase/u8-is-titlecase: Likewise.
30550         * modules/unicase/u8-is-uppercase: Likewise.
30551         * modules/unicase/u8-prefix-context: Likewise.
30552         * modules/unicase/u8-suffix-context: Likewise.
30553         * modules/unicase/u8-tolower: Likewise.
30554         * modules/unicase/u8-totitle: Likewise.
30555         * modules/unicase/u8-toupper: Likewise.
30556         * modules/unicase/u16-casecmp: Likewise.
30557         * modules/unicase/u16-casecoll: Likewise.
30558         * modules/unicase/u16-casefold: Likewise.
30559         * modules/unicase/u16-casexfrm: Likewise.
30560         * modules/unicase/u16-ct-casefold: Likewise.
30561         * modules/unicase/u16-ct-tolower: Likewise.
30562         * modules/unicase/u16-ct-totitle: Likewise.
30563         * modules/unicase/u16-ct-toupper: Likewise.
30564         * modules/unicase/u16-is-cased: Likewise.
30565         * modules/unicase/u16-is-casefolded: Likewise.
30566         * modules/unicase/u16-is-lowercase: Likewise.
30567         * modules/unicase/u16-is-titlecase: Likewise.
30568         * modules/unicase/u16-is-uppercase: Likewise.
30569         * modules/unicase/u16-prefix-context: Likewise.
30570         * modules/unicase/u16-suffix-context: Likewise.
30571         * modules/unicase/u16-tolower: Likewise.
30572         * modules/unicase/u16-totitle: Likewise.
30573         * modules/unicase/u16-toupper: Likewise.
30574         * modules/unicase/u32-casecmp: Likewise.
30575         * modules/unicase/u32-casecoll: Likewise.
30576         * modules/unicase/u32-casefold: Likewise.
30577         * modules/unicase/u32-casexfrm: Likewise.
30578         * modules/unicase/u32-ct-casefold: Likewise.
30579         * modules/unicase/u32-ct-tolower: Likewise.
30580         * modules/unicase/u32-ct-totitle: Likewise.
30581         * modules/unicase/u32-ct-toupper: Likewise.
30582         * modules/unicase/u32-is-cased: Likewise.
30583         * modules/unicase/u32-is-casefolded: Likewise.
30584         * modules/unicase/u32-is-lowercase: Likewise.
30585         * modules/unicase/u32-is-titlecase: Likewise.
30586         * modules/unicase/u32-is-uppercase: Likewise.
30587         * modules/unicase/u32-prefix-context: Likewise.
30588         * modules/unicase/u32-suffix-context: Likewise.
30589         * modules/unicase/u32-tolower: Likewise.
30590         * modules/unicase/u32-totitle: Likewise.
30591         * modules/unicase/u32-toupper: Likewise.
30592         * modules/unicase/ulc-casecmp: Likewise.
30593         * modules/unicase/ulc-casecoll: Likewise.
30594         * modules/unicase/ulc-casexfrm: Likewise.
30595         * modules/uniconv/u8-conv-from-enc: Likewise.
30596         * modules/uniconv/u8-conv-to-enc: Likewise.
30597         * modules/uniconv/u8-strconv-from-enc: Likewise.
30598         * modules/uniconv/u8-strconv-from-locale: Likewise.
30599         * modules/uniconv/u8-strconv-to-enc: Likewise.
30600         * modules/uniconv/u8-strconv-to-locale: Likewise.
30601         * modules/uniconv/u16-conv-from-enc: Likewise.
30602         * modules/uniconv/u16-conv-to-enc: Likewise.
30603         * modules/uniconv/u16-strconv-from-enc: Likewise.
30604         * modules/uniconv/u16-strconv-from-locale: Likewise.
30605         * modules/uniconv/u16-strconv-to-enc: Likewise.
30606         * modules/uniconv/u16-strconv-to-locale: Likewise.
30607         * modules/uniconv/u32-conv-from-enc: Likewise.
30608         * modules/uniconv/u32-conv-to-enc: Likewise.
30609         * modules/uniconv/u32-strconv-from-enc: Likewise.
30610         * modules/uniconv/u32-strconv-from-locale: Likewise.
30611         * modules/uniconv/u32-strconv-to-enc: Likewise.
30612         * modules/uniconv/u32-strconv-to-locale: Likewise.
30613         * modules/unictype/bidicategory-byname: Likewise.
30614         * modules/unictype/bidicategory-name: Likewise.
30615         * modules/unictype/bidicategory-of: Likewise.
30616         * modules/unictype/bidicategory-test: Likewise.
30617         * modules/unictype/block-list: Likewise.
30618         * modules/unictype/block-test: Likewise.
30619         * modules/unictype/category-C: Likewise.
30620         * modules/unictype/category-Cc: Likewise.
30621         * modules/unictype/category-Cf: Likewise.
30622         * modules/unictype/category-Cn: Likewise.
30623         * modules/unictype/category-Co: Likewise.
30624         * modules/unictype/category-Cs: Likewise.
30625         * modules/unictype/category-L: Likewise.
30626         * modules/unictype/category-Ll: Likewise.
30627         * modules/unictype/category-Lm: Likewise.
30628         * modules/unictype/category-Lo: Likewise.
30629         * modules/unictype/category-Lt: Likewise.
30630         * modules/unictype/category-Lu: Likewise.
30631         * modules/unictype/category-M: Likewise.
30632         * modules/unictype/category-Mc: Likewise.
30633         * modules/unictype/category-Me: Likewise.
30634         * modules/unictype/category-Mn: Likewise.
30635         * modules/unictype/category-N: Likewise.
30636         * modules/unictype/category-Nd: Likewise.
30637         * modules/unictype/category-Nl: Likewise.
30638         * modules/unictype/category-No: Likewise.
30639         * modules/unictype/category-P: Likewise.
30640         * modules/unictype/category-Pc: Likewise.
30641         * modules/unictype/category-Pd: Likewise.
30642         * modules/unictype/category-Pe: Likewise.
30643         * modules/unictype/category-Pf: Likewise.
30644         * modules/unictype/category-Pi: Likewise.
30645         * modules/unictype/category-Po: Likewise.
30646         * modules/unictype/category-Ps: Likewise.
30647         * modules/unictype/category-S: Likewise.
30648         * modules/unictype/category-Sc: Likewise.
30649         * modules/unictype/category-Sk: Likewise.
30650         * modules/unictype/category-Sm: Likewise.
30651         * modules/unictype/category-So: Likewise.
30652         * modules/unictype/category-Z: Likewise.
30653         * modules/unictype/category-Zl: Likewise.
30654         * modules/unictype/category-Zp: Likewise.
30655         * modules/unictype/category-Zs: Likewise.
30656         * modules/unictype/category-and: Likewise.
30657         * modules/unictype/category-and-not: Likewise.
30658         * modules/unictype/category-byname: Likewise.
30659         * modules/unictype/category-name: Likewise.
30660         * modules/unictype/category-none: Likewise.
30661         * modules/unictype/category-of: Likewise.
30662         * modules/unictype/category-or: Likewise.
30663         * modules/unictype/category-test: Likewise.
30664         * modules/unictype/combining-class: Likewise.
30665         * modules/unictype/ctype-alnum: Likewise.
30666         * modules/unictype/ctype-alpha: Likewise.
30667         * modules/unictype/ctype-blank: Likewise.
30668         * modules/unictype/ctype-cntrl: Likewise.
30669         * modules/unictype/ctype-digit: Likewise.
30670         * modules/unictype/ctype-graph: Likewise.
30671         * modules/unictype/ctype-lower: Likewise.
30672         * modules/unictype/ctype-print: Likewise.
30673         * modules/unictype/ctype-punct: Likewise.
30674         * modules/unictype/ctype-space: Likewise.
30675         * modules/unictype/ctype-upper: Likewise.
30676         * modules/unictype/ctype-xdigit: Likewise.
30677         * modules/unictype/decimal-digit: Likewise.
30678         * modules/unictype/digit: Likewise.
30679         * modules/unictype/mirror: Likewise.
30680         * modules/unictype/numeric: Likewise.
30681         * modules/unictype/property-alphabetic: Likewise.
30682         * modules/unictype/property-ascii-hex-digit: Likewise.
30683         * modules/unictype/property-bidi-arabic-digit: Likewise.
30684         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
30685         * modules/unictype/property-bidi-block-separator: Likewise.
30686         * modules/unictype/property-bidi-boundary-neutral: Likewise.
30687         * modules/unictype/property-bidi-common-separator: Likewise.
30688         * modules/unictype/property-bidi-control: Likewise.
30689         * modules/unictype/property-bidi-embedding-or-override: Likewise.
30690         * modules/unictype/property-bidi-eur-num-separator: Likewise.
30691         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
30692         * modules/unictype/property-bidi-european-digit: Likewise.
30693         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
30694         * modules/unictype/property-bidi-left-to-right: Likewise.
30695         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
30696         * modules/unictype/property-bidi-other-neutral: Likewise.
30697         * modules/unictype/property-bidi-pdf: Likewise.
30698         * modules/unictype/property-bidi-segment-separator: Likewise.
30699         * modules/unictype/property-bidi-whitespace: Likewise.
30700         * modules/unictype/property-byname: Likewise.
30701         * modules/unictype/property-combining: Likewise.
30702         * modules/unictype/property-composite: Likewise.
30703         * modules/unictype/property-currency-symbol: Likewise.
30704         * modules/unictype/property-dash: Likewise.
30705         * modules/unictype/property-decimal-digit: Likewise.
30706         * modules/unictype/property-default-ignorable-code-point: Likewise.
30707         * modules/unictype/property-deprecated: Likewise.
30708         * modules/unictype/property-diacritic: Likewise.
30709         * modules/unictype/property-extender: Likewise.
30710         * modules/unictype/property-format-control: Likewise.
30711         * modules/unictype/property-grapheme-base: Likewise.
30712         * modules/unictype/property-grapheme-extend: Likewise.
30713         * modules/unictype/property-grapheme-link: Likewise.
30714         * modules/unictype/property-hex-digit: Likewise.
30715         * modules/unictype/property-hyphen: Likewise.
30716         * modules/unictype/property-id-continue: Likewise.
30717         * modules/unictype/property-id-start: Likewise.
30718         * modules/unictype/property-ideographic: Likewise.
30719         * modules/unictype/property-ids-binary-operator: Likewise.
30720         * modules/unictype/property-ids-trinary-operator: Likewise.
30721         * modules/unictype/property-ignorable-control: Likewise.
30722         * modules/unictype/property-iso-control: Likewise.
30723         * modules/unictype/property-join-control: Likewise.
30724         * modules/unictype/property-left-of-pair: Likewise.
30725         * modules/unictype/property-line-separator: Likewise.
30726         * modules/unictype/property-logical-order-exception: Likewise.
30727         * modules/unictype/property-lowercase: Likewise.
30728         * modules/unictype/property-math: Likewise.
30729         * modules/unictype/property-non-break: Likewise.
30730         * modules/unictype/property-not-a-character: Likewise.
30731         * modules/unictype/property-numeric: Likewise.
30732         * modules/unictype/property-other-alphabetic: Likewise.
30733         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
30734         * modules/unictype/property-other-grapheme-extend: Likewise.
30735         * modules/unictype/property-other-id-continue: Likewise.
30736         * modules/unictype/property-other-id-start: Likewise.
30737         * modules/unictype/property-other-lowercase: Likewise.
30738         * modules/unictype/property-other-math: Likewise.
30739         * modules/unictype/property-other-uppercase: Likewise.
30740         * modules/unictype/property-paired-punctuation: Likewise.
30741         * modules/unictype/property-paragraph-separator: Likewise.
30742         * modules/unictype/property-pattern-syntax: Likewise.
30743         * modules/unictype/property-pattern-white-space: Likewise.
30744         * modules/unictype/property-private-use: Likewise.
30745         * modules/unictype/property-punctuation: Likewise.
30746         * modules/unictype/property-quotation-mark: Likewise.
30747         * modules/unictype/property-radical: Likewise.
30748         * modules/unictype/property-sentence-terminal: Likewise.
30749         * modules/unictype/property-soft-dotted: Likewise.
30750         * modules/unictype/property-space: Likewise.
30751         * modules/unictype/property-terminal-punctuation: Likewise.
30752         * modules/unictype/property-test: Likewise.
30753         * modules/unictype/property-titlecase: Likewise.
30754         * modules/unictype/property-unassigned-code-value: Likewise.
30755         * modules/unictype/property-unified-ideograph: Likewise.
30756         * modules/unictype/property-uppercase: Likewise.
30757         * modules/unictype/property-variation-selector: Likewise.
30758         * modules/unictype/property-white-space: Likewise.
30759         * modules/unictype/property-xid-continue: Likewise.
30760         * modules/unictype/property-xid-start: Likewise.
30761         * modules/unictype/property-zero-width: Likewise.
30762         * modules/unictype/scripts: Likewise.
30763         * modules/unictype/syntax-c-ident: Likewise.
30764         * modules/unictype/syntax-c-whitespace: Likewise.
30765         * modules/unictype/syntax-java-ident: Likewise.
30766         * modules/unictype/syntax-java-whitespace: Likewise.
30767         * modules/unilbrk/u8-possible-linebreaks: Likewise.
30768         * modules/unilbrk/u8-width-linebreaks: Likewise.
30769         * modules/unilbrk/u16-possible-linebreaks: Likewise.
30770         * modules/unilbrk/u16-width-linebreaks: Likewise.
30771         * modules/unilbrk/u32-possible-linebreaks: Likewise.
30772         * modules/unilbrk/u32-width-linebreaks: Likewise.
30773         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
30774         * modules/unilbrk/ulc-width-linebreaks: Likewise.
30775         * modules/uniname/uniname: Likewise.
30776         * modules/uninorm/canonical-decomposition: Likewise.
30777         * modules/uninorm/composition: Likewise.
30778         * modules/uninorm/decomposing-form: Likewise.
30779         * modules/uninorm/decomposition: Likewise.
30780         * modules/uninorm/filter: Likewise.
30781         * modules/uninorm/nfc: Likewise.
30782         * modules/uninorm/nfd: Likewise.
30783         * modules/uninorm/nfkc: Likewise.
30784         * modules/uninorm/nfkd: Likewise.
30785         * modules/uninorm/u8-normalize: Likewise.
30786         * modules/uninorm/u8-normcmp: Likewise.
30787         * modules/uninorm/u8-normcoll: Likewise.
30788         * modules/uninorm/u8-normxfrm: Likewise.
30789         * modules/uninorm/u16-normalize: Likewise.
30790         * modules/uninorm/u16-normcmp: Likewise.
30791         * modules/uninorm/u16-normcoll: Likewise.
30792         * modules/uninorm/u16-normxfrm: Likewise.
30793         * modules/uninorm/u32-normalize: Likewise.
30794         * modules/uninorm/u32-normcmp: Likewise.
30795         * modules/uninorm/u32-normcoll: Likewise.
30796         * modules/uninorm/u32-normxfrm: Likewise.
30797         * modules/unistdio/u8-asnprintf: Likewise.
30798         * modules/unistdio/u8-asprintf: Likewise.
30799         * modules/unistdio/u8-snprintf: Likewise.
30800         * modules/unistdio/u8-sprintf: Likewise.
30801         * modules/unistdio/u8-u8-asnprintf: Likewise.
30802         * modules/unistdio/u8-u8-asprintf: Likewise.
30803         * modules/unistdio/u8-u8-snprintf: Likewise.
30804         * modules/unistdio/u8-u8-sprintf: Likewise.
30805         * modules/unistdio/u8-u8-vasnprintf: Likewise.
30806         * modules/unistdio/u8-u8-vasprintf: Likewise.
30807         * modules/unistdio/u8-u8-vsnprintf: Likewise.
30808         * modules/unistdio/u8-u8-vsprintf: Likewise.
30809         * modules/unistdio/u8-vasnprintf: Likewise.
30810         * modules/unistdio/u8-vasprintf: Likewise.
30811         * modules/unistdio/u8-vsnprintf: Likewise.
30812         * modules/unistdio/u8-vsprintf: Likewise.
30813         * modules/unistdio/u16-asnprintf: Likewise.
30814         * modules/unistdio/u16-asprintf: Likewise.
30815         * modules/unistdio/u16-snprintf: Likewise.
30816         * modules/unistdio/u16-sprintf: Likewise.
30817         * modules/unistdio/u16-u16-asnprintf: Likewise.
30818         * modules/unistdio/u16-u16-asprintf: Likewise.
30819         * modules/unistdio/u16-u16-snprintf: Likewise.
30820         * modules/unistdio/u16-u16-sprintf: Likewise.
30821         * modules/unistdio/u16-u16-vasnprintf: Likewise.
30822         * modules/unistdio/u16-u16-vasprintf: Likewise.
30823         * modules/unistdio/u16-u16-vsnprintf: Likewise.
30824         * modules/unistdio/u16-u16-vsprintf: Likewise.
30825         * modules/unistdio/u16-vasnprintf: Likewise.
30826         * modules/unistdio/u16-vasprintf: Likewise.
30827         * modules/unistdio/u16-vsnprintf: Likewise.
30828         * modules/unistdio/u16-vsprintf: Likewise.
30829         * modules/unistdio/u32-asnprintf: Likewise.
30830         * modules/unistdio/u32-asprintf: Likewise.
30831         * modules/unistdio/u32-snprintf: Likewise.
30832         * modules/unistdio/u32-sprintf: Likewise.
30833         * modules/unistdio/u32-u32-asnprintf: Likewise.
30834         * modules/unistdio/u32-u32-asprintf: Likewise.
30835         * modules/unistdio/u32-u32-snprintf: Likewise.
30836         * modules/unistdio/u32-u32-sprintf: Likewise.
30837         * modules/unistdio/u32-u32-vasnprintf: Likewise.
30838         * modules/unistdio/u32-u32-vasprintf: Likewise.
30839         * modules/unistdio/u32-u32-vsnprintf: Likewise.
30840         * modules/unistdio/u32-u32-vsprintf: Likewise.
30841         * modules/unistdio/u32-vasnprintf: Likewise.
30842         * modules/unistdio/u32-vasprintf: Likewise.
30843         * modules/unistdio/u32-vsnprintf: Likewise.
30844         * modules/unistdio/u32-vsprintf: Likewise.
30845         * modules/unistdio/ulc-asnprintf: Likewise.
30846         * modules/unistdio/ulc-asprintf: Likewise.
30847         * modules/unistdio/ulc-fprintf: Likewise.
30848         * modules/unistdio/ulc-snprintf: Likewise.
30849         * modules/unistdio/ulc-sprintf: Likewise.
30850         * modules/unistdio/ulc-vasnprintf: Likewise.
30851         * modules/unistdio/ulc-vasprintf: Likewise.
30852         * modules/unistdio/ulc-vfprintf: Likewise.
30853         * modules/unistdio/ulc-vsnprintf: Likewise.
30854         * modules/unistdio/ulc-vsprintf: Likewise.
30855         * modules/unistr/u8-check: Likewise.
30856         * modules/unistr/u8-chr: Likewise.
30857         * modules/unistr/u8-cmp: Likewise.
30858         * modules/unistr/u8-cmp2: Likewise.
30859         * modules/unistr/u8-cpy: Likewise.
30860         * modules/unistr/u8-cpy-alloc: Likewise.
30861         * modules/unistr/u8-endswith: Likewise.
30862         * modules/unistr/u8-mblen: Likewise.
30863         * modules/unistr/u8-mbsnlen: Likewise.
30864         * modules/unistr/u8-mbtouc: Likewise.
30865         * modules/unistr/u8-mbtouc-unsafe: Likewise.
30866         * modules/unistr/u8-mbtoucr: Likewise.
30867         * modules/unistr/u8-move: Likewise.
30868         * modules/unistr/u8-next: Likewise.
30869         * modules/unistr/u8-prev: Likewise.
30870         * modules/unistr/u8-set: Likewise.
30871         * modules/unistr/u8-startswith: Likewise.
30872         * modules/unistr/u8-stpcpy: Likewise.
30873         * modules/unistr/u8-stpncpy: Likewise.
30874         * modules/unistr/u8-strcat: Likewise.
30875         * modules/unistr/u8-strchr: Likewise.
30876         * modules/unistr/u8-strcmp: Likewise.
30877         * modules/unistr/u8-strcoll: Likewise.
30878         * modules/unistr/u8-strcpy: Likewise.
30879         * modules/unistr/u8-strcspn: Likewise.
30880         * modules/unistr/u8-strdup: Likewise.
30881         * modules/unistr/u8-strlen: Likewise.
30882         * modules/unistr/u8-strmblen: Likewise.
30883         * modules/unistr/u8-strmbtouc: Likewise.
30884         * modules/unistr/u8-strncat: Likewise.
30885         * modules/unistr/u8-strncmp: Likewise.
30886         * modules/unistr/u8-strncpy: Likewise.
30887         * modules/unistr/u8-strnlen: Likewise.
30888         * modules/unistr/u8-strpbrk: Likewise.
30889         * modules/unistr/u8-strrchr: Likewise.
30890         * modules/unistr/u8-strspn: Likewise.
30891         * modules/unistr/u8-strstr: Likewise.
30892         * modules/unistr/u8-strtok: Likewise.
30893         * modules/unistr/u8-to-u16: Likewise.
30894         * modules/unistr/u8-to-u32: Likewise.
30895         * modules/unistr/u8-uctomb: Likewise.
30896         * modules/unistr/u16-check: Likewise.
30897         * modules/unistr/u16-chr: Likewise.
30898         * modules/unistr/u16-cmp: Likewise.
30899         * modules/unistr/u16-cmp2: Likewise.
30900         * modules/unistr/u16-cpy: Likewise.
30901         * modules/unistr/u16-cpy-alloc: Likewise.
30902         * modules/unistr/u16-endswith: Likewise.
30903         * modules/unistr/u16-mblen: Likewise.
30904         * modules/unistr/u16-mbsnlen: Likewise.
30905         * modules/unistr/u16-mbtouc: Likewise.
30906         * modules/unistr/u16-mbtouc-unsafe: Likewise.
30907         * modules/unistr/u16-mbtoucr: Likewise.
30908         * modules/unistr/u16-move: Likewise.
30909         * modules/unistr/u16-next: Likewise.
30910         * modules/unistr/u16-prev: Likewise.
30911         * modules/unistr/u16-set: Likewise.
30912         * modules/unistr/u16-startswith: Likewise.
30913         * modules/unistr/u16-stpcpy: Likewise.
30914         * modules/unistr/u16-stpncpy: Likewise.
30915         * modules/unistr/u16-strcat: Likewise.
30916         * modules/unistr/u16-strchr: Likewise.
30917         * modules/unistr/u16-strcmp: Likewise.
30918         * modules/unistr/u16-strcoll: Likewise.
30919         * modules/unistr/u16-strcpy: Likewise.
30920         * modules/unistr/u16-strcspn: Likewise.
30921         * modules/unistr/u16-strdup: Likewise.
30922         * modules/unistr/u16-strlen: Likewise.
30923         * modules/unistr/u16-strmblen: Likewise.
30924         * modules/unistr/u16-strmbtouc: Likewise.
30925         * modules/unistr/u16-strncat: Likewise.
30926         * modules/unistr/u16-strncmp: Likewise.
30927         * modules/unistr/u16-strncpy: Likewise.
30928         * modules/unistr/u16-strnlen: Likewise.
30929         * modules/unistr/u16-strpbrk: Likewise.
30930         * modules/unistr/u16-strrchr: Likewise.
30931         * modules/unistr/u16-strspn: Likewise.
30932         * modules/unistr/u16-strstr: Likewise.
30933         * modules/unistr/u16-strtok: Likewise.
30934         * modules/unistr/u16-to-u32: Likewise.
30935         * modules/unistr/u16-to-u8: Likewise.
30936         * modules/unistr/u16-uctomb: Likewise.
30937         * modules/unistr/u32-check: Likewise.
30938         * modules/unistr/u32-chr: Likewise.
30939         * modules/unistr/u32-cmp: Likewise.
30940         * modules/unistr/u32-cmp2: Likewise.
30941         * modules/unistr/u32-cpy: Likewise.
30942         * modules/unistr/u32-cpy-alloc: Likewise.
30943         * modules/unistr/u32-endswith: Likewise.
30944         * modules/unistr/u32-mblen: Likewise.
30945         * modules/unistr/u32-mbsnlen: Likewise.
30946         * modules/unistr/u32-mbtouc: Likewise.
30947         * modules/unistr/u32-mbtouc-unsafe: Likewise.
30948         * modules/unistr/u32-mbtoucr: Likewise.
30949         * modules/unistr/u32-move: Likewise.
30950         * modules/unistr/u32-next: Likewise.
30951         * modules/unistr/u32-prev: Likewise.
30952         * modules/unistr/u32-set: Likewise.
30953         * modules/unistr/u32-startswith: Likewise.
30954         * modules/unistr/u32-stpcpy: Likewise.
30955         * modules/unistr/u32-stpncpy: Likewise.
30956         * modules/unistr/u32-strcat: Likewise.
30957         * modules/unistr/u32-strchr: Likewise.
30958         * modules/unistr/u32-strcmp: Likewise.
30959         * modules/unistr/u32-strcoll: Likewise.
30960         * modules/unistr/u32-strcpy: Likewise.
30961         * modules/unistr/u32-strcspn: Likewise.
30962         * modules/unistr/u32-strdup: Likewise.
30963         * modules/unistr/u32-strlen: Likewise.
30964         * modules/unistr/u32-strmblen: Likewise.
30965         * modules/unistr/u32-strmbtouc: Likewise.
30966         * modules/unistr/u32-strncat: Likewise.
30967         * modules/unistr/u32-strncmp: Likewise.
30968         * modules/unistr/u32-strncpy: Likewise.
30969         * modules/unistr/u32-strnlen: Likewise.
30970         * modules/unistr/u32-strpbrk: Likewise.
30971         * modules/unistr/u32-strrchr: Likewise.
30972         * modules/unistr/u32-strspn: Likewise.
30973         * modules/unistr/u32-strstr: Likewise.
30974         * modules/unistr/u32-strtok: Likewise.
30975         * modules/unistr/u32-to-u16: Likewise.
30976         * modules/unistr/u32-to-u8: Likewise.
30977         * modules/unistr/u32-uctomb: Likewise.
30978         * modules/uniwbrk/u8-wordbreaks: Likewise.
30979         * modules/uniwbrk/u16-wordbreaks: Likewise.
30980         * modules/uniwbrk/u32-wordbreaks: Likewise.
30981         * modules/uniwbrk/ulc-wordbreaks: Likewise.
30982         * modules/uniwbrk/wordbreak-property: Likewise.
30983         * modules/uniwidth/u8-strwidth: Likewise.
30984         * modules/uniwidth/u8-width: Likewise.
30985         * modules/uniwidth/u16-strwidth: Likewise.
30986         * modules/uniwidth/u16-width: Likewise.
30987         * modules/uniwidth/u32-strwidth: Likewise.
30988         * modules/uniwidth/u32-width: Likewise.
30989         * modules/uniwidth/width: Likewise.
30990         * modules/unicase/cased-tests (Makefile.am): Link all test programs
30991         with $(LIBUNISTRING).
30992         * modules/unicase/ignorable-tests: Likewise.
30993         * modules/unicase/locale-language-tests: Likewise.
30994         * modules/unicase/tolower-tests: Likewise.
30995         * modules/unicase/totitle-tests: Likewise.
30996         * modules/unicase/toupper-tests: Likewise.
30997         * modules/unicase/u8-casecmp-tests: Likewise.
30998         * modules/unicase/u8-casecoll-tests: Likewise.
30999         * modules/unicase/u8-casefold-tests: Likewise.
31000         * modules/unicase/u8-is-cased-tests: Likewise.
31001         * modules/unicase/u8-is-casefolded-tests: Likewise.
31002         * modules/unicase/u8-is-lowercase-tests: Likewise.
31003         * modules/unicase/u8-is-titlecase-tests: Likewise.
31004         * modules/unicase/u8-is-uppercase-tests: Likewise.
31005         * modules/unicase/u8-tolower-tests: Likewise.
31006         * modules/unicase/u8-totitle-tests: Likewise.
31007         * modules/unicase/u8-toupper-tests: Likewise.
31008         * modules/unicase/u16-casecmp-tests: Likewise.
31009         * modules/unicase/u16-casecoll-tests: Likewise.
31010         * modules/unicase/u16-casefold-tests: Likewise.
31011         * modules/unicase/u16-is-cased-tests: Likewise.
31012         * modules/unicase/u16-is-casefolded-tests: Likewise.
31013         * modules/unicase/u16-is-lowercase-tests: Likewise.
31014         * modules/unicase/u16-is-titlecase-tests: Likewise.
31015         * modules/unicase/u16-is-uppercase-tests: Likewise.
31016         * modules/unicase/u16-tolower-tests: Likewise.
31017         * modules/unicase/u16-totitle-tests: Likewise.
31018         * modules/unicase/u16-toupper-tests: Likewise.
31019         * modules/unicase/u32-casecmp-tests: Likewise.
31020         * modules/unicase/u32-casecoll-tests: Likewise.
31021         * modules/unicase/u32-casefold-tests: Likewise.
31022         * modules/unicase/u32-is-cased-tests: Likewise.
31023         * modules/unicase/u32-is-casefolded-tests: Likewise.
31024         * modules/unicase/u32-is-lowercase-tests: Likewise.
31025         * modules/unicase/u32-is-titlecase-tests: Likewise.
31026         * modules/unicase/u32-is-uppercase-tests: Likewise.
31027         * modules/unicase/u32-tolower-tests: Likewise.
31028         * modules/unicase/u32-totitle-tests: Likewise.
31029         * modules/unicase/u32-toupper-tests: Likewise.
31030         * modules/unicase/ulc-casecmp-tests: Likewise.
31031         * modules/unicase/ulc-casecoll-tests: Likewise.
31032         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
31033         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
31034         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
31035         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
31036         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
31037         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
31038         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
31039         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
31040         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
31041         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
31042         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
31043         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
31044         * modules/unictype/bidicategory-byname-tests: Likewise.
31045         * modules/unictype/bidicategory-name-tests: Likewise.
31046         * modules/unictype/bidicategory-of-tests: Likewise.
31047         * modules/unictype/bidicategory-test-tests: Likewise.
31048         * modules/unictype/block-list-tests: Likewise.
31049         * modules/unictype/block-of-tests: Likewise.
31050         * modules/unictype/block-test-tests: Likewise.
31051         * modules/unictype/category-C-tests: Likewise.
31052         * modules/unictype/category-Cc-tests: Likewise.
31053         * modules/unictype/category-Cf-tests: Likewise.
31054         * modules/unictype/category-Cn-tests: Likewise.
31055         * modules/unictype/category-Co-tests: Likewise.
31056         * modules/unictype/category-Cs-tests: Likewise.
31057         * modules/unictype/category-L-tests: Likewise.
31058         * modules/unictype/category-Ll-tests: Likewise.
31059         * modules/unictype/category-Lm-tests: Likewise.
31060         * modules/unictype/category-Lo-tests: Likewise.
31061         * modules/unictype/category-Lt-tests: Likewise.
31062         * modules/unictype/category-Lu-tests: Likewise.
31063         * modules/unictype/category-M-tests: Likewise.
31064         * modules/unictype/category-Mc-tests: Likewise.
31065         * modules/unictype/category-Me-tests: Likewise.
31066         * modules/unictype/category-Mn-tests: Likewise.
31067         * modules/unictype/category-N-tests: Likewise.
31068         * modules/unictype/category-Nd-tests: Likewise.
31069         * modules/unictype/category-Nl-tests: Likewise.
31070         * modules/unictype/category-No-tests: Likewise.
31071         * modules/unictype/category-P-tests: Likewise.
31072         * modules/unictype/category-Pc-tests: Likewise.
31073         * modules/unictype/category-Pd-tests: Likewise.
31074         * modules/unictype/category-Pe-tests: Likewise.
31075         * modules/unictype/category-Pf-tests: Likewise.
31076         * modules/unictype/category-Pi-tests: Likewise.
31077         * modules/unictype/category-Po-tests: Likewise.
31078         * modules/unictype/category-Ps-tests: Likewise.
31079         * modules/unictype/category-S-tests: Likewise.
31080         * modules/unictype/category-Sc-tests: Likewise.
31081         * modules/unictype/category-Sk-tests: Likewise.
31082         * modules/unictype/category-Sm-tests: Likewise.
31083         * modules/unictype/category-So-tests: Likewise.
31084         * modules/unictype/category-Z-tests: Likewise.
31085         * modules/unictype/category-Zl-tests: Likewise.
31086         * modules/unictype/category-Zp-tests: Likewise.
31087         * modules/unictype/category-Zs-tests: Likewise.
31088         * modules/unictype/category-and-not-tests: Likewise.
31089         * modules/unictype/category-and-tests: Likewise.
31090         * modules/unictype/category-byname-tests: Likewise.
31091         * modules/unictype/category-name-tests: Likewise.
31092         * modules/unictype/category-none-tests: Likewise.
31093         * modules/unictype/category-of-tests: Likewise.
31094         * modules/unictype/category-or-tests: Likewise.
31095         * modules/unictype/category-test-withtable-tests: Likewise.
31096         * modules/unictype/combining-class-tests: Likewise.
31097         * modules/unictype/ctype-alnum-tests: Likewise.
31098         * modules/unictype/ctype-alpha-tests: Likewise.
31099         * modules/unictype/ctype-blank-tests: Likewise.
31100         * modules/unictype/ctype-cntrl-tests: Likewise.
31101         * modules/unictype/ctype-digit-tests: Likewise.
31102         * modules/unictype/ctype-graph-tests: Likewise.
31103         * modules/unictype/ctype-lower-tests: Likewise.
31104         * modules/unictype/ctype-print-tests: Likewise.
31105         * modules/unictype/ctype-punct-tests: Likewise.
31106         * modules/unictype/ctype-space-tests: Likewise.
31107         * modules/unictype/ctype-upper-tests: Likewise.
31108         * modules/unictype/ctype-xdigit-tests: Likewise.
31109         * modules/unictype/decimal-digit-tests: Likewise.
31110         * modules/unictype/digit-tests: Likewise.
31111         * modules/unictype/mirror-tests: Likewise.
31112         * modules/unictype/numeric-tests: Likewise.
31113         * modules/unictype/property-alphabetic-tests: Likewise.
31114         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
31115         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
31116         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
31117         * modules/unictype/property-bidi-block-separator-tests: Likewise.
31118         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
31119         * modules/unictype/property-bidi-common-separator-tests: Likewise.
31120         * modules/unictype/property-bidi-control-tests: Likewise.
31121         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
31122         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
31123         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
31124         * modules/unictype/property-bidi-european-digit-tests: Likewise.
31125         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
31126         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
31127         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
31128         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
31129         * modules/unictype/property-bidi-pdf-tests: Likewise.
31130         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
31131         * modules/unictype/property-bidi-whitespace-tests: Likewise.
31132         * modules/unictype/property-byname-tests: Likewise.
31133         * modules/unictype/property-combining-tests: Likewise.
31134         * modules/unictype/property-composite-tests: Likewise.
31135         * modules/unictype/property-currency-symbol-tests: Likewise.
31136         * modules/unictype/property-dash-tests: Likewise.
31137         * modules/unictype/property-decimal-digit-tests: Likewise.
31138         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
31139         * modules/unictype/property-deprecated-tests: Likewise.
31140         * modules/unictype/property-diacritic-tests: Likewise.
31141         * modules/unictype/property-extender-tests: Likewise.
31142         * modules/unictype/property-format-control-tests: Likewise.
31143         * modules/unictype/property-grapheme-base-tests: Likewise.
31144         * modules/unictype/property-grapheme-extend-tests: Likewise.
31145         * modules/unictype/property-grapheme-link-tests: Likewise.
31146         * modules/unictype/property-hex-digit-tests: Likewise.
31147         * modules/unictype/property-hyphen-tests: Likewise.
31148         * modules/unictype/property-id-continue-tests: Likewise.
31149         * modules/unictype/property-id-start-tests: Likewise.
31150         * modules/unictype/property-ideographic-tests: Likewise.
31151         * modules/unictype/property-ids-binary-operator-tests: Likewise.
31152         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
31153         * modules/unictype/property-ignorable-control-tests: Likewise.
31154         * modules/unictype/property-iso-control-tests: Likewise.
31155         * modules/unictype/property-join-control-tests: Likewise.
31156         * modules/unictype/property-left-of-pair-tests: Likewise.
31157         * modules/unictype/property-line-separator-tests: Likewise.
31158         * modules/unictype/property-logical-order-exception-tests: Likewise.
31159         * modules/unictype/property-lowercase-tests: Likewise.
31160         * modules/unictype/property-math-tests: Likewise.
31161         * modules/unictype/property-non-break-tests: Likewise.
31162         * modules/unictype/property-not-a-character-tests: Likewise.
31163         * modules/unictype/property-numeric-tests: Likewise.
31164         * modules/unictype/property-other-alphabetic-tests: Likewise.
31165         * modules/unictype/property-other-default-ignorable-code-point-tests:
31166         Likewise.
31167         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
31168         * modules/unictype/property-other-id-continue-tests: Likewise.
31169         * modules/unictype/property-other-id-start-tests: Likewise.
31170         * modules/unictype/property-other-lowercase-tests: Likewise.
31171         * modules/unictype/property-other-math-tests: Likewise.
31172         * modules/unictype/property-other-uppercase-tests: Likewise.
31173         * modules/unictype/property-paired-punctuation-tests: Likewise.
31174         * modules/unictype/property-paragraph-separator-tests: Likewise.
31175         * modules/unictype/property-pattern-syntax-tests: Likewise.
31176         * modules/unictype/property-pattern-white-space-tests: Likewise.
31177         * modules/unictype/property-private-use-tests: Likewise.
31178         * modules/unictype/property-punctuation-tests: Likewise.
31179         * modules/unictype/property-quotation-mark-tests: Likewise.
31180         * modules/unictype/property-radical-tests: Likewise.
31181         * modules/unictype/property-sentence-terminal-tests: Likewise.
31182         * modules/unictype/property-soft-dotted-tests: Likewise.
31183         * modules/unictype/property-space-tests: Likewise.
31184         * modules/unictype/property-terminal-punctuation-tests: Likewise.
31185         * modules/unictype/property-test-tests: Likewise.
31186         * modules/unictype/property-titlecase-tests: Likewise.
31187         * modules/unictype/property-unassigned-code-value-tests: Likewise.
31188         * modules/unictype/property-unified-ideograph-tests: Likewise.
31189         * modules/unictype/property-uppercase-tests: Likewise.
31190         * modules/unictype/property-variation-selector-tests: Likewise.
31191         * modules/unictype/property-white-space-tests: Likewise.
31192         * modules/unictype/property-xid-continue-tests: Likewise.
31193         * modules/unictype/property-xid-start-tests: Likewise.
31194         * modules/unictype/property-zero-width-tests: Likewise.
31195         * modules/unictype/scripts-tests: Likewise.
31196         * modules/unictype/syntax-c-ident-tests: Likewise.
31197         * modules/unictype/syntax-c-whitespace-tests: Likewise.
31198         * modules/unictype/syntax-java-ident-tests: Likewise.
31199         * modules/unictype/syntax-java-whitespace-tests: Likewise.
31200         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
31201         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
31202         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
31203         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
31204         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
31205         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
31206         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
31207         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
31208         * modules/uniname/uniname-tests: Likewise.
31209         * modules/uninorm/canonical-decomposition-tests: Likewise.
31210         * modules/uninorm/compat-decomposition-tests: Likewise.
31211         * modules/uninorm/composition-tests: Likewise.
31212         * modules/uninorm/decomposing-form-tests: Likewise.
31213         * modules/uninorm/decomposition-tests: Likewise.
31214         * modules/uninorm/filter-tests: Likewise.
31215         * modules/uninorm/nfc-tests: Likewise.
31216         * modules/uninorm/nfd-tests: Likewise.
31217         * modules/uninorm/nfkc-tests: Likewise.
31218         * modules/uninorm/nfkd-tests: Likewise.
31219         * modules/uninorm/u8-normcmp-tests: Likewise.
31220         * modules/uninorm/u8-normcoll-tests: Likewise.
31221         * modules/uninorm/u16-normcmp-tests: Likewise.
31222         * modules/uninorm/u16-normcoll-tests: Likewise.
31223         * modules/uninorm/u32-normcmp-tests: Likewise.
31224         * modules/uninorm/u32-normcoll-tests: Likewise.
31225         * modules/unistdio/u8-asnprintf-tests: Likewise.
31226         * modules/unistdio/u8-vasnprintf-tests: Likewise.
31227         * modules/unistdio/u8-vasprintf-tests: Likewise.
31228         * modules/unistdio/u8-vsnprintf-tests: Likewise.
31229         * modules/unistdio/u8-vsprintf-tests: Likewise.
31230         * modules/unistdio/u16-asnprintf-tests: Likewise.
31231         * modules/unistdio/u16-vasnprintf-tests: Likewise.
31232         * modules/unistdio/u16-vasprintf-tests: Likewise.
31233         * modules/unistdio/u16-vsnprintf-tests: Likewise.
31234         * modules/unistdio/u16-vsprintf-tests: Likewise.
31235         * modules/unistdio/u32-asnprintf-tests: Likewise.
31236         * modules/unistdio/u32-vasnprintf-tests: Likewise.
31237         * modules/unistdio/u32-vasprintf-tests: Likewise.
31238         * modules/unistdio/u32-vsnprintf-tests: Likewise.
31239         * modules/unistdio/u32-vsprintf-tests: Likewise.
31240         * modules/unistdio/ulc-asnprintf-tests: Likewise.
31241         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
31242         * modules/unistdio/ulc-vasprintf-tests: Likewise.
31243         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
31244         * modules/unistdio/ulc-vsprintf-tests: Likewise.
31245         * modules/unistr/u8-check-tests: Likewise.
31246         * modules/unistr/u8-chr-tests: Likewise.
31247         * modules/unistr/u8-cmp-tests: Likewise.
31248         * modules/unistr/u8-cmp2-tests: Likewise.
31249         * modules/unistr/u8-cpy-alloc-tests: Likewise.
31250         * modules/unistr/u8-cpy-tests: Likewise.
31251         * modules/unistr/u8-mblen-tests: Likewise.
31252         * modules/unistr/u8-mbsnlen-tests: Likewise.
31253         * modules/unistr/u8-mbtouc-tests: Likewise.
31254         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
31255         * modules/unistr/u8-mbtoucr-tests: Likewise.
31256         * modules/unistr/u8-move-tests: Likewise.
31257         * modules/unistr/u8-next-tests: Likewise.
31258         * modules/unistr/u8-prev-tests: Likewise.
31259         * modules/unistr/u8-set-tests: Likewise.
31260         * modules/unistr/u8-stpcpy-tests: Likewise.
31261         * modules/unistr/u8-stpncpy-tests: Likewise.
31262         * modules/unistr/u8-strcat-tests: Likewise.
31263         * modules/unistr/u8-strcmp-tests: Likewise.
31264         * modules/unistr/u8-strcoll-tests: Likewise.
31265         * modules/unistr/u8-strcpy-tests: Likewise.
31266         * modules/unistr/u8-strdup-tests: Likewise.
31267         * modules/unistr/u8-strlen-tests: Likewise.
31268         * modules/unistr/u8-strmblen-tests: Likewise.
31269         * modules/unistr/u8-strmbtouc-tests: Likewise.
31270         * modules/unistr/u8-strncat-tests: Likewise.
31271         * modules/unistr/u8-strncmp-tests: Likewise.
31272         * modules/unistr/u8-strncpy-tests: Likewise.
31273         * modules/unistr/u8-strnlen-tests: Likewise.
31274         * modules/unistr/u8-to-u16-tests: Likewise.
31275         * modules/unistr/u8-to-u32-tests: Likewise.
31276         * modules/unistr/u8-uctomb-tests: Likewise.
31277         * modules/unistr/u16-check-tests: Likewise.
31278         * modules/unistr/u16-chr-tests: Likewise.
31279         * modules/unistr/u16-cmp-tests: Likewise.
31280         * modules/unistr/u16-cmp2-tests: Likewise.
31281         * modules/unistr/u16-cpy-alloc-tests: Likewise.
31282         * modules/unistr/u16-cpy-tests: Likewise.
31283         * modules/unistr/u16-mblen-tests: Likewise.
31284         * modules/unistr/u16-mbsnlen-tests: Likewise.
31285         * modules/unistr/u16-mbtouc-tests: Likewise.
31286         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
31287         * modules/unistr/u16-mbtoucr-tests: Likewise.
31288         * modules/unistr/u16-move-tests: Likewise.
31289         * modules/unistr/u16-next-tests: Likewise.
31290         * modules/unistr/u16-prev-tests: Likewise.
31291         * modules/unistr/u16-set-tests: Likewise.
31292         * modules/unistr/u16-stpcpy-tests: Likewise.
31293         * modules/unistr/u16-stpncpy-tests: Likewise.
31294         * modules/unistr/u16-strcat-tests: Likewise.
31295         * modules/unistr/u16-strcmp-tests: Likewise.
31296         * modules/unistr/u16-strcoll-tests: Likewise.
31297         * modules/unistr/u16-strcpy-tests: Likewise.
31298         * modules/unistr/u16-strdup-tests: Likewise.
31299         * modules/unistr/u16-strlen-tests: Likewise.
31300         * modules/unistr/u16-strmblen-tests: Likewise.
31301         * modules/unistr/u16-strmbtouc-tests: Likewise.
31302         * modules/unistr/u16-strncat-tests: Likewise.
31303         * modules/unistr/u16-strncmp-tests: Likewise.
31304         * modules/unistr/u16-strncpy-tests: Likewise.
31305         * modules/unistr/u16-strnlen-tests: Likewise.
31306         * modules/unistr/u16-to-u32-tests: Likewise.
31307         * modules/unistr/u16-to-u8-tests: Likewise.
31308         * modules/unistr/u16-uctomb-tests: Likewise.
31309         * modules/unistr/u32-check-tests: Likewise.
31310         * modules/unistr/u32-chr-tests: Likewise.
31311         * modules/unistr/u32-cmp-tests: Likewise.
31312         * modules/unistr/u32-cmp2-tests: Likewise.
31313         * modules/unistr/u32-cpy-alloc-tests: Likewise.
31314         * modules/unistr/u32-cpy-tests: Likewise.
31315         * modules/unistr/u32-mblen-tests: Likewise.
31316         * modules/unistr/u32-mbsnlen-tests: Likewise.
31317         * modules/unistr/u32-mbtouc-tests: Likewise.
31318         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
31319         * modules/unistr/u32-mbtoucr-tests: Likewise.
31320         * modules/unistr/u32-move-tests: Likewise.
31321         * modules/unistr/u32-next-tests: Likewise.
31322         * modules/unistr/u32-prev-tests: Likewise.
31323         * modules/unistr/u32-set-tests: Likewise.
31324         * modules/unistr/u32-stpcpy-tests: Likewise.
31325         * modules/unistr/u32-stpncpy-tests: Likewise.
31326         * modules/unistr/u32-strcat-tests: Likewise.
31327         * modules/unistr/u32-strcmp-tests: Likewise.
31328         * modules/unistr/u32-strcoll-tests: Likewise.
31329         * modules/unistr/u32-strcpy-tests: Likewise.
31330         * modules/unistr/u32-strdup-tests: Likewise.
31331         * modules/unistr/u32-strlen-tests: Likewise.
31332         * modules/unistr/u32-strmblen-tests: Likewise.
31333         * modules/unistr/u32-strmbtouc-tests: Likewise.
31334         * modules/unistr/u32-strncat-tests: Likewise.
31335         * modules/unistr/u32-strncmp-tests: Likewise.
31336         * modules/unistr/u32-strncpy-tests: Likewise.
31337         * modules/unistr/u32-strnlen-tests: Likewise.
31338         * modules/unistr/u32-to-u16-tests: Likewise.
31339         * modules/unistr/u32-to-u8-tests: Likewise.
31340         * modules/unistr/u32-uctomb-tests: Likewise.
31341         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
31342         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
31343         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
31344         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
31345         * modules/uniwidth/u8-strwidth-tests: Likewise.
31346         * modules/uniwidth/u8-width-tests: Likewise.
31347         * modules/uniwidth/u16-strwidth-tests: Likewise.
31348         * modules/uniwidth/u16-width-tests: Likewise.
31349         * modules/uniwidth/u32-strwidth-tests: Likewise.
31350         * modules/uniwidth/u32-width-tests: Likewise.
31351         * modules/uniwidth/width-tests: Likewise.
31352
31353 2010-05-18  Richard Jones  <rjones@redhat.com>
31354
31355         doc: users.txt: list hivex
31356         * users.txt: Add hivex.
31357
31358 2010-05-18  Richard Jones  <rjones@redhat.com>
31359
31360         doc: users.txt: list febootstrap
31361         * users.txt: Add febootstrap.
31362
31363 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
31364
31365         bootstrap: fix an error when gnulib is not used as a git submodule
31366         * build-aux/bootstrap (gnulib_path): If its length is zero then
31367         assign "gnulib" to it.
31368         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
31369
31370 2010-05-16  Bruno Haible  <bruno@clisp.org>
31371
31372         Avoid autoconf warnings about AM_ICONV.
31373         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
31374         2.64.
31375
31376 2010-05-16  Bruno Haible  <bruno@clisp.org>
31377
31378         absolute-header: Make the macro usable in more situations.
31379         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
31380         from gl_ABSOLUTE_HEADER.
31381         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
31382
31383 2010-05-16  James Youngman  <jay@gnu.org>
31384
31385         doc: update users.txt
31386         * users.txt: Add CSSC.
31387
31388 2010-05-16  Jim Meyering  <meyering@redhat.com>
31389
31390         init.sh: fix an error in the previous change; add more comments
31391         * tests/init.sh: Compare exit code in loop against 9, not 2.
31392         Patch by Bruno Haible.
31393         Make the two tests more similar by adding an empty "then" clause.
31394         Add comments.
31395
31396         init.sh: avoid unnecessary shell re-exec
31397         * tests/init.sh: Improve the re-exec-required check to first test the
31398         current shell.  If it passes the test, do not search for a shell that
31399         does pass, and do not re-exec.  This test is particularly contorted to
31400         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
31401         of $(...) evokes a syntax error and causes immediate shell exit with
31402         status 2.  Bruno Haible reported that the re-exec made it impossible
31403         to single-step through any init.sh-using script.
31404
31405 2010-05-16  Bruno Haible  <bruno@clisp.org>
31406
31407         Fix collision between gnulib's and libintl's printf replacements.
31408         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
31409         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
31410         (printf): When using GNU C, map the __printf__ function to rpl_printf
31411         via __asm__. When not using GNU C, define rpl_printf instead of
31412         __printf__.
31413         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
31414         commit.
31415         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
31416         commit.
31417         * m4/asm-underscore.m4: New file.
31418         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
31419         * modules/stdio (Files): Add m4/asm-underscore.m4.
31420         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
31421         Reported by Ben Pfaff.
31422
31423 2010-05-16  Bruno Haible  <bruno@clisp.org>
31424
31425         verify: Avoid skipping the test on openSUSE 11.0.
31426         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
31427
31428 2010-05-13  Bruno Haible  <bruno@clisp.org>
31429
31430         Avoid useless warnings from G++.
31431         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
31432         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
31433         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31434
31435 2010-05-11  Jim Meyering  <meyering@redhat.com>
31436
31437         maint.mk: tweak preceding change
31438         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
31439         regexps tighter by anchoring at EOL, and make the new group "shy"
31440         for slightly decreased overhead.
31441
31442 2010-05-11  Eric Blake  <eblake@redhat.com>
31443
31444         maint.mk: gnulib doesn't guarantee NSIG
31445         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
31446
31447 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
31448
31449         test-pwrite.c: Remove unused variable declaration.
31450         * tests/test-pwrite.c (main): Remove read_buf declaration.
31451
31452         Remove useless test-pwrite.sh file.
31453         * tests/test-pwrite.sh: Delete file.
31454         * modules/pwrite-tests: Remove references.
31455         Reported by Bruno Haible.
31456
31457 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
31458
31459         init.sh: fix a typo
31460         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
31461
31462 2010-05-10  Jim Meyering  <meyering@redhat.com>
31463
31464         maint.mk: avoid using a temporary file in the always-defined-macros check
31465         * top/maint.mk (.re-defmac): Remove rule.
31466         (gl_trap_): Remove definition.
31467         (sc_prohibit_always-defined_macros): Rewrite not to create and
31468         depend on a temporary file.  Instead, depend on GNU grep's ability
31469         to read a list of regular expressions from stdin when given "-f -".
31470
31471 2010-05-09  Bruno Haible  <bruno@clisp.org>
31472
31473         Update to GNU gettext 0.18, part 1.
31474         * m4/gettext.m4: Update to GNU gettext 0.18.
31475         * m4/intl.m4: Likewise.
31476         * m4/po.m4: Likewise.
31477         * modules/gettext (Files): Add m4/fcntl-o.m4.
31478         (configure.ac): Require gettext infrastructure from version 0.18.
31479
31480 2010-05-09  Jim Meyering  <meyering@redhat.com>
31481
31482         init.sh: enable MALLOC_PERTURB_
31483         * tests/init.sh: Enable glibc's malloc-perturbing option.
31484
31485         maint.mk: improve sc_cross_check_PATH_usage_in_tests
31486         With my recent change in init.sh from the two-line form:
31487             -#   : ${srcdir=.}
31488             -#   . "$srcdir/init.sh"; path_prepend_ .
31489             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
31490         I noticed that using the one-line form would cause this test
31491         to fail with a false-positive, or to stop working altogether,
31492         depending on whether help-version changed or all the tests did.
31493         * top/maint.mk (_hv_regex): Remove this definition.
31494         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
31495         (_hv_regex_strong): Use a stronger regex to check for conformance.
31496         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
31497         Give a separate diagnostic for lack of conforming use.
31498
31499         maint.mk: prohibit definition of symbols defined by gnulib
31500         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
31501         definition of symbols defined by gnulib.
31502
31503 2010-05-09  Bruno Haible  <bruno@clisp.org>
31504
31505         acl: Avoid test failure on Cygwin-hosted mingw.
31506         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
31507
31508 2010-05-09  Bruno Haible  <bruno@clisp.org>
31509
31510         error: Use system's fcntl function.
31511         * lib/error.c (fcntl): Undefine.
31512
31513 2010-05-09  Jim Meyering  <meyering@redhat.com>
31514
31515         verify: adjust formatting to be more consistent
31516         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
31517         argument-list '('s, and after one comma.
31518
31519 2010-05-09  Bruno Haible  <bruno@clisp.org>
31520
31521         error: More reliable output on mingw.
31522         * lib/error.c: Include <windows.h>.
31523         (is_open): New function.
31524         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
31525         defined.
31526
31527 2010-05-09  Bruno Haible  <bruno@clisp.org>
31528
31529         vasnprintf: Fix syntax errors in libintl build on mingw.
31530         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
31531         pad_ourselves and prec_ourselves after use.
31532
31533 2010-05-08  Bruno Haible  <bruno@clisp.org>
31534
31535         * lib/config.charset: Update comments for Cygwin 1.7.
31536         * lib/localcharset.c: Likewise.
31537
31538 2010-05-07  Jim Meyering  <meyering@redhat.com>
31539
31540         init.sh: improve comments
31541         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
31542         . "${srcdir=.}/init.sh"; path_prepend_ .
31543         Add a note about path_prepend_ and the alternative of using
31544         TESTS_ENVIRONMENT.
31545
31546 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
31547
31548         exclude: Unescape hashed patterns in wildcard mode.
31549         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
31550         to the hash list.
31551         * tests/test-exclude8.sh: New test case.
31552         * modules/exclude-tests: Add new test.
31553
31554 2010-05-05  Eric Blake  <eblake@redhat.com>
31555
31556         verify: automate tests
31557         * modules/verify-tests: New module.
31558         * tests/test-verify.sh: New file.
31559         * tests/test-verify.c: Guard each negative test with a unique id.
31560         Also avoid warning about unused left hand of comma expressions.
31561
31562 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
31563
31564         Further improvements to verify.h, suggested by Eric Blake.
31565         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
31566         the GL_* versions, to avoid collision with OpenGL.
31567         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
31568         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
31569         than testing merely whether it's defined.
31570
31571         Modify verify.h to pacify gcc -Wredundant_decls.
31572         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
31573         These use the prefix "GL_" since they're likely to be useful elsewhere.
31574         We may need to break them out into a different .h file.
31575         (__COUNTER__): Define to 0 if the compiler doesn't support it.
31576         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
31577         of verify_function__.
31578
31579 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
31580
31581         Tests for module pwrite.
31582         * modules/pwrite-tests: New file.
31583         * tests/test-pwrite.sh: New file.
31584         * tests/test-pwrite.c: New file.
31585
31586         New module pwrite.
31587         * lib/unistd.in.h (pwrite): New declaration.
31588         * lib/pwrite.c: New file, from glibc with modifications.
31589         * m4/pwrite.m4: New file.
31590         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
31591         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
31592         REPLACE_PWRITE.
31593         * modules/pwrite: New file.
31594         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
31595         REPLACE_PWRITE.
31596         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
31597         * doc/posix-functions/pwrite.texi: Mention the new module.
31598
31599 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
31600
31601         pread: Update documentation.
31602         * doc/posix-functions/pread.texi: Mention the 'pread' module.
31603
31604 2010-05-04  Eric Blake  <eblake@redhat.com>
31605
31606         docs: update cygwin progress
31607         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
31608         this bug.
31609         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
31610         Added in cygwin 1.7.2.
31611         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
31612         Likewise.
31613         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
31614         Likewise.
31615         * doc/glibc-functions/dup3.texi (dup3): Likewise.
31616         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
31617         * doc/glibc-functions/accept4.texi (accept4): Likewise.
31618         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
31619         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
31620         Mention nproc module.
31621         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
31622         bug in cygwin 1.7.5 addition.
31623         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
31624         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
31625         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
31626         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
31627         1.7.5.
31628         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
31629         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
31630         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
31631         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
31632         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
31633         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
31634         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
31635         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
31636         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
31637         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
31638         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
31639         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
31640         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
31641         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
31642         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
31643         Likewise.
31644         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
31645         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
31646         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
31647         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
31648         Likewise.
31649         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
31650         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
31651         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
31652         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
31653         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
31654         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
31655         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
31656         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
31657         Likewise.
31658         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
31659         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
31660         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
31661         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
31662         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
31663         Likewise.
31664         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
31665         Likewise.
31666         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
31667         Likewise.
31668         * doc/glibc-functions/xdrrec_endofrecord.texi
31669         (xdrrec_endofrecord): Likewise.
31670         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
31671         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
31672         Likewise.
31673         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
31674         Likewise.
31675
31676 2010-05-04  Jim Meyering  <meyering@redhat.com>
31677
31678         gendocs.sh: make its "-s FILE" option more useful
31679         * build-aux/gendocs.sh: When honoring the -s FILE option, update
31680         $PACKAGE to reflect the probably-different basename of "FILE".
31681
31682 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31683
31684         bootstrap: don't ignore download_po_files failure
31685         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
31686         failure.
31687
31688 2010-05-03  Jim Meyering  <meyering@redhat.com>
31689
31690         maint.mk: allow to pass options to gendocs.sh
31691         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
31692         (gendocs_options_): New overridable variable.
31693
31694         gnu-web-doc-update: don't ignore configure or build failure
31695         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
31696
31697         announce-gen: backslash-escape '@'s in --help output
31698         * build-aux/announce-gen: Fix syntax errors.
31699
31700         maint.mk, announce-gen: allow project-specific announcement mail headers
31701         * top/maint.mk (translation_project_): Define default.
31702         (announcement_Cc_, announcement_mail_headers_): Likewise.
31703         (announcement): Invoke announce-gen with new --mail-headers option.
31704         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
31705
31706         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
31707         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
31708         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
31709         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
31710         line in the "err2" output file when running "make check" in verbose
31711         mode (i.e., with set -x enabled).
31712
31713 2010-05-03  Bruno Haible  <bruno@clisp.org>
31714
31715         wctob: Fix for weird platforms.
31716         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
31717         argument value.
31718
31719 2010-05-03  Jim Meyering  <meyering@redhat.com>
31720
31721         maint.mk: prohibit unwarranted use of <strings.h>
31722         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
31723         strings.h in a file that does not also use strcasecmp, strncasecmp,
31724         ffs or ffsll.
31725
31726         maint.mk: remove obsolete comments
31727         * top/maint.mk: Remove stale, commented-out rules.
31728
31729 2010-05-02  Bruno Haible  <bruno@clisp.org>
31730
31731         wcwidth: Declare also when it's aliased.
31732         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
31733         macro.
31734
31735 2010-05-02  Bruno Haible  <bruno@clisp.org>
31736
31737         Fix regression from 2010-04-25.
31738         * gnulib-tool (func_modules_transitive_closure): Check the status of
31739         all modules, not only of the tests that are of the form foo-tests where
31740         foo is a module.
31741
31742 2010-05-02  Bruno Haible  <bruno@clisp.org>
31743
31744         wctob: Work around nasty Cygwin 1.7.2 bug.
31745         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
31746         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
31747
31748 2010-05-01  Bruno Haible  <bruno@clisp.org>
31749
31750         fpurge: Sharper test.
31751         * tests/test-fpurge.c (main): Add one more ftell check.
31752         * modules/fpurge-tests (Depends-on): Add ftell.
31753         Suggested by Eric Blake.
31754
31755 2010-05-01  Bruno Haible  <bruno@clisp.org>
31756
31757         ftello: Another test.
31758         * tests/test-ftello3.c: New file.
31759         * modules/ftello-tests (Files): Add it.
31760         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31761         MOSTLYCLEANFILES.
31762
31763         ftell: Another test.
31764         * tests/test-ftell3.c: New file.
31765         * modules/ftell-tests (Files): Add it.
31766         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31767         MOSTLYCLEANFILES.
31768
31769 2010-05-01  Bruno Haible  <bruno@clisp.org>
31770
31771         ftell, ftello: Work around Solaris bug.
31772         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
31773         * lib/ftello.c: Include stdio-impl.h.
31774         (ftello): On Solaris, when _IOWRT is set, compute the result without
31775         looking at _IOREAD.
31776         * modules/ftello (Files): Add lib/stdio-impl.h.
31777         * doc/posix-functions/ftell.texi: Mention Solaris bug.
31778         * doc/posix-functions/ftello.texi: Likewise.
31779         Reported by Eric Blake.
31780
31781 2010-05-01  Bruno Haible  <bruno@clisp.org>
31782
31783         freading: Adapt to special meaning of _IOREAD flag on Solaris.
31784         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
31785         the _IOWRT flag is also set.
31786
31787 2010-05-01  Bruno Haible  <bruno@clisp.org>
31788
31789         Fix doc about a HP-UX stdio bug.
31790         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
31791         * doc/posix-functions/ftello.texi: Likewise.
31792
31793 2010-05-01  Bruno Haible  <bruno@clisp.org>
31794
31795         lseek test: Fix failure on Solaris.
31796         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
31797         output.
31798
31799 2010-04-30  Jim Meyering  <meyering@redhat.com>
31800
31801         bootstrap: don't ignore failure to generate po*/Makevars
31802         * build-aux/bootstrap (with_gettext): Don't ignore failure
31803         to create po/Makevars or runtime-po/Makevars.
31804
31805 2010-04-29  Eric Blake  <eblake@redhat.com>
31806
31807         headers: relax license to LGPLv2+
31808         * modules/fcntl-h (License): Relax license.
31809         * modules/getopt-posix (License): Likewise.
31810         * modules/locale (License): Likewise.
31811         * modules/math (License): Likewise.
31812         * modules/pty (License): Likewise.
31813         * modules/sched (License): Likewise.
31814         * modules/search (License): Likewise.
31815         * modules/spawn (License): Likewise.
31816         * modules/stdarg (License): Likewise.
31817         * modules/sysexits (License): Likewise.
31818
31819 2010-04-29  Jim Meyering  <meyering@redhat.com>
31820
31821         inttypes: relax license to LGPLv2+
31822         * modules/inttypes (License): Relax license.
31823
31824 2010-04-29  Simon Josefsson  <simon@josefsson.org>
31825
31826         * top/maint.mk (indent): Run twice to produce idempotent results.
31827
31828 2010-04-28  Bruno Haible  <bruno@clisp.org>
31829
31830         getdate: Generate getdate.c in the source directory.
31831         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
31832         MOSTLYCLEANFILES.
31833         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
31834
31835 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
31836
31837         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
31838         is not declared as a const *; avoid warnings in that case.
31839
31840 2010-04-28  Eric Blake  <eblake@redhat.com>
31841
31842         canonicalize-lgpl: avoid compiler warning
31843         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
31844         declaration' / 'extraneous semicolon' warning with some compilers.
31845         Reported by Andreas Gruenbacher.
31846
31847 2010-04-28  Jim Meyering  <meyering@redhat.com>
31848
31849         init.sh: ensure a more reliable exit status when exiting via trap
31850         * tests/init.sh (setup_): Don't rely on $? in signal handler.
31851         Inspired by patches from Dmitry V. Levin.
31852         Also trap on signal 3 (SIGQUIT).
31853
31854 2010-04-27  Bruno Haible  <bruno@clisp.org>
31855
31856         Update doc about utimes().
31857         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
31858         'utimens' module.
31859         Reported by Andreas Gruenbacher <agruen@suse.de>.
31860
31861 2010-04-27  Eric Blake  <eblake@redhat.com>
31862
31863         full-read, full-write: relax license
31864         * modules/full-read (License): Drop to LGPLv2+.
31865         * modules/full-write (License): Likewise.
31866         * modules/safe-read (License): Likewise.
31867         * modules/safe-write (License): Likewise.
31868
31869         pthread: mention library for linking
31870         * modules/pthread (Link): Mention $(LIB_PTHREAD).
31871
31872 2010-04-27  Jim Meyering  <meyering@redhat.com>
31873
31874         maint.mk: fix a bug introduced in last change
31875         * top/maint.mk (gl_assured_headers_): Now that all names are on
31876         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
31877         is not anchored to end of word, it should be adequate.
31878
31879         maint.mk: avoid side-effect in latest syntax-check
31880         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
31881         to run commands via $(shell...), and hence to incur cost only when
31882         the new rule is actually run.
31883
31884         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
31885         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
31886         and use that to create a regexp used to detect all #if HAVE_..._H uses.
31887         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
31888         (gl_assured_headers_, az_, AZ_): Define.
31889         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
31890
31891 2010-04-26  Jim Meyering  <jim@meyering.net>
31892             Bruno Haible  <bruno@clisp.org>
31893
31894         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
31895         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
31896         Prompted by an exchange with Gilles Espinasse.
31897
31898 2010-04-26  Jim Meyering  <meyering@redhat.com>
31899
31900         git-version-gen: aesthetic tweak
31901         * build-aux/git-version-gen: Use "$nl" rather than a literal,
31902         so that the command remains on a single line.
31903
31904 2010-04-26  Eric Blake  <eblake@redhat.com>
31905
31906         git-version-gen: allow use on EBCDIC hosts
31907         * build-aux/git-version-gen (dirty): Use literal rather than tying
31908         ourselves to ascii.
31909         Reported by Steve Goetze.
31910
31911 2010-04-25  Bruno Haible  <bruno@clisp.org>
31912
31913         netdb: Add support for GNULIB_POSIXCHECK.
31914         * lib/netdb.in.h: Include warn-on-use.h.
31915         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
31916         functions are used when GNULIB_POSIXCHECK is defined and the
31917         getaddrinfo module is not in use.
31918         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
31919         freeaddrinfo, gai_strerror, getnameinfo are declared.
31920         * modules/netdb (Depends-on): Add warn-on-use.
31921         (Makefile.am): Include warn-on-use.h in netdb.h.
31922
31923 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
31924
31925         build: avoid "make check" failure without .git/ directory
31926         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
31927         there is no .git/ directory.
31928
31929 2010-04-25  Bruno Haible  <bruno@clisp.org>
31930
31931         ptsname: Fix misuse of ttyname_r.
31932         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
31933         of errno.
31934
31935 2010-04-25  Bruno Haible  <bruno@clisp.org>
31936
31937         ttyname_r: Make it work on Solaris 10.
31938         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
31939         if the system function has the POSIX declaration. Test whether the
31940         function fails if the buffer is less than 128 bytes large.
31941         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
31942         system's ttyname_r function. Provide a reasonably large buffer.
31943         * modules/ttyname_r (Depends-on): Add extensions.
31944         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
31945
31946 2010-04-25  Bruno Haible  <bruno@clisp.org>
31947
31948         Use the 'extensions' module for some more functions on Solaris.
31949         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
31950         module.
31951         * doc/posix-functions/ctime_r.texi: Likewise.
31952         * doc/posix-functions/getgrgid_r.texi: Likewise.
31953         * doc/posix-functions/getgrnam_r.texi: Likewise.
31954         * doc/posix-functions/getpwnam_r.texi: Likewise.
31955         * doc/posix-functions/getpwuid_r.texi: Likewise.
31956         * doc/posix-functions/readdir_r.texi: Likewise.
31957         * doc/posix-functions/sigwait.texi: Likewise.
31958         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
31959         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
31960
31961 2010-04-25  Bruno Haible  <bruno@clisp.org>
31962
31963         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
31964         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
31965         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
31966         * lib/ttyname_r.c: Include <limits.h>.
31967         (ttyname_r): Define using the system's ttyname_r function, if it exists
31968         and not on Solaris.
31969         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
31970         set.
31971         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
31972         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
31973         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
31974         Reported by Simon Josefsson.
31975
31976 2010-04-25  Bruno Haible  <bruno@clisp.org>
31977
31978         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
31979         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
31980         * doc/posix-functions/ctime_r.texi: Likewise.
31981         * doc/posix-functions/getgrgid_r.texi: Likewise.
31982         * doc/posix-functions/getgrnam_r.texi: Likewise.
31983         * doc/posix-functions/getlogin_r.texi: Likewise.
31984         * doc/posix-functions/getpwnam_r.texi: Likewise.
31985         * doc/posix-functions/getpwuid_r.texi: Likewise.
31986         * doc/posix-functions/readdir_r.texi: Likewise.
31987         * doc/posix-functions/sigwait.texi: Likewise.
31988         * doc/posix-functions/ttyname_r.texi: Likewise.
31989         Reported by Simon Josefsson.
31990
31991 2010-04-25  Bruno Haible  <bruno@clisp.org>
31992
31993         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
31994         * gnulib-tool (func_usage): Document that --with-*-tests options apply
31995         also to --create-testdir.
31996         (func_acceptable): Don't consider the status of *-tests modules here.
31997         (func_modules_transitive_closure): Consider it here, before including a
31998         test module.
31999         (func_import, func_create_testdir): Set inc_all_direct_tests,
32000         inc_all_indirect_tests.
32001         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
32002         --create-testdir and --create-megatestdir.
32003
32004 2010-04-25  Bruno Haible  <bruno@clisp.org>
32005
32006         gnulib-tool: Add --without-*-tests options.
32007         * gnulib-tool (func_usage): Document the --without-*-tests options.
32008         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
32009         excl_unportable_tests): New variables.
32010         Fail if they are specified with --import or --update.
32011         (func_acceptable): Respect the excl_*_tests variables.
32012         (func_import): Set the excl_*_tests variables to empty.
32013
32014 2010-04-25  Simon Josefsson  <simon@josefsson.org>
32015             Bruno Haible  <bruno@clisp.org>
32016
32017         Work around a MacOS X 10.4 bug with openpty.
32018         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
32019         * tests/test-openpty.c (main): Close the master side explicitly.
32020
32021 2010-04-25  Bruno Haible  <bruno@clisp.org>
32022
32023         strnlen: Fix a C++ test error on MacOS X and Solaris.
32024         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
32025         the function is not declared.
32026         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
32027         Simon Josefsson.
32028
32029 2010-04-24  Bruno Haible  <bruno@clisp.org>
32030
32031         Avoid a gcc warning.
32032         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
32033         of correct type for %08lx directive.
32034         Reported by Eric Blake.
32035
32036 2010-04-24  Bruno Haible  <bruno@clisp.org>
32037
32038         vasnprintf: Correct errno value in case of out-of-memory.
32039         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
32040         or sprintf. Use the errno value from SNPRINTF or sprintf.
32041         Reported by Ian Beckwith <ianb@erislabs.net>.
32042
32043 2010-04-24  Bruno Haible  <bruno@clisp.org>
32044
32045         ansi-c++-opt: Find correct compiler when cross-compiling.
32046         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
32047         AC_CHECK_PROGS.
32048         Reported by Simon Josefsson.
32049
32050 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
32051
32052         vc-list-files: Add support for subversion
32053         * build-aux/vc-list-files: Use "svn list" to generate the list of
32054         files controlled by subversion.
32055
32056 2010-04-23  Jim Meyering  <meyering@redhat.com>
32057
32058         vc-list-files tests: convert to use init.sh
32059         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
32060         path_prepend_.
32061         Use Exit, not exit.
32062         Use skip_ rather than open coding it.
32063         Remove trap set-up and compare definitions.
32064         * tests/test-vc-list-files-git.sh: Likewise.
32065         * modules/vc-list-files-tests (Files): Add tests/init.sh.
32066
32067 2010-04-22  Simon Josefsson  <simon@josefsson.org>
32068
32069         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
32070         backup files.
32071
32072 2010-04-21  Simon Josefsson  <simon@josefsson.org>
32073
32074         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
32075
32076 2010-04-20  Eric Blake  <eblake@redhat.com>
32077
32078         tests: be robust to ignored SIGPIPE
32079         * tests/test-select-in.sh: Consume all output.
32080         * tests/test-lseek.sh: Check correct exit status, while avoiding
32081         EPIPE.
32082
32083 2010-04-20  Simon Josefsson  <simon@josefsson.org>
32084             Bruno Haible  <bruno@clisp.org>
32085
32086         visibility: Don't use -fvisibility if it leads to a warning.
32087         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
32088         yes, don't pretend that visibility works if it leads to a warning.
32089         Reported by Mike Gran <spk121@yahoo.com>.
32090
32091 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
32092
32093         * build-aux/bootstrap: Use "git -h" for testing for supported options
32094         instead of "git --help".  The short-form option only shows a summary,
32095         and doesn't layout the full man page.  Grep for the full option name
32096         in the summary, too.
32097
32098 2010-04-19  Bruno Haible  <bruno@clisp.org>
32099
32100         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
32101         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
32102         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
32103         mention of RELOCATABLE_STRIP.
32104         Reported by Sylvain Beucler <beuc@beuc.net>.
32105
32106 2010-04-19  Bruno Haible  <bruno@clisp.org>
32107
32108         * lib/diffseq.h: Fix typo in comment.
32109         Reported by Eric Blake.
32110
32111 2010-04-19  Bruno Haible  <bruno@clisp.org>
32112
32113         ioctl: Move autoconf macro to a .m4 file.
32114         * m4/ioctl.m4: New file, extracted from modules/ioctl.
32115         * modules/ioctl (Files): Add it.
32116         (configure.ac): Simply invoke gl_FUNC_IOCTL.
32117         Reported by Ian Beckwith <ianb@erislabs.net>.
32118
32119 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
32120             Bruno Haible  <bruno@clisp.org>
32121
32122         diffseq: Accommodate use-case with abstract arrays.
32123         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
32124         is not defined.
32125         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
32126         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
32127
32128 2010-04-18  Bruno Haible  <bruno@clisp.org>
32129
32130         * doc/posix-headers/stdbool.texi: More precise wording.
32131
32132 2010-04-17  Jim Meyering  <meyering@redhat.com>
32133
32134         maint.mk: use gnu-style indentation in an embedded perl script
32135         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
32136         Rename variable: s/two/last_two_bytes/
32137
32138 2010-04-16  Eric Blake  <eblake@redhat.com>
32139
32140         test-stdbool: skip test that fails with Solaris CC
32141         * tests/test-stdbool.c (f): Skip test that causes compilation
32142         error under buggy C++ compiler.
32143         * lib/stdbool.in.h: Document the limitation.
32144         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
32145
32146         setenv: allow compilation with C++
32147         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
32148         register keyword.
32149
32150         stdint: allow test to pass with C++
32151         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
32152
32153         getopt: allow compilation with C++
32154         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
32155         struct.
32156         * lib/getopt.c (_getopt_internal_r): Use correct type.
32157         Reported by Dagobert Michelson, via Joel E. Denny.
32158
32159 2010-04-16  Bruno Haible  <bruno@clisp.org>
32160
32161         Override netdb.h always.
32162         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
32163         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
32164         Reported by Ludovic Courtès <ludo@gnu.org>.
32165
32166 2010-04-15  Bruno Haible  <bruno@clisp.org>
32167
32168         openpty: Fix mistake from 2010-03-21.
32169         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
32170         Reported by Simon Josefsson.
32171
32172 2010-04-15  Eric Blake  <eblake@redhat.com>
32173
32174         test-forkpty: fix expected signature
32175         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
32176         Reported by Simon Josefsson.
32177
32178 2010-04-15  Jim Meyering  <meyering@redhat.com>
32179
32180         maint.mk: texinfo_suffix_re_: correct the default regexp
32181         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
32182
32183         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
32184         make it configurable via texinfo_suffix_re_.
32185
32186 2010-04-14  Eric Blake  <eblake@redhat.com>
32187
32188         strtok_r: relax license to LGPLv2+
32189         * modules/strtok_r (License): Relax license.
32190         Reported by Matthias Bolte.
32191
32192 2010-04-14  Simon Josefsson  <simon@josefsson.org>
32193
32194         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
32195         version 1.4.4 by default instead of requiring the libgcrypt
32196         version used during build.  This makes it possible to use the
32197         application with older but still binary compatible libgcrypt
32198         versions.
32199
32200 2010-04-13  Eric Blake  <eblake@redhat.com>
32201
32202         getopt-gnu: match recent glibc fixes and posix ruling
32203         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
32204         '+' handling, when requesting extensions.
32205         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
32206         'W;' handling.
32207         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
32208         * doc/posix-functions/getopt.texi (getopt): Document this.
32209         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
32210         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32211         Likewise.
32212
32213         getopt: merge bug fixes from glibc
32214         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
32215         diagnostics.  Honor '+:' correctly.  Reject ';'.
32216
32217         getopt-posix: detect MacOS bug
32218         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
32219         optind when missing a required argument.
32220         * doc/posix-functions/getopt.texi (getopt): Document the bug.
32221         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
32222         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32223         Likewise.
32224
32225         getopt-posix: avoid spurious failure on Solaris
32226         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
32227         an indicator that setting optind=1 is sufficient for reset.
32228
32229         getopt-posix: avoid spurious failure on FreeBSD
32230         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
32231         in POSIX mode, since the m4 test uses it.
32232
32233         gnulib-tool: silence warning on BSD sh
32234         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
32235
32236 2010-04-13  Jim Meyering  <meyering@redhat.com>
32237
32238         doc: users.txt: GNU patch now uses gnulib
32239         * users.txt: Add patch.
32240
32241 2010-04-12  Jim Meyering  <meyering@redhat.com>
32242
32243         maint.mk: generate more concise timing data for syntax-check rules
32244         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
32245         " done" from each line that reports a syntax-check test duration.
32246
32247 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
32248
32249         git-version-gen: use "git update-index..." rather than "git status"
32250         * build-aux/git-version-gen: Use git update-index --refresh, not
32251         "git status".  With some versions of git, "git status" would fail
32252         to update the index and result in an unwarranted "-dirty" suffix.
32253
32254 2010-04-11  Jim Meyering  <meyering@redhat.com>
32255
32256         openat: correct formatting (no semantic change)
32257         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
32258         Suggested by Bruno Haible.
32259
32260 2010-04-11  Bruno Haible  <bruno@clisp.org>
32261
32262         Stricter declaration checking in testdirs.
32263         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32264         If for_tests is true, augment AM_CPPFLAGS to define
32265         GNULIB_STRICT_CHECKING.
32266         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
32267         GNULIB_STRICT_CHECKING is defined, verify that the function is
32268         declared.
32269
32270 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
32271             Bruno Haible  <bruno@clisp.org>
32272
32273         libunistring: Improve configure output.
32274         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
32275         Don't say "consider installing GNU libunistring" when checking again
32276         with libiconv.
32277
32278 2010-04-11  Bruno Haible  <bruno@clisp.org>
32279
32280         libunistring: Correct value of $LTLIBUNISTRING.
32281         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
32282         correct the value of $LTLIBUNISTRING.
32283
32284 2010-04-11  Bruno Haible  <bruno@clisp.org>
32285
32286         havelib: Add static libraries to LIBS in the right order.
32287         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
32288         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
32289
32290 2010-04-11  Bruno Haible  <bruno@clisp.org>
32291
32292         libunistring: Detect libunistring also when it depends on libiconv.
32293         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
32294         the second AC_LIB_HAVE_LINKFLAGS invocation.
32295
32296 2010-04-11  James Youngman  <jay@gnu.org>
32297
32298         close-stream: declare local scalars to be "const"
32299         * lib/close-stream.c (close_stream): Make boolean variables const
32300         to document the fact that we set but do not change them.
32301
32302 2010-04-11  Bruno Haible  <bruno@clisp.org>
32303
32304         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
32305
32306 2010-04-11  Jim Meyering  <meyering@redhat.com>
32307
32308         maint.mk: don't include dist-check.mk
32309         * top/maint.mk: Remove bogus include directive.
32310
32311         maint.mk: improve empty-line-at-EOF check
32312         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
32313         solution, rather than tail+Perl-based one.  The latter would read
32314         a few kilobytes from the end of each file, and did not handle empty
32315         files properly.
32316
32317         maint.mk: print the elapsed time for each syntax-check rule
32318         * top/maint.mk (sc_m_rules_): Save start time in a file.
32319         (sc_z_rules_): New rules: remove temp file and print elapsed time.
32320         (local-check): Interpose the .z rules
32321
32322 2010-04-11  Jim Meyering  <meyering@redhat.com>
32323
32324         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
32325         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
32326         empty file with one that ends in an empty line.
32327
32328 2010-04-10  Bruno Haible  <bruno@clisp.org>
32329
32330         mkdir: Make it work on mingw64.
32331         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
32332         * lib/mkdir.c: Update comment.
32333         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
32334
32335 2010-04-10  Bruno Haible  <bruno@clisp.org>
32336
32337         Don't override improved macro from newer autoconf.
32338         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
32339         autoconf >= 2.62.
32340         Reported by Joel E. Denny <jdenny@clemson.edu>.
32341
32342 2010-04-10  Jim Meyering  <meyering@redhat.com>
32343
32344         maint.mk: new syntax-check rule: prohibit empty lines at end of file
32345         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
32346
32347         maint.mk: correct a diagnostic
32348         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
32349         in diagnostic; now use $prohibit.
32350
32351 2010-04-10  Bruno Haible  <address@hidden>
32352
32353         fchownat: Fix a C++ test error on Solaris 8.
32354         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
32355         the function does not exist.
32356
32357 2010-04-10  Bruno Haible  <bruno@clisp.org>
32358
32359         vasnprintf: Add more tests.
32360         * tests/test-vasnprintf-posix.c: Include <errno.h>.
32361         (test_function): Test converting an invalid wide string.
32362
32363         vasnprintf: Correct handling of unconvertible wide string arguments.
32364         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
32365         VASNPRINTF.
32366         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
32367         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
32368         smaller than the expected maximum need for the directive. Set errno to
32369         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
32370         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
32371         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
32372         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
32373         * modules/vasnprintf (Files): Add m4/printf.m4.
32374         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32375
32376 2010-04-10  Bruno Haible  <bruno@clisp.org>
32377
32378         vasnprintf: Fix crash in %ls directive.
32379         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
32380         string is passed as argument to %ls, with no precision and no width.
32381         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32382
32383 2010-04-10  Bruno Haible  <bruno@clisp.org>
32384
32385         vasnprintf: Fix multiple test failures on mingw.
32386         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
32387         _snprintf, or snwprintf, not _snwprintf.
32388
32389 2010-04-10  Bruno Haible  <bruno@clisp.org>
32390
32391         write: Fix a C++ test error on mingw.
32392         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
32393
32394 2010-04-10  Bruno Haible  <bruno@clisp.org>
32395
32396         vasnprintf test: Reduce code duplication.
32397         * tests/test-vasnprintf.c (test_function): New function, extracted from
32398         test_vasnprintf.
32399         (test_vasnprintf, test_asnprintf): Invoke it.
32400
32401 2010-04-10  Bruno Haible  <bruno@clisp.org>
32402
32403         strnlen: Fix warning in C++ mode on MacOS X.
32404         * lib/string.in.h (strnlen): Use the modern idiom.
32405         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
32406         defining strnlen as a macro already in <config.h>.
32407         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32408         REPLACE_STRNLEN.
32409         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
32410         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32411
32412 2010-04-08  James Youngman  <jay@gnu.org>
32413
32414         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
32415         the example.
32416
32417 2010-04-09  Jim Meyering  <meyering@redhat.com>
32418
32419         maint.mk: print better diagnostic when there is no $(_hv_file)
32420         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
32421         announce that when $(_hv_file) (aka help-version) does not exist.
32422
32423         init.sh: run tr in the "C" locale to avoid multibyte interpretation
32424         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
32425         not try to interpret its random input bytes.  Jarno Rajahalme reported
32426         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
32427         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
32428         (mktempd_): Likewise, just in case.
32429
32430         ftruncate: add two years to projected module removal date: 2012
32431         * m4/ftruncate.m4: Adjust comments.
32432
32433         ftruncate: mark module as obsolete; even MinGW provides it, now
32434         * modules/ftruncate (Status): Obsolete.
32435         (Notice): Say that.
32436         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
32437         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
32438
32439 2010-04-08  Bruno Haible  <bruno@clisp.org>
32440
32441         Fix side effects from tests-related modules.
32442         * modules/dprintf-posix (Comment): New section.
32443         * modules/fprintf-posix (Comment): Likewise.
32444         * modules/obstack-printf-posix (Comment): Likewise.
32445         * modules/printf-posix (Comment): Likewise.
32446         * modules/snprintf-posix (Comment): Likewise.
32447         * modules/sprintf-posix (Comment): Likewise.
32448         * modules/vasnprintf-posix (Comment): Likewise.
32449         * modules/vasprintf-posix (Comment): Likewise.
32450         * modules/vdprintf-posix (Comment): Likewise.
32451         * modules/vfprintf-posix (Comment): Likewise.
32452         * modules/vprintf-posix (Comment): Likewise.
32453         * modules/vsnprintf-posix (Comment): Likewise.
32454         * modules/vsprintf-posix (Comment): Likewise.
32455         * modules/xprintf-posix (Comment): Likewise.
32456         * modules/xvasprintf-posix (Comment): Likewise.
32457         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
32458         * modules/floorf-tests (Depends-on): Likewise.
32459         * modules/round-tests (Depends-on): Likewise.
32460         * modules/roundf-tests (Depends-on): Likewise.
32461         * modules/trunc-tests (Depends-on): Likewise.
32462         * modules/truncf-tests (Depends-on): Likewise.
32463         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
32464         'fprintf-posix' module is not present.
32465         * tests/test-floorf2.c (check): Likewise.
32466         * tests/test-trunc2.c (check): Likewise.
32467         * tests/test-truncf2.c (check): Likewise.
32468         * tests/test-round2.c (equal): Likewise.
32469         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32470
32471 2010-04-07  Karl Berry  <karl@gnu.org>
32472
32473         * config/srclist.txt,
32474         * config/srclistvars.sh,
32475         * config/srclist-update: doc fixes.
32476
32477 2010-04-07  Jim Meyering  <meyering@redhat.com>
32478
32479         maint.mk: add a PATH crosschecking syntax-check rule
32480         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
32481         Useful if you use a test like the one in help-version (coreutils,
32482         diffutils, grep, gzip) that ensures $(VERSION) matches what is
32483         printed by prog --version.
32484
32485 2010-04-06  Bruno Haible  <bruno@clisp.org>
32486
32487         Fix link error on mingw.
32488         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
32489         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
32490
32491 2010-04-06  Bruno Haible  <bruno@clisp.org>
32492
32493         Assume rmdir exists.
32494         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
32495
32496 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
32497
32498         doc: update users.txt
32499         * users.txt: Add gcal.
32500
32501 2010-04-06  Jim Meyering  <meyering@redhat.com>
32502
32503         init.sh: simply unset TMPDIR rather than risking env -i
32504         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
32505         although it probably works fine on all Unix-based systems, some
32506         systems (Cygwin?) cannot tolerate a totally cleared environment.
32507         Suggestion from Eric Blake.
32508
32509 2010-04-06  Jim Meyering  <meyering@redhat.com>
32510
32511         init.sh: portability fix: use env's POSIX-specified -i option not -u
32512         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
32513         than unportable env -u.  Solaris 5.11's env lacks support for -u.
32514
32515 2010-04-05  Bruno Haible  <bruno@clisp.org>
32516
32517         btowc: Work around Cygwin 1.7.2 bug.
32518         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
32519         does not map NUL to 0.
32520         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
32521
32522 2010-04-05  Bruno Haible  <bruno@clisp.org>
32523
32524         Make the multithread modules work on Cygwin 1.7.2.
32525         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
32526         imported symbols can be declared weak, so that it returns "no" on
32527         Cygwin 1.7.2.
32528
32529 2010-04-05  Bruno Haible  <bruno@clisp.org>
32530
32531         Use the module 'strncat'.
32532         * modules/unistr/u8-strncat (Depends-on): Add strncat.
32533
32534         Tests for module 'strncat'.
32535         * modules/strncat-tests: New file.
32536         * tests/test-strncat.c: New file.
32537
32538         New module 'strncat'.
32539         * lib/string.in.h (strncat): New declaration.
32540         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
32541         * m4/strncat.m4: New file, based on m4/memchr.m4.
32542         * modules/strncat: New file.
32543         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
32544         is declared.
32545         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
32546         REPLACE_STRNCAT.
32547         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
32548         REPLACE_STRNCAT.
32549         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
32550         module.
32551         * tests/test-string-c++.cc: Check signature of strncat.
32552
32553 2010-04-05  Jim Meyering  <meyering@redhat.com>
32554
32555         xstrtoumax-tests: convert to use init.sh
32556         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
32557         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32558         Use Exit, not exit.
32559         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32560
32561         xstrtoimax-tests: convert to use init.sh
32562         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
32563         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32564         Use Exit, not exit.
32565         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32566
32567 2010-04-05  Bruno Haible  <bruno@clisp.org>
32568
32569         sys_socket: Avoid #define replacements in C++ mode.
32570         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
32571         warning to the function if possible, rather than #defining the symbol
32572         to a dysfunctional alias.
32573
32574 2010-04-05  Bruno Haible  <bruno@clisp.org>
32575
32576         fseeko: Fix C++ test error on mingw.
32577         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
32578         gl_FUNC_FSEEKO.
32579         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
32580         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
32581         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
32582         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
32583
32584 2010-04-05  Bruno Haible  <bruno@clisp.org>
32585
32586         duplocale: Improve test output.
32587         * tests/test-duplocale.c (main): Print reason for skipped test.
32588
32589 2010-04-05  Bruno Haible  <bruno@clisp.org>
32590
32591         Assume rmdir exists.
32592         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
32593         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
32594
32595 2010-04-05  Bruno Haible  <bruno@clisp.org>
32596
32597         Fix link error on Solaris 8 with cc.
32598         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
32599
32600 2010-04-05  Bruno Haible  <bruno@clisp.org>
32601
32602         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32603         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
32604
32605 2010-04-05  Bruno Haible  <bruno@clisp.org>
32606
32607         vasprintf: Update documentation.
32608         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
32609
32610 2010-04-05  Bruno Haible  <bruno@clisp.org>
32611
32612         ptsname: Improve test.
32613         * tests/test-ptsname.c (main): Also try the various master names of BSD
32614         systems.
32615
32616 2010-04-05  Bruno Haible  <bruno@clisp.org>
32617
32618         memchr: Avoid a possible C++ test error.
32619         * lib/string.in.h (memchr): Provide declaration if function is missing.
32620         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
32621         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
32622         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
32623         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
32624
32625 2010-04-05  Bruno Haible  <bruno@clisp.org>
32626
32627         strtok_r: Improve idiom.
32628         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
32629         AC_LIBOBJ is used.
32630
32631 2010-04-05  Bruno Haible  <bruno@clisp.org>
32632
32633         strdup: Improve idiom.
32634         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
32635         AC_LIBOBJ is used.
32636         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
32637         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
32638         when AC_LIBOBJ is used.
32639
32640 2010-04-05  Bruno Haible  <bruno@clisp.org>
32641
32642         mbsinit, mbrtowc, wcrtomb: Improve idioms.
32643         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
32644         don't set REPLACE_MBSINIT to 1.
32645         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
32646         don't set REPLACE_MBRTOWC to 1.
32647         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
32648         exist, don't set REPLACE_MBSRTOWCS to 1.
32649         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
32650         exist, don't set REPLACE_MBSNRTOWCS to 1.
32651         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
32652         don't set REPLACE_WCRTOMB to 1.
32653         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
32654         exist, don't set REPLACE_WCSRTOMBS to 1.
32655         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
32656         exist, don't set REPLACE_WCSNRTOMBS to 1.
32657
32658 2010-04-05  Bruno Haible  <bruno@clisp.org>
32659
32660         ldexpl: Improve idiom.
32661         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
32662         make sure to set HAVE_DECL_LDEXPL to 0.
32663
32664 2010-04-05  Jim Meyering  <meyering@redhat.com>
32665
32666         xstrtol-tests: convert to use init.sh
32667         * modules/xstrtol-tests (Files): Add tests/init.sh.
32668         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32669         Use Exit, not exit.
32670         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32671
32672         atexit-tests: convert to use init.sh
32673         * modules/atexit-tests (Files): Add tests/init.sh.
32674         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32675         Use Exit, not exit.
32676         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32677
32678         init.sh: fix typo
32679         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
32680
32681         init.sh: make it easier for a test script to write to the tty, ...
32682         when using automake's parallel-tests mode.
32683         * tests/init.sh (stderr_fileno_): Define overridable variable.
32684         (warn_): New function, to use it.
32685         (fail_, skip_, framework_failure_): Use warn_.
32686
32687 2010-04-04  Bruno Haible  <bruno@clisp.org>
32688
32689         btowc: Avoid warning.
32690         * lib/btowc.c: Include <stdlib.h>.
32691         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
32692
32693 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32694             Bruno Haible  <bruno@clisp.org>
32695
32696         wchar: Port to NetBSD 1.5.
32697         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
32698         * lib/wctype.in.h (WEOF): Likewise.
32699
32700 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32701             Bruno Haible  <bruno@clisp.org>
32702
32703         Port extended stdio to NetBSD 1.5.
32704         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
32705         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
32706         older.
32707
32708 2010-04-04  Bruno Haible  <bruno@clisp.org>
32709
32710         string: Remove unused substitution.
32711         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
32712         HAVE_DECL_STRERROR.
32713         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
32714
32715 2010-04-04  Bruno Haible  <bruno@clisp.org>
32716
32717         strtod: Avoid a possible C++ test error.
32718         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
32719         set REPLACE_STRTOD.
32720
32721 2010-04-04  Bruno Haible  <bruno@clisp.org>
32722
32723         strerror: Update documentation.
32724         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
32725
32726 2010-04-04  Bruno Haible  <bruno@clisp.org>
32727
32728         stdio: Fix some C++ test errors on Solaris 8 with GCC.
32729         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
32730         _GL_CXXALIAS_SYS_CAST.
32731
32732 2010-04-04  Bruno Haible  <bruno@clisp.org>
32733
32734         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32735         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
32736         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
32737         REPLACE_FREXPL to 1.
32738         * doc/posix-functions/frexpl.texi: Update documentation.
32739
32740 2010-04-04  Bruno Haible  <bruno@clisp.org>
32741
32742         math: Fix some C++ test errors on Solaris 8 and Cygwin.
32743         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
32744
32745 2010-04-04  Bruno Haible  <bruno@clisp.org>
32746
32747         Implement nanosleep for native Windows.
32748         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
32749
32750 2010-04-04  Bruno Haible  <bruno@clisp.org>
32751
32752         math: Fix some C++ test errors on Solaris 8.
32753         * lib/math.in.h (truncf, trunc): Use simpler idiom.
32754
32755 2010-04-04  Bruno Haible  <bruno@clisp.org>
32756
32757         math: Fix some C++ test errors on Cygwin.
32758         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
32759         truncl): Provide declaration if the system does not have it.
32760         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
32761         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
32762         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
32763         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
32764         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
32765         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
32766         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
32767         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
32768         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
32769         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
32770         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
32771         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
32772         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
32773         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
32774         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
32775         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
32776         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
32777         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32778         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32779         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
32780         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32781         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32782
32783 2010-04-04  Bruno Haible  <bruno@clisp.org>
32784
32785         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
32786         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32787         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32788         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32789         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32790         * m4/isinf.m4 (gl_ISINF): Likewise.
32791         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32792
32793 2010-04-04  Bruno Haible  <bruno@clisp.org>
32794
32795         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
32796         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32797
32798 2010-04-04  Bruno Haible  <bruno@clisp.org>
32799
32800         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
32801         * modules/tmpfile (configure.ac): Update.
32802
32803         tmpfile: Fix C++ test error on mingw.
32804         * lib/stdio.in.h (tmpfile): New declaration.
32805         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
32806         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
32807         * modules/tmpfile (Depends-on): Add stdio.
32808         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32809         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
32810         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
32811         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
32812         REPLACE_TMPFILE.
32813         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
32814
32815 2010-04-04  Bruno Haible  <bruno@clisp.org>
32816
32817         ioctl: Fix C++ test error on mingw.
32818         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
32819         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
32820         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
32821
32822 2010-04-03  Bruno Haible  <bruno@clisp.org>
32823
32824         wcwidth: Fix C++ test error on mingw.
32825         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
32826         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
32827         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
32828
32829 2010-04-03  Bruno Haible  <bruno@clisp.org>
32830
32831         nanosleep: Fix C++ test error on mingw.
32832         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
32833         * lib/time.in.h (nanosleep): Use modern idiom.
32834         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
32835         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
32836         REPLACE_NANOSLEEP to 1.
32837         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
32838         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
32839
32840 2010-04-03  Bruno Haible  <bruno@clisp.org>
32841
32842         strptime: Fix C++ test error on mingw.
32843         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
32844         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
32845         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
32846         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
32847         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
32848         not REPLACE_STRPTIME.
32849         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
32850         REPLACE_STRPTIME.
32851
32852 2010-04-03  Bruno Haible  <bruno@clisp.org>
32853
32854         timegm: Fix C++ test error on mingw.
32855         * lib/time.in.h (timegm): Use modern idiom.
32856         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
32857         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
32858         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
32859         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
32860
32861 2010-04-03  Bruno Haible  <bruno@clisp.org>
32862
32863         timegm: Assume declaration if function exists.
32864         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
32865         if it exists. Don't clobber ac_cv_func_timegm.
32866
32867 2010-04-03  Bruno Haible  <bruno@clisp.org>
32868
32869         time_r: Fix C++ test error on mingw.
32870         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
32871         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
32872         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
32873         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
32874         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
32875
32876 2010-04-03  Bruno Haible  <bruno@clisp.org>
32877
32878         time_r: Minor updates.
32879         * modules/time_r (Description): Mention the provided functions.
32880         * lib/time_r.c: Don't include <string.h>.
32881         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
32882         * doc/posix-functions/localtime_r.texi: Likewise.
32883
32884 2010-04-03  Bruno Haible  <bruno@clisp.org>
32885
32886         time: Fix regression introduced on 2010-03-08.
32887         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
32888         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
32889
32890 2010-04-03  Jim Meyering  <meyering@redhat.com>
32891
32892         maint.mk: don't silently disable project-specific syntax-check rules
32893         * top/maint.mk (_prohibit_regexp): Define, to help people realize
32894         that they need to convert their project-specific syntax-check rules
32895         to use the new _sc_search_regexp.
32896
32897 2010-04-03  Bruno Haible  <bruno@clisp.org>
32898
32899         fchdir: Fix regression introduced on 2010-03-08.
32900         * lib/unistd.in.h (fchdir): Fix declaration.
32901         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
32902         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
32903         REPLACE_FCHDIR.
32904         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
32905         REPLACE_FCHDIR.
32906
32907 2010-04-03  Bruno Haible  <bruno@clisp.org>
32908
32909         getpagesize: Fix C++ test error on mingw.
32910         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
32911         system does not declare the function.
32912         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
32913         declared.
32914         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32915         HAVE_DECL_GETPAGESIZE.
32916         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
32917
32918 2010-04-03  Bruno Haible  <bruno@clisp.org>
32919
32920         stdio: Make C++ tests work on mingw.
32921         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
32922         does not declare the function.
32923
32924 2010-04-03  Bruno Haible  <bruno@clisp.org>
32925
32926         ftello: Fix C++ test error on mingw.
32927         * lib/stdio.in.h (ftello): Use modern idiom.
32928         * lib/ftello.c (ftello): Renamed from rpl_ftello.
32929         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
32930         is missing and that it needs to be replaced.
32931         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
32932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
32933         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
32934
32935 2010-04-03  Bruno Haible  <bruno@clisp.org>
32936
32937         fseeko: Fix C++ test error on mingw.
32938         * lib/stdio.in.h (fseeko): Use modern idiom.
32939         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
32940         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
32941         is missing and that it needs to be replaced.
32942         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
32943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
32944         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
32945
32946 2010-04-03  Bruno Haible  <bruno@clisp.org>
32947
32948         mkstemp: Fix C++ test error on mingw.
32949         * lib/stdlib.in.h (mkstemp): Use modern idiom.
32950         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
32951         function is missing and that it needs to be replaced.
32952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
32953         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
32954
32955 2010-04-03  Bruno Haible  <bruno@clisp.org>
32956
32957         stpncpy: Fix C++ test error on mingw.
32958         * lib/string.in.h (stpncpy): Use modern idiom.
32959         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
32960         function is missing and that it needs to be replaced.
32961         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32962         REPLACE_STPNCPY.
32963         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
32964
32965 2010-04-03  Bruno Haible  <bruno@clisp.org>
32966
32967         sys_stat: Fix C++ test error on mingw.
32968         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
32969         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
32970
32971 2010-04-03  Bruno Haible  <bruno@clisp.org>
32972
32973         pty: Update doc.
32974         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
32975
32976 2010-04-03  Bruno Haible  <bruno@clisp.org>
32977
32978         unistd: Fix C++ test error on mingw.
32979         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
32980
32981 2010-04-03  Bruno Haible  <bruno@clisp.org>
32982
32983         Update doc regarding mingw.
32984         * doc/glibc-functions/openpty.texi: Update regarding mingw.
32985         * doc/glibc-functions/login_tty.texi: Likewise.
32986         * doc/glibc-functions/forkpty.texi: Likewise.
32987
32988 2010-04-03  Bruno Haible  <bruno@clisp.org>
32989
32990         stdlib: Avoid compilation failure of c-strtold on mingw.
32991         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
32992
32993 2010-04-03  Bruno Haible  <bruno@clisp.org>
32994
32995         locale: Make C++ tests work on Cygwin and mingw.
32996         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
32997         cannot provide the function.
32998         Reported by Simon Josefsson.
32999
33000 2010-04-03  Bruno Haible  <bruno@clisp.org>
33001
33002         localename: Port to MacOS X 10.6.
33003         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
33004         memory layout of the locales in MacOS X 10.6 as well.
33005         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
33006
33007 2010-04-02  Bruno Haible  <bruno@clisp.org>
33008
33009         gnulib-tool: Ensure that long-running tests are executed last.
33010         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
33011         running tests after the one for the other tests.
33012
33013 2010-04-02  Bruno Haible  <bruno@clisp.org>
33014
33015         gnulib-tool: Ensure the tests in the main directory are executed first.
33016         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
33017         start with the current directory.
33018
33019 2010-04-02  Bruno Haible  <bruno@clisp.org>
33020
33021         Tests for module 'havelib', moved here from GNU gettext.
33022         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
33023         modifications.
33024         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
33025         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
33026         with modifications.
33027         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
33028         modifications.
33029         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
33030         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
33031         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
33032         with modifications.
33033         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
33034         with modifications.
33035         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
33036         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
33037         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
33038         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
33039         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
33040         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
33041         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
33042         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
33043         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
33044         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
33045         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
33046         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
33047         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
33048         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
33049         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
33050         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
33051         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
33052         with modifications.
33053         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
33054         with modifications.
33055         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
33056         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
33057         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
33058         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
33059         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
33060         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
33061         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
33062         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
33063         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
33064         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
33065         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
33066         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
33067         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
33068         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
33069         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
33070         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
33071         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
33072         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
33073         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
33074         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
33075         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
33076         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
33077         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
33078         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
33079         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
33080         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
33081         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
33082         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
33083         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
33084         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
33085         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
33086         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
33087         * tests/havelib/rpathx/rpathx.c: New file, from
33088         gettext/autoconf-lib-link.
33089         * tests/havelib/rpathx/Makefile.am: New file, from
33090         gettext/autoconf-lib-link.
33091         * tests/havelib/rpathx/configure.ac: New file, from
33092         gettext/autoconf-lib-link with modifications.
33093         * tests/havelib/rpathy/rpathy.c: New file, from
33094         gettext/autoconf-lib-link.
33095         * tests/havelib/rpathy/Makefile.am: New file, from
33096         gettext/autoconf-lib-link.
33097         * tests/havelib/rpathy/configure.ac: New file, from
33098         gettext/autoconf-lib-link with modifications.
33099         * tests/havelib/rpathz/rpathz.c: New file, from
33100         gettext/autoconf-lib-link.
33101         * tests/havelib/rpathz/Makefile.am: New file, from
33102         gettext/autoconf-lib-link.
33103         * tests/havelib/rpathz/configure.ac: New file, from
33104         gettext/autoconf-lib-link with modifications.
33105         * tests/havelib/rpathlx/usex.c: New file, from
33106         gettext/autoconf-lib-link.
33107         * tests/havelib/rpathlx/Makefile.am: New file, from
33108         gettext/autoconf-lib-link.
33109         * tests/havelib/rpathlx/configure.ac: New file, from
33110         gettext/autoconf-lib-link with modifications.
33111         * tests/havelib/rpathly/usey.c: New file, from
33112         gettext/autoconf-lib-link.
33113         * tests/havelib/rpathly/Makefile.am: New file, from
33114         gettext/autoconf-lib-link.
33115         * tests/havelib/rpathly/configure.ac: New file, from
33116         gettext/autoconf-lib-link with modifications.
33117         * tests/havelib/rpathlz/usez.c: New file, from
33118         gettext/autoconf-lib-link.
33119         * tests/havelib/rpathlz/Makefile.am: New file, from
33120         gettext/autoconf-lib-link.
33121         * tests/havelib/rpathlz/configure.ac: New file, from
33122         gettext/autoconf-lib-link with modifications.
33123         * tests/havelib/rpathlyx/usey.c: New file, from
33124         gettext/autoconf-lib-link.
33125         * tests/havelib/rpathlyx/Makefile.am: New file, from
33126         gettext/autoconf-lib-link.
33127         * tests/havelib/rpathlyx/configure.ac: New file, from
33128         gettext/autoconf-lib-link with modifications.
33129         * tests/havelib/rpathlzyx/usez.c: New file, from
33130         gettext/autoconf-lib-link.
33131         * tests/havelib/rpathlzyx/Makefile.am: New file, from
33132         gettext/autoconf-lib-link.
33133         * tests/havelib/rpathlzyx/configure.ac: New file, from
33134         gettext/autoconf-lib-link with modifications.
33135         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
33136         with modifications.
33137
33138 2010-04-02  Bruno Haible  <bruno@clisp.org>
33139
33140         gnulib-tool: Create distributed built sources also for the tests.
33141         * gnulib-tool (func_create_testdir): Also generate distributed built
33142         sources in the tests directory.
33143
33144 2010-04-02  Bruno Haible  <bruno@clisp.org>
33145
33146         gnulib-tool: Obey user's environment variables.
33147         * gnulib-tool (func_create_testdir): When creating built sources,
33148         respect the environment variables for autoconf, automake, etc. given by
33149         the user.
33150
33151 2010-04-02  Bruno Haible  <bruno@clisp.org>
33152
33153         gnulib-tool: Provide the value of --m4-base to modules.
33154         * gnulib-tool (func_import, func_create_testdir): Emit a definition
33155         of gl_m4_base.
33156
33157 2010-04-02  Eric Blake  <eblake@redhat.com>
33158
33159         maint.mk: fix some fallout
33160         * NEWS: Document the incompatible change, and its effect on cfg.mk.
33161         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
33162
33163 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
33164
33165         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
33166         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
33167         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
33168         (sc_cast_of_x_alloc_return_value): Likewise.
33169         (sc_cast_of_alloca_return_value): Likewise.
33170         (sc_space_tab): Likewise.
33171         (sc_prohibit_atoi_atof): Likewise.
33172         (sc_prohibit_magic_number_exit): Likewise.
33173         (sc_error_exit_success): Likewise.
33174         (sc_file_system): Likewise.
33175         (sc_prohibit_have_config_h): Likewise.
33176         (sc_require_config_h): Likewise.
33177         (sc_prohibit_HAVE_MBRTOWC): Likewise.
33178         (sc_obsolete_symbols): Likewise.
33179         (sc_changelog): Likewise.
33180         (sc_program_name): Likewise.
33181         (sc_the_the): Likewise.
33182         (sc_trailing_blank): Likewise.
33183         (sc_two_space_separator_in_usage): Likewise.
33184         (sc_useless_cpp_parens): Likewise.
33185         (sc_GPL_version): Likewise.
33186         (sc_GFDL_version): Likewise.
33187         (sc_texinfo_acronym): Likewise.
33188         (sc_prohibit_cvs_keyword): Likewise.
33189         (sc_prohibit_stat_st_blocks): Likewise.
33190         (sc_prohibit_S_IS_definition): Likewise.
33191         (sc_redundant_const): Likewise.
33192         (sc_makefile_TAB_only_indentation): Likewise.
33193         (sc_m4_quote_check): Likewise.
33194         (sc_makefile_path_separator_check): Likewise.
33195         (sc_copyright_check): Likewise.
33196         (sc_Wundef_boolean): Likewise.
33197         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
33198
33199         maint.mk: match 0 or more whitespace-before-function-call '('
33200         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
33201         that have zero or two-and-more spaces between the function name
33202         and the open parenthesis.
33203         (sc_error_message_warn_fatal): Likewise.
33204         (sc_error_message_uppercase): Likewise.
33205         (sc_error_message_period): Likewise.
33206
33207 2010-03-31  Eric Blake  <eblake@redhat.com>
33208
33209         maint.mk: check for [ as well as test
33210         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
33211         Based on a libvirt report by Matthias Bolte.
33212
33213         gnumakefile: don't squelch _version output
33214         * top/GNUmakefile (_version): Create one-shot dependency rather
33215         than using $(shell) when version must be regenerated.
33216         (_autoreconf): Run verbosely, by default.
33217
33218         sys_time: avoid compiler warnings
33219         * lib/sys_time.in.h (includes): Ensure gcc pragma is
33220         unconditional, fixing regression from 2010-03-29.
33221         Reported by Simon Josefsson.
33222
33223 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
33224
33225         maint.mk: s/_header_without_use/_sc_header_without_use/
33226         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
33227         (sc_prohibit_assert_without_use): Use the new name.
33228         (sc_prohibit_close_stream_without_use): Likewise.
33229         (sc_prohibit_getopt_without_use): Likewise.
33230         (sc_prohibit_quotearg_without_use): Likewise.
33231         (sc_prohibit_quote_without_use): Likewise.
33232         (sc_prohibit_long_options_without_use): Likewise.
33233         (sc_prohibit_inttostr_without_use): Likewise.
33234         (sc_prohibit_ignore_value_without_use): Likewise.
33235         (sc_prohibit_error_without_use): Likewise.
33236         (sc_prohibit_xalloc_without_use): Likewise.
33237         (sc_prohibit_hash_without_use): Likewise.
33238         (sc_prohibit_hash_pjw_without_use): Likewise.
33239         (sc_prohibit_safe_read_without_use): Likewise.
33240         (sc_prohibit_argmatch_without_use): Likewise.
33241         (sc_prohibit_canonicalize_without_use): Likewise.
33242         (sc_prohibit_root_dev_ino_without_use): Likewise.
33243         (sc_prohibit_openat_without_use): Likewise.
33244         (sc_prohibit_c_ctype_without_use): Likewise.
33245         (sc_prohibit_signal_without_use): Likewise.
33246         (sc_prohibit_intprops_without_use): Likewise.
33247
33248 2010-03-30  Eric Blake  <eblake@redhat.com>
33249
33250         maint: improve module indicators
33251         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
33252         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
33253         columns, and avoid extra macro expansion.
33254
33255         fdopendir: work around FreeBSD bug
33256         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33257         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
33258         * modules/dirent (Makefile.am): Substitute it.
33259         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
33260         declaration.
33261         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
33262         fix.
33263         Reported by Christian Weisgerber <naddy@mips.inka.de>.
33264
33265 2010-03-29  Bruno Haible  <bruno@clisp.org>
33266
33267         Emit #pragma system_header after the inclusion guard, not before.
33268         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
33269         guard that spans the entire file, not before. This enables an
33270         optimization in GCC's preprocessor.
33271         * lib/ctype.in.h: Likewise.
33272         * lib/dirent.in.h: Likewise.
33273         * lib/errno.in.h: Likewise.
33274         * lib/float.in.h: Likewise.
33275         * lib/getopt.in.h: Likewise.
33276         * lib/iconv.in.h: Likewise.
33277         * lib/langinfo.in.h: Likewise.
33278         * lib/locale.in.h: Likewise.
33279         * lib/math.in.h: Likewise.
33280         * lib/netdb.in.h: Likewise.
33281         * lib/netinet_in.in.h: Likewise.
33282         * lib/pty.in.h: Likewise.
33283         * lib/sched.in.h: Likewise.
33284         * lib/se-selinux.in.h: Likewise.
33285         * lib/search.in.h: Likewise.
33286         * lib/spawn.in.h: Likewise.
33287         * lib/stdarg.in.h: Likewise.
33288         * lib/stdint.in.h: Likewise.
33289         * lib/string.in.h: Likewise.
33290         * lib/strings.in.h: Likewise.
33291         * lib/sys_file.in.h: Likewise.
33292         * lib/sys_ioctl.in.h: Likewise.
33293         * lib/sys_time.in.h: Likewise.
33294         * lib/sys_times.in.h: Likewise.
33295         * lib/sys_utsname.in.h: Likewise.
33296         * lib/sys_wait.in.h: Likewise.
33297         * lib/sysexits.in.h: Likewise.
33298         * lib/wctype.in.h: Likewise.
33299
33300 2010-03-28  James Youngman  <jay@gnu.org>
33301
33302         save-cwd: don't leak a file descriptor when the caller execs.
33303         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
33304         saved file descriptor.
33305         * modules/save-cwd (Depends-on): Depend on cloexec.
33306
33307 2010-03-29  Bruno Haible  <bruno@clisp.org>
33308
33309         Remove vestiges of fts-lgpl module.
33310         * lib/fts_.h: Assume GNULIB_FTS is 1.
33311         * lib/fts.c: Likewise.
33312         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
33313
33314 2010-03-28  Bruno Haible  <bruno@clisp.org>
33315
33316         Fix definition of tests witness macro.
33317         * gnulib-tool (func_import): Fix definition of witness macro.
33318
33319 2010-03-28  Bruno Haible  <bruno@clisp.org>
33320
33321         Fix ioctl's protoype on glibc systems.
33322         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
33323         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
33324         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
33325         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
33326         signature. If not, arrange to replace the ioctl function.
33327         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
33328         REPLACE_IOCTL.
33329         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
33330         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
33331         Reported by Ludovic Courtès <ludo@gnu.org>.
33332
33333 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
33334
33335         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
33336         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
33337         made it so grep -r --include=GLOB* ... did not work.
33338
33339 2010-03-26  Jim Meyering  <meyering@redhat.com>
33340             Eric Blake  <eblake@redhat.com>
33341
33342         maint.mk: prohibit use of test's -o and -a operators
33343         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
33344
33345 2010-03-28  Bruno Haible  <bruno@clisp.org>
33346
33347         Remove unused GNULIB_XYZ macro definitions.
33348         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
33349         invocation.
33350
33351 2010-03-28  Bruno Haible  <bruno@clisp.org>
33352
33353         Mark privileged tests modules.
33354         * modules/idpriv-drop-tests (Status): New section.
33355         * modules/idpriv-droptemp-tests (Status): New section.
33356
33357 2010-03-28  Bruno Haible  <bruno@clisp.org>
33358
33359         Split C++ tests into separate tests modules.
33360         * modules/dirent-c++-tests: New file, extracted from
33361         modules/dirent-tests.
33362         * modules/dirent-tests: Depend on it.
33363         * modules/fcntl-h-c++-tests: New file, extracted from
33364         modules/fcntl-h-tests.
33365         * modules/fcntl-h-tests: Depend on it.
33366         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
33367         * modules/glob-tests: Depend on it.
33368         * modules/iconv-h-c++-tests: New file, extracted from
33369         modules/iconv-h-tests.
33370         * modules/iconv-h-tests: Depend on it.
33371         * modules/langinfo-c++-tests: New file, extracted from
33372         modules/langinfo-tests.
33373         * modules/langinfo-tests: Depend on it.
33374         * modules/locale-c++-tests: New file, extracted from
33375         modules/locale-tests.
33376         * modules/locale-tests: Depend on it.
33377         * modules/math-c++-tests: New file, extracted from modules/math-tests.
33378         * modules/math-tests: Depend on it.
33379         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
33380         * modules/pty-tests: Depend on it.
33381         * modules/search-c++-tests: New file, extracted from
33382         modules/search-tests.
33383         * modules/search-tests: Depend on it.
33384         * modules/signal-c++-tests: New file, extracted from
33385         modules/signal-tests.
33386         * modules/signal-tests: Depend on it.
33387         * modules/spawn-c++-tests: New file, extracted from
33388         modules/spawn-tests.
33389         * modules/spawn-tests: Depend on it.
33390         * modules/stdio-c++-tests: New file, extracted from
33391         modules/stdio-tests.
33392         * modules/stdio-tests: Depend on it.
33393         * modules/stdlib-c++-tests: New file, extracted from
33394         modules/stdlib-tests.
33395         * modules/stdlib-tests: Depend on it.
33396         * modules/string-c++-tests: New file, extracted from
33397         modules/string-tests.
33398         * modules/string-tests: Depend on it.
33399         * modules/sys_ioctl-c++-tests: New file, extracted from
33400         modules/sys_ioctl-tests.
33401         * modules/sys_ioctl-tests: Depend on it.
33402         * modules/sys_select-c++-tests: New file, extracted from
33403         modules/sys_select-tests.
33404         * modules/sys_select-tests: Depend on it.
33405         * modules/sys_socket-c++-tests: New file, extracted from
33406         modules/sys_socket-tests.
33407         * modules/sys_socket-tests: Depend on it.
33408         * modules/sys_stat-c++-tests: New file, extracted from
33409         modules/sys_stat-tests.
33410         * modules/sys_stat-tests: Depend on it.
33411         * modules/sys_time-c++-tests: New file, extracted from
33412         modules/sys_time-tests.
33413         * modules/sys_time-tests: Depend on it.
33414         * modules/time-c++-tests: New file, extracted from modules/time-tests.
33415         * modules/time-tests: Depend on it.
33416         * modules/unistd-c++-tests: New file, extracted from
33417         modules/unistd-tests.
33418         * modules/unistd-tests: Depend on it.
33419         * modules/wchar-c++-tests: New file, extracted from
33420         modules/wchar-tests.
33421         * modules/wchar-tests: Depend on it.
33422         * modules/wctype-c++-tests: New file, extracted from
33423         modules/wctype-tests.
33424         * modules/wctype-tests: Depend on it.
33425         Reported by Simon Josefsson.
33426
33427 2010-03-28  Bruno Haible  <bruno@clisp.org>
33428
33429         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
33430         * gnulib-tool (func_exists_module): New function, extracted from
33431         func_verify_module.
33432         (func_verify_module): Use it.
33433         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
33434         'foo' only if 'foo' exists.
33435         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
33436         module.
33437
33438 2010-03-28  Bruno Haible  <bruno@clisp.org>
33439
33440         gnulib-tool: Add support for special categories of tests.
33441         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
33442         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
33443         (func_usage): Document them.
33444         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
33445         inc_unportable_tests, inc_all_tests): New variables.
33446         (func_acceptable): Consider these variables.
33447         (func_modules_transitive_closure): Make it work when the 'Status' field
33448         consists of multiple words.
33449         (func_import): Store and restore the values of inc_cxx_tests,
33450         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
33451         inc_all_tests in gnulib-comp.m4.
33452         (func_create_testdir): Set inc_all_tests to true.
33453         * doc/gnulib.texi (Extra tests modules): New section.
33454         Suggested by Jim Meyering.
33455
33456 2010-03-28  Bruno Haible  <bruno@clisp.org>
33457
33458         ansi-c++-opt: Allow turning off the C++ build by default.
33459         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
33460         gl_CXX_CHOICE_DEFAULT_NO is defined.
33461         Requested by Eric Blake.
33462
33463 2010-03-28  Bruno Haible  <bruno@clisp.org>
33464
33465         unistd: Avoid #define replacements in C++ mode.
33466         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
33467         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
33468         setsockopt, shutdown, select): In C++, attach a warning to the function
33469         if possible, rather than #defining the symbol to a dysfunctional alias.
33470         Reported by John W. Eaton <jwe@gnu.org>.
33471
33472 2010-03-28  Bruno Haible  <bruno@clisp.org>
33473
33474         Fix link errors on mingw.
33475         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
33476         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
33477         $(LIBSOCKET).
33478         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
33479         $(LIBSOCKET).
33480
33481 2010-03-28  Bruno Haible  <bruno@clisp.org>
33482             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33483
33484         lib-ignore: Determine different options for different compilers.
33485         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
33486         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
33487         Add comments.
33488         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
33489         * NEWS: Mention the change.
33490
33491 2010-03-27  Bruno Haible  <bruno@clisp.org>
33492
33493         Remove unused GNULIB_XYZ macro definitions.
33494         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
33495         * modules/fseek (configure.ac): Likewise.
33496         * modules/ioctl (configure.ac): Likewise.
33497         * modules/open (configure.ac): Likewise.
33498         * modules/stdlib-safer (configure.ac): Likewise.
33499
33500 2010-03-27  Bruno Haible  <bruno@clisp.org>
33501
33502         Add a remark about certain modules.
33503         * modules/malloc (Comment): New section.
33504         * modules/realloc (Comment): Likewise.
33505         * modules/sigpipe (Comment): Likewise.
33506
33507 2010-03-27  Bruno Haible  <bruno@clisp.org>
33508
33509         Resolve conflict between the two kinds of module indicators.
33510         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
33511         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
33512         * modules/canonicalize (configure.ac): Invoke
33513         gl_MODULE_INDICATOR_FOR_TESTS.
33514         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
33515         GNULIB_XYZ.
33516         * tests/test-dirent-c++.cc: Likewise.
33517         * tests/test-dirent-safer.c: Likewise.
33518         * tests/test-dup2.c: Likewise.
33519         * tests/test-fchdir.c: Likewise.
33520         * tests/test-fcntl-h-c++.cc: Likewise.
33521         * tests/test-getopt.c: Likewise.
33522         * tests/test-getopt.h: Likewise.
33523         * tests/test-langinfo-c++.cc: Likewise.
33524         * tests/test-locale-c++.cc: Likewise.
33525         * tests/test-math-c++.cc: Likewise.
33526         * tests/test-pty-c++.cc: Likewise.
33527         * tests/test-search-c++.cc: Likewise.
33528         * tests/test-signal-c++.cc: Likewise.
33529         * tests/test-spawn-c++.cc: Likewise.
33530         * tests/test-stdio-c++.cc: Likewise.
33531         * tests/test-stdlib-c++.cc: Likewise.
33532         * tests/test-string-c++.cc: Likewise.
33533         * tests/test-sys_ioctl-c++.cc: Likewise.
33534         * tests/test-sys_select-c++.cc: Likewise.
33535         * tests/test-sys_socket-c++.cc: Likewise.
33536         * tests/test-sys_stat-c++.cc: Likewise.
33537         * tests/test-sys_time-c++.cc: Likewise.
33538         * tests/test-time-c++.cc: Likewise.
33539         * tests/test-unistd-c++.cc: Likewise.
33540         * tests/test-wchar-c++.cc: Likewise.
33541         * tests/uninorm/test-u8-nfc.c: Likewise.
33542         * tests/uninorm/test-u8-nfd.c: Likewise.
33543         * tests/uninorm/test-u8-nfkc.c: Likewise.
33544         * tests/uninorm/test-u8-nfkd.c: Likewise.
33545         * tests/uninorm/test-u16-nfc.c: Likewise.
33546         * tests/uninorm/test-u16-nfd.c: Likewise.
33547         * tests/uninorm/test-u16-nfkc.c: Likewise.
33548         * tests/uninorm/test-u16-nfkd.c: Likewise.
33549         * tests/uninorm/test-u32-nfc.c: Likewise.
33550         * tests/uninorm/test-u32-nfc-big.c: Likewise.
33551         * tests/uninorm/test-u32-nfd.c: Likewise.
33552         * tests/uninorm/test-u32-nfd-big.c: Likewise.
33553         * tests/uninorm/test-u32-nfkc.c: Likewise.
33554         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
33555         * tests/uninorm/test-u32-nfkd.c: Likewise.
33556         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
33557         * tests/uninorm/test-u32-normalize-big.c: Likewise.
33558
33559 2010-03-27  Bruno Haible  <bruno@clisp.org>
33560
33561         Distinguish two kinds of module indicators.
33562         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
33563         gl_MODULE_INDICATOR.
33564         (gl_MODULE_INDICATOR): New macro.
33565         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33566         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
33567         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
33568         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
33569         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
33570         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
33571         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
33572         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
33573         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
33574         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
33575         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
33576         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
33577         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
33578         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
33579         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
33580         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
33581         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
33582         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
33583         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
33584         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
33585         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
33586         * modules/cloexec (configure.ac): Likewise.
33587         * modules/getopt-gnu (configure.ac): Likewise.
33588         * modules/uninorm/u8-normalize (configure.ac): Likewise.
33589         * modules/uninorm/u16-normalize (configure.ac): Likewise.
33590         * modules/uninorm/u32-normalize (configure.ac): Likewise.
33591         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
33592
33593 2010-03-27  Bruno Haible  <bruno@clisp.org>
33594
33595         New module description field 'Comment'.
33596         * gnulib-tool: New option --extract-comment.
33597         (func_usage): Document it.
33598         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
33599         (func_get_comment): New function.
33600         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
33601
33602 2010-03-27  Bruno Haible  <bruno@clisp.org>
33603
33604         Addendum to 2010-02-07 commit.
33605         * gnulib-tool (func_usage): Document --extract-applicability option.
33606
33607 2010-03-27  Bruno Haible  <bruno@clisp.org>
33608
33609         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
33610         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
33611         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
33612         rather than link errors.
33613
33614 2010-03-27  Bruno Haible  <bruno@clisp.org>
33615
33616         Avoid side effects from tests-related modules on the compilation of lib.
33617         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
33618         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
33619         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
33620         parameter. Emit into AM_CPPFLAGS a definition of the designated C
33621         macro.
33622         (func_import): Define a witness macro. Assign it a value that depends
33623         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
33624         tests-related modules.
33625         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
33626         Reported by Jim Meyering.
33627
33628 2010-03-27  Bruno Haible  <bruno@clisp.org>
33629
33630         Factorize common .m4 code.
33631         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
33632         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
33633         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
33634         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
33635         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
33636         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
33637         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
33638         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
33639         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
33640         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
33641         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
33642         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
33643         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
33644         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
33645         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
33646         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
33647         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
33648         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
33649         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
33650         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
33651         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
33652         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
33653         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
33654         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
33655         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
33656         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
33657         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
33658         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
33659         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
33660         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
33661         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
33662         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
33663
33664 2010-03-27  Bruno Haible  <bruno@clisp.org>
33665
33666         Fix a compilation error on Cygwin with g++ >= 4.3.
33667         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
33668         if it is undefined or if we alias it to chmod.
33669         (lstat): Don't warn about the use of this function if it is undefined
33670         or if we alias it to stat.
33671         Reported by Simon Josefsson.
33672
33673 2010-03-27  Bruno Haible  <bruno@clisp.org>
33674
33675         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
33676         * modules/getlogin (configure.ac): Update.
33677
33678         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
33679         * modules/getlogin_r (configure.ac): Update.
33680
33681         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
33682         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
33683         * modules/inet_ntop (configure.ac): Update.
33684
33685         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
33686         * modules/inet_pton (configure.ac): Update.
33687
33688         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
33689         * modules/mbslen (configure.ac): Update.
33690
33691         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
33692         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
33693         * modules/forkpty (configure.ac): Update.
33694         * modules/openpty (configure.ac): Update.
33695
33696 2010-03-26  Simon Josefsson  <simon@josefsson.org>
33697
33698         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
33699         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
33700
33701 2010-03-25  Eric Blake  <eblake@redhat.com>
33702
33703         maint: use pragma consistently across replacement headers
33704         * lib/ctype.in.h (system_header): Hoist for consistent placement.
33705         * lib/dirent.in.h (system_header): Likewise.
33706         * lib/errno.in.h (system_header): Likewise.
33707         * lib/float.in.h (system_header): Likewise.
33708         * lib/getopt.in.h (system_header): Likewise.
33709         * lib/iconv.in.h (system_header): Likewise.
33710         * lib/inttypes.in.h (system_header): Likewise.
33711         * lib/langinfo.in.h (system_header): Likewise.
33712         * lib/locale.in.h (system_header): Likewise.
33713         * lib/math.in.h (system_header): Likewise.
33714         * lib/netdb.in.h (system_header): Likewise.
33715         * lib/netinet_in.in.h (system_header): Likewise.
33716         * lib/pty.in.h (system_header): Likewise.
33717         * lib/sched.in.h (system_header): Likewise.
33718         * lib/se-selinux.in.h (system_header): Likewise.
33719         * lib/search.in.h (system_header): Likewise.
33720         * lib/spawn.in.h (system_header): Likewise.
33721         * lib/stdarg.in.h (system_header): Likewise.
33722         * lib/stdint.in.h (system_header): Likewise.
33723         * lib/string.in.h (system_header): Likewise.
33724         * lib/strings.in.h (system_header): Likewise.
33725         * lib/sys_file.in.h (system_header): Likewise.
33726         * lib/sys_ioctl.in.h (system_header): Likewise.
33727         * lib/sys_socket.in.h (system_header): Likewise.
33728         * lib/sys_times.in.h (system_header): Likewise.
33729         * lib/sys_utsname.in.h (system_header): Likewise.
33730         * lib/sys_wait.in.h (system_header): Likewise.
33731         * lib/sysexits.in.h (system_header): Likewise.
33732         * lib/unistd.in.h (system_header): Likewise.
33733         * lib/wctype.in.h (system_header): Likewise.
33734
33735         arpa/inet: fix mingw compilation warning
33736         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
33737         Reported by Matthew Bolte.
33738
33739 2010-03-25  Bruno Haible  <bruno@clisp.org>
33740
33741         Avoid collision between gnulib wrapper and libintl wrapper.
33742         * lib/printf.c (printf): Don't define if a printf wrapper is already
33743         defined in intl/printf.c.
33744         Reported by Michel Boaventura <michel@michelboaventura.com>.
33745
33746 2010-03-25  Bruno Haible  <bruno@clisp.org>
33747
33748         Use ANSI C.
33749         * lib/readutmp.h (getutent): Provide ANSI C prototype.
33750
33751 2010-03-25  Bruno Haible  <bruno@clisp.org>
33752
33753         Minor formatting changes.
33754         * lib/acosl.c: Insert space before function argument list.
33755         * lib/argz.c: Likewise.
33756         * lib/asinl.c: Likewise.
33757         * lib/expl.c: Likewise.
33758         * lib/gen-uni-tables.c: Likewise.
33759         * lib/gettext.h: Likewise.
33760         * lib/glthread/lock.h: Likewise.
33761         * lib/tanl.c: Likewise.
33762         * lib/uniname/uniname.c: Likewise.
33763         * tests/test-idpriv-drop.c: Likewise.
33764         * tests/test-idpriv-droptemp.c: Likewise.
33765         * tests/test-lock.c: Likewise.
33766         * tests/test-tls.c: Likewise.
33767         * lib/argp-help.c: Insert space before function-like macro argument
33768         list.
33769         * lib/memcmp.c: Likewise.
33770         * tests/test-base64.c: Likewise.
33771         * lib/localename.c: Insert space before sizeof's argument list.
33772         * lib/safe-alloc.h: Likewise.
33773         * lib/file-set.h: Insert space before macro argument list.
33774         * tests/test-argp.c: Likewise.
33775         * lib/argp-namefrob.h: Insert space before function parameter list.
33776         * lib/getaddrinfo.c: Likewise.
33777         * lib/netdb.in.h: Likewise.
33778         * lib/parse-duration.h: Likewise.
33779         * lib/parse-duration.c: Likewise.
33780         * lib/poll.c: Likewise.
33781         * lib/select.c: Likewise.
33782         * lib/trim.h: Likewise.
33783         * tests/test-usleep.c: Likewise.
33784         * lib/ldexpl.c: Insert space before function parameter list and before
33785         function argument list.
33786         * lib/logl.c: Likewise.
33787         * lib/sqrtl.c: Likewise.
33788         * lib/trim.c: Likewise.
33789         * lib/cosl.c: Use GNU style indentation. Insert space before function
33790         argument list.
33791         * lib/sinl.c: Likewise.
33792         * lib/tsearch.c: Insert space after 'for'.
33793         Reported by Jim Meyering.
33794
33795 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
33796
33797         * maint.mk (sc_Wundef_boolean): Check for the presence of the
33798         config header before grepping, as it's not present before
33799         autoreconf/configure are run.  Reported by Simon Josefsson.
33800
33801 2010-03-23  Bruno Haible  <bruno@clisp.org>
33802
33803         pt_chown: Make it work with automake < 1.11.
33804         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
33805         Reported by Simon Josefsson.
33806
33807 2010-03-23  Bruno Haible  <bruno@clisp.org>
33808
33809         pt_chown: Don't depend on GPLed modules.
33810         * lib/pt_chown.c: Don't include idpriv.h.
33811         (main): Don't drop privileges.
33812         * modules/pt_chown (Depends-on): Remove idpriv-drop.
33813         Reported by Simon Josefsson.
33814
33815 2010-03-24  Simon Josefsson  <simon@josefsson.org>
33816
33817         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
33818         suggestions from karl@freefriends.org (Karl Berry).
33819
33820 2010-03-22  Eric Blake  <eblake@redhat.com>
33821
33822         gethostname: further tweaks
33823         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
33824         are overriding gethostname.
33825         Suggested by Bruno Haible.
33826
33827 2010-03-21  Bruno Haible  <bruno@clisp.org>
33828
33829         Fix comments.
33830         * lib/forkpty.c (rpl_forkpty): Fix comment.
33831         * lib/openpty.c (rpl_openpty): Likewise.
33832         Reported by Eric Blake.
33833
33834 2010-03-22  Eric Blake  <eblake@redhat.com>
33835
33836         gethostname: fix build on mingw
33837         * lib/unistd.in.h (includes): Work around fact that mingw
33838         <winsock2.h> re-includes <unistd.h>, by avoiding any
33839         redeclarations if we are being included by <winsock2.h>.
33840         Reported by Matthias Bolte.
33841
33842 2010-03-21  Bruno Haible  <bruno@clisp.org>
33843
33844         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33845         * lib/forkpty.c (forkpty): New replacement function, from glibc with
33846         modifications.
33847         * lib/pty.in.h (forkpty): Update declaration. Add comments.
33848         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
33849         provide the replacement.
33850         * modules/forkpty (Depends-on): Add openpty, login_tty.
33851         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
33852         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
33853         * doc/glibc-functions/forkpty.texi: More supported platforms.
33854         * config/srclist.txt: Add forkpty.c (commented).
33855
33856 2010-03-21  Bruno Haible  <bruno@clisp.org>
33857
33858         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
33859         (Makefile.am): Verify that PTY_LIB is defined.
33860
33861         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
33862
33863 2010-03-21  Bruno Haible  <bruno@clisp.org>
33864
33865         Tests for module 'login_tty'.
33866         * modules/login_tty-tests: New file.
33867         * tests/test-login_tty.c: New file.
33868
33869         New module 'login_tty'.
33870         * lib/login_tty.c: New file.
33871         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
33872         * modules/login_tty: New file.
33873         * doc/glibc-functions/login_tty.texi: Mention the new module.
33874
33875 2010-03-21  Bruno Haible  <bruno@clisp.org>
33876
33877         login_tty: Documentation.
33878         * doc/glibc-functions/login_tty.texi: New file.
33879         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
33880
33881 2010-03-21  Bruno Haible  <bruno@clisp.org>
33882
33883         pty: Consistent macro naming.
33884         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
33885         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
33886         * modules/pty (configure.ac): Update.
33887
33888 2010-03-21  Bruno Haible  <bruno@clisp.org>
33889
33890         Tests for openpty: Make stricter.
33891         * tests/test-openpty.c (main): Add test of canonical processing and
33892         erase.
33893         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
33894
33895         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33896         * lib/openpty.c (openpty): New replacement function.
33897         * lib/pty.in.h: Include <termios.h>.
33898         (openpty): Update declaration. Add comments.
33899         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
33900         is not declared, arrange to provide the replacement. Check for _getpty
33901         and posix_openpt.
33902         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
33903         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
33904         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
33905         * modules/pty-tests (test_pty_c___LDADD): New variable.
33906         * doc/glibc-functions/openpty.texi: More supported platforms.
33907
33908 2010-03-21  Bruno Haible  <bruno@clisp.org>
33909
33910         setenv: Tweaks.
33911         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
33912         the test program.
33913         * doc/posix-functions/setenv.texi: Update platforms list.
33914
33915 2010-03-21  Bruno Haible  <bruno@clisp.org>
33916
33917         New module 'unlockpt'.
33918         * lib/unlockpt.c: New file, from glibc with modifications.
33919         * m4/unlockpt.m4: New file.
33920         * modules/unlockpt: New file.
33921         * lib/stdlib.in.h (unlockpt): New declaration.
33922         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
33923         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
33924         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
33925         HAVE_UNLOCKPT.
33926         * doc/posix-functions/unlockpt.texi: Mention the new module.
33927         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
33928         * config/srclist.txt: Add unlockpt.c (commented).
33929
33930 2010-03-21  Jim Meyering  <meyering@redhat.com>
33931
33932         maint.mk: prohibit inclusion of "intprops.h" without use
33933         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
33934
33935 2010-03-21  Bruno Haible  <bruno@clisp.org>
33936
33937         New module 'grantpt'.
33938         * lib/grantpt.c: New file, from glibc with modifications.
33939         * m4/grantpt.m4: New file.
33940         * modules/grantpt: New file.
33941         * lib/stdlib.in.h (grantpt): New declaration.
33942         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
33943         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
33944         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
33945         HAVE_GRANTPT.
33946         * doc/posix-functions/grantpt.texi: Mention the new module.
33947         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
33948         * config/srclist.txt: Add grantpt.c (commented).
33949
33950 2010-03-21  Bruno Haible  <bruno@clisp.org>
33951
33952         New module 'pt_chown'.
33953         * lib/pt_chown.c: New file, from glibc with modifications.
33954         * lib/pty-private.h: New file, from glibc with modifications.
33955         * modules/pt_chown: New file.
33956         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
33957
33958 2010-03-21  Bruno Haible  <bruno@clisp.org>
33959
33960         Tests for module 'ptsname'.
33961         * modules/ptsname-tests: New file.
33962         * tests/test-ptsname.c: New file.
33963
33964         New module 'ptsname'.
33965         * lib/ptsname.c: New file, from glibc with modifications.
33966         * m4/ptsname.m4: New file.
33967         * modules/ptsname: New file.
33968         * lib/stdlib.in.h (ptsname): New declaration.
33969         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
33970         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
33971         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
33972         HAVE_PTSNAME.
33973         * doc/posix-functions/ptsname.texi: Mention the new module.
33974         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
33975         * config/srclist.txt: Add ptsname.c (commented).
33976
33977 2010-03-21  Bruno Haible  <bruno@clisp.org>
33978
33979         Tests for module 'ttyname_r'.
33980         * modules/ttyname_r-tests: New file.
33981         * tests/test-ttyname_r.c: New file.
33982
33983         New module 'ttyname_r'.
33984         * lib/ttyname_r.c: New file.
33985         * m4/ttyname_r.m4: New file.
33986         * modules/ttyname_r: New file.
33987         * lib/unistd.in.h (ttyname_r): New declaration.
33988         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
33989         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
33990         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
33991         HAVE_TTYNAME_R.
33992         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
33993         * doc/posix-functions/ttyname_r.texi: Mention the new module.
33994
33995 2010-03-20  Bruno Haible  <bruno@clisp.org>
33996
33997         signal: Undefine macro definitions in C++ mode.
33998         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
33999         sigfillset): Undefine macro definitions from the system header in C++
34000         mode.
34001         Reported by John W. Eaton <jwe@gnu.org>.
34002
34003 2010-03-20  Bruno Haible  <bruno@clisp.org>
34004
34005         Ensure no #include statements inside extern "C" { ... }.
34006         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
34007         contain #include statements.
34008         * lib/time.in.h: Likewise.
34009
34010 2010-03-20  Bruno Haible  <bruno@clisp.org>
34011
34012         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
34013         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
34014         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
34015         Reported by John W. Eaton <jwe@gnu.org>.
34016
34017 2010-03-20  Bruno Haible  <bruno@clisp.org>
34018
34019         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
34020         Reported by Jim Meyering.
34021
34022 2010-03-20  Bruno Haible  <bruno@clisp.org>
34023
34024         pipe: Set errno upon failure.
34025         * lib/pipe.h: Specify that when -1 is returned, errno is set.
34026         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
34027         errno value in error message.
34028
34029 2010-03-20  Bruno Haible  <bruno@clisp.org>
34030             Jim Meyering  <meyering@redhat.com>
34031
34032         lchown: Avoid "unused variable" warning.
34033         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
34034
34035 2010-03-20  Bruno Haible  <bruno@clisp.org>
34036
34037         Work around unlink() bug on MacOS X 10.5.6.
34038         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
34039         attempting to unlink a parent directory.
34040         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
34041         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
34042         activate for the replacement function.
34043         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
34044
34045 2010-03-20  Bruno Haible  <bruno@clisp.org>
34046
34047         Fix link errors on Solaris 8.
34048         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
34049         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
34050
34051 2010-03-19  Jim Meyering  <meyering@redhat.com>
34052
34053         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
34054         The _LIBC implementation of build_range_exp correctly honors the
34055         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
34056         However, the non-_LIBC implementation would ignore that syntax-bit
34057         flag and return REG_ERANGE unconditionally.
34058         This change makes it honor that flag.
34059         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
34060         Make two pointer parameters "const".
34061         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
34062         (parse_bracket_exp): Update caller.
34063
34064         regex.m4: correct the reversed range endpoint ([b-a]) test
34065         * m4/regex.m4: When requiring that [b-a] evoke failure,
34066         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
34067         test pass once again for x86-based systems.
34068
34069 2010-03-19  Bruno Haible  <bruno@clisp.org>
34070
34071         scandir: Fix link error on Solaris 8.
34072         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
34073         macros.
34074
34075 2010-03-19  Bruno Haible  <bruno@clisp.org>
34076
34077         getusershell: Fix documentation.
34078         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
34079         module.
34080         * doc/glibc-functions/setusershell.texi: Likewise.
34081
34082         getusershell: Provide declaration, missing on Solaris 9.
34083         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
34084         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
34085         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
34086         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
34087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34088         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
34089         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
34090         HAVE_GETUSERSHELL.
34091         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
34092
34093 2010-03-19  Bruno Haible  <bruno@clisp.org>
34094
34095         wctype: Provide iswblank function.
34096         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
34097         exists and is fine.
34098         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
34099         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
34100         * tests/test-wctype.c (main): Re-enable the iswblank tests.
34101         * doc/posix-functions/iswblank.texi: Update.
34102
34103 2010-03-19  Bruno Haible  <bruno@clisp.org>
34104
34105         Tests of module 'pty' in C++ mode.
34106         * modules/pty-tests: New file.
34107         * tests/test-pty-c++.cc: New file.
34108         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34109
34110 2010-03-19  Eric Blake  <eblake@redhat.com>
34111
34112         logb: fix documentation
34113         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
34114         1.5 declaration bug.
34115
34116         forkpty, openpty: prefer glibc's const-safe prototype
34117         * lib/forkpty.c (rpl_forkpty): New file.
34118         * lib/openpty.c (rpl_openpty): Likewise.
34119         * modules/forkpty (Files): Distribute it.
34120         * modules/openpty (Files): Likewise.
34121         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
34122         check...
34123         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
34124         replacement for for non-const BSD signature.
34125         * modules/pty (Makefile.am): Substitute witnesses.
34126         * lib/pty.in.h (forkpty, openpty): Declare replacements.
34127         * tests/test-forkpty.c: Update signature check.
34128         * tests/test-openpty.c: Likewise.
34129         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
34130         * doc/glibc-functions/openpty.texi (openpty): Likewise.
34131
34132         forkpty, openpty: split functions into new modules
34133         * modules/pty (Makefile.am): Substitute new witnesses.
34134         (Libraries): Move library detection...
34135         * modules/forkpty: ...into new module.
34136         * modules/openpty: Another new module.
34137         * modules/pty-tests: Rename and split...
34138         * modules/forkpty-tests: ...to this...
34139         * modules/openpty-tests: ...and this.
34140         * tests/test-pty.c: Rename and split...
34141         * tests/test-forkpty.c: ...to this...
34142         * tests/test-openpty.c: ...and this.
34143         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
34144         (gl_PTY): Split library searching...
34145         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
34146         (gl_FORKPTY, gl_OPENPTY): New macros.
34147         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
34148         * NEWS: Mention the split.
34149         * MODULES.html.sh (Misc): Document the modules.
34150         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
34151         * doc/glibc-functions/openpty.texi (openpty): Likewise.
34152
34153         pty: improve replacement header
34154         * lib/pty.in.h: New file.
34155         * modules/pty (Files): Ship it.
34156         (Makefile.am): Always build replacement.
34157         * m4/pty.m4: Rename...
34158         * m4/pty_h.m4: ...to this.
34159         (gl_PTY): Modernize setting of witness macros; update check of
34160         forkpty to take proper advantage of cache.
34161         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
34162
34163         getopt: avoid compiler warning
34164         * lib/getopt.c (attribute_hidden): Remove unused macro.
34165
34166 2010-03-18  Bruno Haible  <bruno@clisp.org>
34167
34168         Fix link errors on Solaris 8.
34169         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
34170         * modules/search-tests (test_search_c___LDADD): Likewise.
34171         * modules/signal-tests (test_signal_c___LDADD): Likewise.
34172         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
34173         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
34174         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
34175         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
34176         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
34177         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
34178
34179 2010-03-18  Bruno Haible  <bruno@clisp.org>
34180
34181         Fix bug introduced on 2010-03-14.
34182         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
34183         (gl_SPAWN_H): Require it.
34184         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
34185         Reported by Simon Josefsson.
34186
34187 2010-03-18  Bruno Haible  <bruno@clisp.org>
34188
34189         Fix typo introduced on 2009-12-31.
34190         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
34191         posix_spawn_file_actions_adddup2.
34192
34193 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
34194         and Eric Blake  <eblake@redhat.com>
34195
34196         test-vc-list-files-git: make more robust
34197         * tests/test-vc-list-files-git.sh: Unset problematic environment
34198         variables.  Chain commands together.
34199
34200 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
34201
34202         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
34203         `AC_CHECK_DECL' invocation.
34204
34205 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
34206
34207         * lib/inttostr.c (inttostr): Make sure the invocation of verify
34208         appears before executable statements. Suggested by Petr Sumbera
34209         <Petr.Sumbera@Sun.COM>.
34210
34211 2010-03-14  Bruno Haible  <bruno@clisp.org>
34212
34213         * tests/test-flock.c (test_exclusive): Comment out a test that causes
34214         portability problems. Instead use a simpler test.
34215         (main): Check that invalid arguments are rejected only on Linux.
34216
34217 2010-03-14  Bruno Haible  <bruno@clisp.org>
34218
34219         Fix bug introduced on 2009-12-31.
34220         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34221         gl_PREREQ_SYS_H_WINSOCK2 always.
34222         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
34223         SYS_SOCKET_H variable.
34224         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
34225         Update comments.
34226         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
34227         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34228         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34229         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34230         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
34231
34232 2010-03-14  Bruno Haible  <bruno@clisp.org>
34233
34234         Fix values returned by sinl, cosl.
34235         * lib/trigl.h: Add specification comments.
34236         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
34237         that combines the values from the precomputed table with the values of
34238         the Chebyshev polynomials.
34239
34240 2010-03-14  Bruno Haible  <bruno@clisp.org>
34241
34242         Fix compilation error when modules 'posix_spawn[p]' are not used.
34243         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
34244         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
34245
34246 2010-03-14  Bruno Haible  <bruno@clisp.org>
34247
34248         Fix compilation error on mingw when module 'time_r' is not used.
34249         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
34250         is 1.
34251         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
34252         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
34253         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
34254         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
34255
34256 2010-03-14  Bruno Haible  <bruno@clisp.org>
34257
34258         Fix compilation error with Sun C.
34259         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
34260         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
34261         instead of GCC specific ULONG_LONG_MAX.
34262         * lib/xstrtoll.c: Likewise.
34263         * lib/xstrtoull.c: Likewise.
34264
34265 2010-03-13  Bruno Haible  <bruno@clisp.org>
34266
34267         Allow the user to disable C++ code and tests.
34268         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
34269         (gl_PROG_ANSI_CXX): Require it.
34270
34271 2010-03-13  Bruno Haible  <bruno@clisp.org>
34272
34273         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
34274         cases.
34275
34276 2010-03-13  Bruno Haible  <bruno@clisp.org>
34277
34278         Test that gnulib does not break the standard C++ headers.
34279         * tests/test-locale-c++2.cc: New file.
34280         * modules/locale-tests (Files): Add it.
34281         (Makefile.am): Compile it for test-locale-c++.
34282         * tests/test-math-c++2.cc: New file.
34283         * modules/math-tests (Files): Add it.
34284         (Makefile.am): Compile it for test-math-c++.
34285         * tests/test-signal-c++2.cc: New file.
34286         * modules/signal-tests (Files): Add it.
34287         (Makefile.am): Compile it for test-signal-c++.
34288         * tests/test-stdio-c++2.cc: New file.
34289         * modules/stdio-tests (Files): Add it.
34290         (Makefile.am): Compile it for test-stdio-c++.
34291         * tests/test-stdlib-c++2.cc: New file.
34292         * modules/stdlib-tests (Files): Add it.
34293         (Makefile.am): Compile it for test-stdlib-c++.
34294         * tests/test-string-c++2.cc: New file.
34295         * modules/string-tests (Files): Add it.
34296         (Makefile.am): Compile it for test-string-c++.
34297         * tests/test-time-c++2.cc: New file.
34298         * modules/time-tests (Files): Add it.
34299         (Makefile.am): Compile it for test-time-c++.
34300         Reported by John W. Eaton <jwe@gnu.org>.
34301
34302 2010-03-13  Bruno Haible  <bruno@clisp.org>
34303
34304         * gnulib-tool (func_usage): Clarify which options are available for
34305         --create-testdir and --create-megatestdir.
34306
34307 2010-03-13  Bruno Haible  <bruno@clisp.org>
34308
34309         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
34310         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
34311         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
34312         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
34313         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
34314         when appropriate.
34315         Reported by Jim Meyering.
34316
34317 2010-03-12  Simon Josefsson  <simon@josefsson.org>
34318
34319         * gnulib-tool (func_import): Explain origin of code.
34320
34321 2010-03-12  Bruno Haible  <bruno@clisp.org>
34322
34323         Fix problem with automake's definition of CXXLINK.
34324         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
34325         Reported by Simon Josefsson and Ludovic Courtès.
34326
34327 2010-03-12  Bruno Haible  <bruno@clisp.org>
34328
34329         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
34330         stable releases.
34331
34332 2010-03-11  Bruno Haible  <bruno@clisp.org>
34333
34334         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
34335         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
34336         whether the system provides one variant or multiple variants of the
34337         function.
34338         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
34339         C++ compilers.
34340         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
34341         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
34342         Reported by Jim Meyering.
34343
34344 2010-03-09  Simon Josefsson  <simon@josefsson.org>
34345
34346         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
34347
34348 2010-03-08  Bruno Haible  <bruno@clisp.org>
34349
34350         gnulib-tool: Add support for --libtool in --create-testdir.
34351         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
34352         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
34353
34354 2010-03-08  Eric Blake  <eblake@redhat.com>
34355
34356         gnulib-tool.texi: mention possibility of git submodule
34357         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
34358         submodules.
34359         * doc/.gitignore: Ignore another generated file.
34360
34361 2010-03-08  Karl Berry  <karl@gnu.org>
34362
34363         * doc/gnulib-tool.texi (VCS Issues): Mention third option
34364         of committing gnulib files while skipping others.
34365
34366 2010-03-07  Bruno Haible  <bruno@clisp.org>
34367
34368         Tests of module 'wctype' in C++ mode.
34369         * tests/test-wctype-c++.cc: New file.
34370         * modules/wctype-tests (Files): Add it and tests/signature.h.
34371         (Depends-on): Add ansi-c++-opt.
34372         (Makefile.am): Arrange to compile and run test-wctype-c++.
34373
34374         Tests of module 'wchar' in C++ mode.
34375         * tests/test-wchar-c++.cc: New file.
34376         * modules/wchar-tests (Files): Add it and tests/signature.h.
34377         (Depends-on): Add ansi-c++-opt.
34378         (Makefile.am): Arrange to compile and run test-wchar-c++.
34379         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
34380         gl_MODULE_INDICATOR.
34381
34382         Tests of module 'unistd' in C++ mode.
34383         * tests/test-unistd-c++.cc: New file.
34384         * modules/unistd-tests (Files): Add it and tests/signature.h.
34385         (Depends-on): Add ansi-c++-opt.
34386         (Makefile.am): Arrange to compile and run test-unistd-c++.
34387         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
34388         gl_MODULE_INDICATOR.
34389
34390         Tests of module 'time' in C++ mode.
34391         * tests/test-time-c++.cc: New file.
34392         * modules/time-tests (Files): Add it and tests/signature.h.
34393         (Depends-on): Add ansi-c++-opt.
34394         (Makefile.am): Arrange to compile and run test-time-c++.
34395         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34396
34397         Tests of module 'sys_time' in C++ mode.
34398         * tests/test-sys_time-c++.cc: New file.
34399         * modules/sys_time-tests (Files): Add it and tests/signature.h.
34400         (Depends-on): Add ansi-c++-opt.
34401         (Makefile.am): Arrange to compile and run test-sys_time-c++.
34402         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
34403         gl_MODULE_INDICATOR.
34404
34405         Tests of module 'sys_stat' in C++ mode.
34406         * tests/test-sys_stat-c++.cc: New file.
34407         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
34408         (Depends-on): Add ansi-c++-opt.
34409         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
34410         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
34411         gl_MODULE_INDICATOR.
34412
34413         Tests of module 'sys_socket' in C++ mode.
34414         * tests/test-sys_socket-c++.cc: New file.
34415         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
34416         (Depends-on): Add ansi-c++-opt.
34417         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
34418         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
34419         gl_MODULE_INDICATOR.
34420
34421         Tests of module 'sys_select' in C++ mode.
34422         * tests/test-sys_select-c++.cc: New file.
34423         * modules/sys_select-tests (Files): Add it and tests/signature.h.
34424         (Depends-on): Add ansi-c++-opt.
34425         (Makefile.am): Arrange to compile and run test-sys_select-c++.
34426         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
34427         gl_MODULE_INDICATOR.
34428
34429         Tests of module 'sys_ioctl' in C++ mode.
34430         * tests/test-sys_ioctl-c++.cc: New file.
34431         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
34432         (Depends-on): Add ansi-c++-opt.
34433         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
34434         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
34435         gl_MODULE_INDICATOR.
34436
34437         Tests of module 'string' in C++ mode.
34438         * tests/test-string-c++.cc: New file.
34439         * modules/string-tests (Files): Add it and tests/signature.h.
34440         (Depends-on): Add ansi-c++-opt.
34441         (Makefile.am): Arrange to compile and run test-string-c++.
34442         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
34443         gl_MODULE_INDICATOR.
34444
34445         Tests of module 'stdlib' in C++ mode.
34446         * tests/test-stdlib-c++.cc: New file.
34447         * modules/stdlib-tests (Files): Add it and tests/signature.h.
34448         (Depends-on): Add ansi-c++-opt.
34449         (Makefile.am): Arrange to compile and run test-stdlib-c++.
34450         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
34451         gl_MODULE_INDICATOR.
34452
34453         Tests of module 'stdio' in C++ mode.
34454         * tests/test-stdio-c++.cc: New file.
34455         * modules/stdio-tests (Files): Add it and tests/signature.h.
34456         (Depends-on): Add ansi-c++-opt.
34457         (Makefile.am): Arrange to compile and run test-stdio-c++.
34458         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
34459         gl_MODULE_INDICATOR.
34460
34461         Tests of module 'spawn' in C++ mode.
34462         * tests/test-spawn-c++.cc: New file.
34463         * modules/spawn-tests (Files): Add it and tests/signature.h.
34464         (Depends-on): Add ansi-c++-opt.
34465         (Makefile.am): Arrange to compile and run test-spawn-c++.
34466         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
34467         gl_MODULE_INDICATOR.
34468
34469         Tests of module 'signal' in C++ mode.
34470         * tests/test-signal-c++.cc: New file.
34471         * modules/signal-tests (Files): Add it and tests/signature.h.
34472         (Depends-on): Add ansi-c++-opt.
34473         (Makefile.am): Arrange to compile and run test-signal-c++.
34474         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
34475         gl_MODULE_INDICATOR.
34476
34477         Tests of module 'search' in C++ mode.
34478         * tests/test-search-c++.cc: New file.
34479         * modules/search-tests (Files): Add it and tests/signature.h.
34480         (Depends-on): Add ansi-c++-opt.
34481         (Makefile.am): Arrange to compile and run test-search-c++.
34482         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
34483         gl_MODULE_INDICATOR.
34484
34485         Tests of module 'math' in C++ mode.
34486         * tests/test-math-c++.cc: New file.
34487         * modules/math-tests (Files): Add it and tests/signature.h.
34488         (Depends-on): Add ansi-c++-opt.
34489         (Makefile.am): Arrange to compile and run test-math-c++.
34490         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34491
34492         Tests of module 'locale' in C++ mode.
34493         * tests/test-locale-c++.cc: New file.
34494         * modules/locale-tests (Files): Add it and tests/signature.h.
34495         (Depends-on): Add ansi-c++-opt.
34496         (Makefile.am): Arrange to compile and run test-locale-c++.
34497         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
34498         gl_MODULE_INDICATOR.
34499
34500         Tests of module 'langinfo' in C++ mode.
34501         * tests/test-langinfo-c++.cc: New file.
34502         * modules/langinfo-tests (Files): Add it and tests/signature.h.
34503         (Depends-on): Add ansi-c++-opt.
34504         (Makefile.am): Arrange to compile and run test-langinfo-c++.
34505         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
34506         gl_MODULE_INDICATOR.
34507
34508         Tests of module 'iconv-h' in C++ mode.
34509         * tests/test-iconv-h-c++.cc: New file.
34510         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
34511         (Depends-on): Add ansi-c++-opt.
34512         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
34513
34514         Tests of module 'glob' in C++ mode.
34515         * tests/test-glob-c++.cc: New file.
34516         * modules/glob-tests (Files): Add it.
34517         (Depends-on): Add ansi-c++-opt.
34518         (Makefile.am): Arrange to compile and run test-glob-c++.
34519
34520         Tests of module 'fcntl-h' in C++ mode.
34521         * tests/test-fcntl-h-c++.cc: New file.
34522         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
34523         (Depends-on): Add ansi-c++-opt.
34524         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
34525         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
34526         gl_MODULE_INDICATOR.
34527
34528         Tests of module 'dirent' in C++ mode.
34529         * tests/test-dirent-c++.cc: New file.
34530         * modules/dirent-tests (Files): Add it and tests/signature.h.
34531         (Depends-on): Add ansi-c++-opt.
34532         (Makefile.am): Arrange to compile and run test-dirent-c++.
34533         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
34534         gl_MODULE_INDICATOR.
34535
34536         New module 'ansi-c++-opt'.
34537         * modules/ansi-c++-opt: New file.
34538         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
34539
34540         Document C++ namespace mode.
34541         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
34542
34543         wctype: Avoid #define replacements in C++ mode.
34544         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
34545         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
34546         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
34547         In C++, define a namespaced alias symbol.
34548         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
34549         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
34550         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
34551         rule.
34552
34553         wchar: Avoid #define replacements in C++ mode.
34554         * lib/wchar.in.h: Include c++defs.h.
34555         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
34556         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
34557         symbol.
34558         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
34559         * modules/wchar (Depends-on): Add c++defs.
34560         (Makefile.am): Update wchar.h rule.
34561
34562         unistd: Avoid #define replacements in C++ mode.
34563         * lib/unistd.in.h: Include c++defs.h.
34564         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
34565         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
34566         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
34567         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
34568         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
34569         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
34570         symbol.
34571         (environ): Update.
34572         * modules/unistd (Depends-on): Add c++defs.
34573         (Makefile.am): Update unistd.h rule.
34574
34575         time: Avoid #define replacements in C++ mode.
34576         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
34577         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
34578         define a namespaced alias symbol.
34579         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
34580         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
34581         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
34582         * modules/time (Depends-on): Add c++defs, warn-on-use.
34583         (Makefile.am): Update time.h rule.
34584         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
34585         * modules/nanosleep (configure.ac): Likewise.
34586         * modules/strptime (configure.ac): Likewise.
34587         * modules/timegm (configure.ac): Likewise.
34588
34589         sys_time: Avoid #define replacements in C++ mode.
34590         * lib/sys_time.in.h: Include c++defs.h.
34591         (gettimeofday): In C++, define a namespaced alias symbol.
34592         * modules/sys_time (Depends-on): Add c++defs.
34593         (Makefile.am): Update sys/time.h rule.
34594
34595         sys_stat: Avoid #define replacements in C++ mode.
34596         * lib/sys_stat.in.h: Include c++defs.h.
34597         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
34598         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
34599         namespaced alias symbol.
34600         In C++, define a namespaced alias symbol.
34601         * modules/sys_stat (Depends-on): Add c++defs.
34602         (Makefile.am): Update sys/stat.h rule.
34603
34604         sys_socket: Avoid #define replacements in C++ mode.
34605         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
34606         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
34607         definitions also when the system has a <sys/socket.h>.
34608         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
34609         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
34610         In C++, define a namespaced alias symbol.
34611         * modules/sys_socket (Depends-on): Add c++defs.
34612         (Makefile.am): Update sys/socket.h rule.
34613
34614         sys_select: Avoid #define replacements in C++ mode.
34615         * lib/sys_select.in.h: Include c++defs.h. Enable the function
34616         definitions also when the system has a <sys/select.h>.
34617         (select): In C++, define a namespaced alias symbol.
34618         * modules/sys_select (Depends-on): Add c++defs.
34619         (Makefile.am): Update sys/select.h rule.
34620
34621         sys_ioctl: Avoid #define replacements in C++ mode.
34622         * lib/sys_ioctl.in.h: Include c++defs.h.
34623         (ioctl): In C++, define a namespaced alias symbol.
34624         * modules/sys_ioctl (Depends-on): Add c++defs.
34625         (Makefile.am): Update sys/ioctl.h rule.
34626
34627         string: Avoid #define replacements in C++ mode.
34628         * lib/string.in.h: Include c++defs.h.
34629         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
34630         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
34631         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
34632         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
34633         strsignal, strverscmp): In C++, define a namespaced alias symbol.
34634         * modules/string (Depends-on): Add c++defs.
34635         (Makefile.am): Update string.h rule.
34636
34637         stdlib: Avoid #define replacements in C++ mode.
34638         * lib/stdlib.in.h: Include c++defs.h.
34639         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
34640         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
34641         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
34642         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
34643         symbol.
34644         * modules/stdlib (Depends-on): Add c++defs.
34645         (Makefile.am): Update stdlib.h rule.
34646
34647         stdio: Avoid #define replacements in C++ mode.
34648         * lib/stdio.in.h: Include c++defs.h.
34649         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
34650         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
34651         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
34652         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
34653         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
34654         namespaced alias symbol.
34655         * modules/stdio (Depends-on): Add c++defs.
34656         (Makefile.am): Update stdio.h rule.
34657
34658         spawn: Avoid #define replacements in C++ mode.
34659         * lib/spawn.in.h: Include c++defs.h.
34660         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34661         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34662         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34663         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34664         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34665         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34666         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34667         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34668         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34669         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34670         In C++, define a namespaced alias symbol.
34671         * modules/spawn (Depends-on): Add c++defs.
34672         (Makefile.am): Update spawn.h rule.
34673
34674         signal: Avoid #define replacements in C++ mode.
34675         * lib/signal.in.h: Include c++defs.h.
34676         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34677         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
34678         namespaced alias symbol.
34679         * modules/signal (Depends-on): Add c++defs.
34680         (Makefile.am): Update signal.h rule.
34681
34682         search: Avoid #define replacements in C++ mode.
34683         * lib/search.in.h: Include c++defs.h.
34684         (_gl_search_compar_fn, _gl_search_action_fn): New types.
34685         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
34686         symbol.
34687         * modules/search (Depends-on): Add c++defs.
34688         (Makefile.am): Update search.h rule.
34689
34690         math: Avoid #define replacements in C++ mode.
34691         * lib/math.in.h: Include c++defs.h.
34692         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
34693         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
34694         trunc, truncl): In C++, define a namespaced alias symbol.
34695         * modules/math (Depends-on): Add c++defs.
34696         (Makefile.am): Update math.h rule.
34697
34698         locale: Avoid #define replacements in C++ mode.
34699         * lib/locale.in.h: Include c++defs.h.
34700         (duplocale): In C++, define a namespaced alias symbol.
34701         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
34702         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
34703         * modules/locale (Depends-on): Add c++defs.
34704         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
34705
34706         langinfo: Avoid #define replacements in C++ mode.
34707         * lib/langinfo.in.h: Include c++defs.h.
34708         (nl_langinfo): In C++, define a namespaced alias symbol.
34709         * modules/langinfo (Depends-on): Add c++defs.
34710         (Makefile.am): Update langinfo.h rule.
34711
34712         iconv-h: Avoid #define replacements in C++ mode.
34713         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
34714         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
34715         symbol.
34716         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34717         whenever iconv is present.
34718         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
34719         (Makefile.am): Update iconv.h rule.
34720
34721         glob: Avoid #define replacements in C++ mode.
34722         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
34723         (_gl_glob_errfunc_fn): New type.
34724         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
34725         symbol.
34726         * modules/glob (Depends-on): Add c++defs, warn-on-use.
34727         (Makefile.am): Update glob.h rule.
34728
34729         fcntl-h: Avoid #define replacements in C++ mode.
34730         * lib/fcntl.in.h: Include c++defs.h.
34731         (fcntl, open, openat): In C++, define a namespaced alias symbol.
34732         * modules/fcntl-h (Depends-on): Add c++defs.
34733         (Makefile.am): Update fcntl.h rule.
34734
34735         dirent: Avoid #define replacements in C++ mode.
34736         * lib/dirent.in.h: Include c++defs.h.
34737         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
34738         namespaced alias symbol.
34739         (dirfd): Update declaration.
34740         * modules/dirent (Depends-on): Add c++defs.
34741         (Makefile.am): Update dirent.h rule.
34742
34743         ctype: Make it usable in C++ code.
34744         * lib/ctype.in.h: Include c++defs.h.
34745         (isblank): Declare as extern "C".
34746         * modules/ctype (Depends-on): Add c++defs.
34747         (Makefile.am): Update ctype.h rule.
34748
34749         New module 'c++defs'.
34750         * modules/c++defs: New file.
34751         * build-aux/c++defs.h: New file.
34752         Reported by John W. Eaton <jwe@gnu.org>.
34753
34754 2010-03-07  Bruno Haible  <bruno@clisp.org>
34755
34756         logb: Provide missing declaration for Cygwin.
34757         * lib/math.in.h (logb): New declaration.
34758         * m4/logb.m4: New file.
34759         * modules/logb (Files): Add m4/logb.m4.
34760         (Depends-on): Add math.
34761         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
34762         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
34763         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
34764         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
34765         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
34766
34767 2010-03-07  Bruno Haible  <bruno@clisp.org>
34768
34769         Fix test-cond link error.
34770         * tests/test-cond.c: Include <stdio.h>.
34771
34772 2010-03-07  Bruno Haible  <bruno@clisp.org>
34773
34774         Fix test-dirent-safer link error.
34775         * modules/dirent-safer-tests (Makefile.am): Define
34776         test_dirent_safer_LDADD.
34777
34778 2010-03-07  Bruno Haible  <bruno@clisp.org>
34779
34780         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
34781         among default module list.
34782
34783 2010-03-07  Bruno Haible  <bruno@clisp.org>
34784
34785         Fix link error on platforms with GNU libiconv.
34786         * modules/unistr/u8-strcoll-tests (Makefile): Define
34787         test_u8_strcoll_LDADD.
34788         * modules/unistr/u16-strcoll-tests (Makefile): Define
34789         test_u16_strcoll_LDADD.
34790         * modules/unistr/u32-strcoll-tests (Makefile): Define
34791         test_u32_strcoll_LDADD.
34792
34793 2010-03-07  Bruno Haible  <bruno@clisp.org>
34794
34795         Use POSIX declarations for socket functions.
34796         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
34797         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
34798         rpl_sendto): Change declaration to match POSIX.
34799         * lib/connect.c (rpl_connect): Likewise.
34800         * lib/accept.c (rpl_accept): Likewise.
34801         * lib/bind.c (rpl_bind): Likewise.
34802         * lib/getpeername.c (rpl_getpeername): Likewise.
34803         * lib/getsockname.c (rpl_getsockname): Likewise.
34804         * lib/recv.c (rpl_recv): Likewise.
34805         * lib/send.c (rpl_send): Likewise.
34806         * lib/recvfrom.c (rpl_recvfrom): Likewise.
34807         * lib/sendto.c (rpl_sendto): Likewise.
34808
34809 2010-03-06  Bruno Haible  <bruno@clisp.org>
34810
34811         Clarify access, euidaccess, faccessat.
34812         * doc/posix-functions/faccessat.texi: Mention security problem under
34813         "Other problems", not "Portability problems".
34814         * doc/posix-functions/access.texi: Likewise. Mention a related security
34815         problem.
34816         * doc/glibc-functions/euidaccess.texi: Mention security problems.
34817         * lib/euidaccess.c: Add comments about platforms.
34818         * lib/unistd.in.h (access, euidaccess): Add warnings.
34819
34820 2010-03-07  Bruno Haible  <bruno@clisp.org>
34821
34822         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
34823         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
34824         (POSIX_SPAWN_SETSCHEDULER): Likewise.
34825         (POSIX_SPAWN_USEVFORK): Define in a way that works when
34826         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34827         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
34828         declare when POSIX_SPAWN_SETSCHEDULER is zero.
34829         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
34830         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
34831         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
34832         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
34833         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
34834         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
34835         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
34836         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
34837         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
34838         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
34839         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
34840         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
34841         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
34842         Likewise.
34843         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
34844         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
34845         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
34846         Likewise.
34847         * tests/test-spawn.c (main): Make it work when
34848         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34849
34850 2010-03-07  Bruno Haible  <bruno@clisp.org>
34851
34852         Fix incorrect Makefile.am generation in German locale.
34853         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34854         Execute sed command with character range in C locale.
34855
34856 2010-03-06  Bruno Haible  <bruno@clisp.org>
34857
34858         Tests for module 'iconv-h'.
34859         * modules/iconv-h-tests: New file.
34860         * tests/test-iconv-h.c: New file.
34861
34862         New module 'iconv-h'.
34863         * modules/iconv-h: New file.
34864         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
34865         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
34866         (configure.ac): Remove gl_ICONV_H.
34867         (Makefile.am): Remove rule for iconv.h.
34868
34869 2010-03-06  Bruno Haible  <bruno@clisp.org>
34870
34871         More consistent naming of *.m4 files.
34872         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
34873         * modules/wctype (Files): Update.
34874
34875         More consistent naming of *.m4 files.
34876         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
34877         * modules/wchar (Files): Update.
34878
34879 2010-03-06  Jim Meyering  <meyering@redhat.com>
34880
34881         euidaccess: relax license to LGPLv2+
34882         * modules/euidaccess (License): Relax to LGPLv2+.
34883
34884 2010-03-06  Bruno Haible  <bruno@clisp.org>
34885
34886         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
34887         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
34888         (Makefile.am): Augment lib_SOURCES instead.
34889
34890 2010-03-04  Jim Meyering  <meyering@redhat.com>
34891
34892         utime: remove obsolete module
34893         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
34894         unnecessary for years, and has been marked as obsolete for 10 months.
34895         * modules/utime: Remove file.
34896         * lib/utime.c: Remove file.
34897         * m4/utime.m4: Remove file.
34898         * m4/utimes-null.m4: Remove file.
34899         * doc/posix-functions/utime.texi (utime): Remove reference to
34900         the module.  Move the sole "fixed by gnulib" item into the
34901         "problems not fixed by Gnulib" list.
34902         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
34903
34904 2010-03-05  Simon Josefsson  <simon@josefsson.org>
34905
34906         * modules/exit (License): Relax license to LGPLv2+.
34907         (Status): Mark as obsolete.
34908         * NEWS: Mention deprecated 'exit' module.
34909         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
34910         of now obsolete 'exit'.
34911
34912 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34913
34914         fts-lgpl: remove unused module
34915         * modules/fts-lgpl: Remove.
34916         * MODULES.html.sh (func_all_modules): Adjust.
34917         * check-module (find_included_lib_files): Adjust.
34918         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
34919
34920 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
34921
34922         copy-acl: enhance Solaris ACL error handling
34923         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
34924         * lib/set-mode-acl.c (qset_acl): Likewise.
34925
34926 2010-03-02  Bruno Haible  <bruno@clisp.org>
34927
34928         spawn: Don't override the system defined values on FreeBSD 8.
34929         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
34930         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
34931         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
34932         if HAVE_POSIX_SPAWN is 1.
34933         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
34934
34935 2010-03-01  Bruno Haible  <bruno@clisp.org>
34936
34937         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
34938         regarding Automake.
34939
34940 2010-02-25  Bruno Haible  <bruno@clisp.org>
34941
34942         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
34943         * gnulib-tool: Define 'echo' as a function only before the ksh alias
34944         setting, not afterwards.
34945         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
34946
34947 2010-02-24  Eric Blake  <eblake@redhat.com>
34948
34949         bootstrap, git-version-gen: use timestamp
34950         * build-aux/git-version-gen (scriptversion): Force UTC.
34951         * build-aux/bootstrap (scriptversion): New variable.
34952
34953         bootstrap: allow older git
34954         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
34955         older than 1.6.4.  Requested by the libvirt project.
34956
34957 2010-02-23  Eric Blake  <eblake@redhat.com>
34958
34959         warn-on-use: work with old autoconf
34960         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
34961         AS_VAR semantics of autoconf 2.60.
34962         Reported by Bruno Haible.
34963
34964         bootstrap: improve some comments
34965         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
34966         clarification comments.
34967
34968         gettimeofday: provide correct function
34969         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
34970         when replacement is declared, otherwise provide gettimeofday.
34971         Reported by Michael Goffioul.
34972
34973 2010-02-23  Jim Meyering  <meyering@redhat.com>
34974
34975         lib-ignore: relax license to "unlimited", not LGPLv2+
34976         * modules/lib-ignore (License): Relax to "unlimited".
34977
34978 2010-02-23  Jim Meyering  <meyering@redhat.com>
34979
34980         lib-ignore: relax license to LGPLv2+
34981         * modules/lib-ignore (License): Relax to LGPLv2+.
34982
34983 2010-02-22  Eric Blake  <eblake@redhat.com>
34984
34985         lseek: avoid bash 3.2 broken pipe bug
34986         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
34987         warning from bash 3.2.
34988         Reported by Ben Pfaff, with analysis from Bruno Haible.
34989
34990         bootstrap: support non-FSF copyright holder
34991         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
34992         bootstrap.conf override of COPYRIGHT_HOLDER.
34993         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
34994
34995         bootstrap: interoperate with gettext 0.14.1
34996         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
34997
34998         bootstrap: allow for alternate submodule location
34999         * build-aux/bootstrap (gnulib_path): New variable; use instead of
35000         hardcoding submodule location.
35001         (gnulib_mk): Allow direct use of Makefile.am.
35002
35003         bootstrap: use GNULIB_SRCDIR to reduce disk usage
35004         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
35005         rather than reconfiguring where the submodule points.
35006
35007         gettimeofday: restore support for platforms that lack function
35008         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
35009         replacement if function is missing.
35010         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
35011         * modules/sys_time (Makefile.am): Substitute it.
35012         * lib/sys_time.in.h (gettimeofday): Check it.
35013         Reported by Michael Goffioul.
35014
35015 2010-02-21  Bruno Haible  <bruno@clisp.org>
35016
35017         * lib/stdio.in.h (obstack_printf): Fix typo.
35018
35019 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
35020
35021         vc-list-files: use bzr ls's -R option
35022         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
35023         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
35024
35025 2010-02-21  Jim Meyering  <meyering@redhat.com>
35026
35027         init.sh: fix EXEEXT shims to work also for names like test-prog
35028         * tests/init.sh: Re-exec a better shell, when needed.
35029         If the current shell lacks support for posix $(...), an init.sh-using
35030         test will now try to find a shell that supports that.  If EXEEXT is
35031         nonempty, we also require support for hyphen-in-alias-name and shell
35032         substitutions like ${var#glob}.  Failure to find such a shell results
35033         in a skipped test.
35034
35035 2010-02-21  Bruno Haible  <bruno@clisp.org>
35036
35037         Really work around around "broken pipe" error message from bash 3.2.
35038         * gnulib-tool (func_reset_sigpipe): Remove function.
35039         (echo): In bash 3.2, define to a function that uses printf.
35040         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
35041
35042 2010-02-20  Bruno Haible  <bruno@clisp.org>
35043
35044         Restore support for automake 1.9.6 with autoconf 2.61.
35045         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
35046         Reported by James Youngman <jay@gnu.org>.
35047
35048 2010-02-20  Bruno Haible  <bruno@clisp.org>
35049
35050         Improve *printf warning condition.
35051         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
35052         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
35053         and the function is overridden due to SIGPIPE emulation.
35054
35055 2010-02-20  Bruno Haible  <bruno@clisp.org>
35056
35057         * lib/stdio.in.h: Tweak comments.
35058
35059 2010-02-19  Bruno Haible  <bruno@clisp.org>
35060
35061         Make it easier to find modules. New gnulib-tool option '--find'.
35062         * gnulib-tool: New option --find.
35063         (func_usage): Document it.
35064         (func_sanitize_modulelist): New function, extracted from
35065         func_all_modules.
35066         (func_all_modules): Invoke it.
35067         * doc/gnulib-tool.texi (Which modules?): New node.
35068
35069 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
35070
35071         * lib/sys_select.in.h: Provide select replacement even if
35072         sys/select.h exists on a system, for Interix.
35073
35074 2010-02-18  Jim Meyering  <meyering@redhat.com>
35075
35076         init.sh: don't use $(...) just yet
35077         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
35078         to accommodate e.g., Solaris' /bin/sh.
35079
35080 2010-02-17  Bruno Haible  <bruno@clisp.org>
35081
35082         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
35083         Reported by Ludovic Courtès <ludo@gnu.org>.
35084
35085 2010-02-16  Simon Josefsson  <simon@josefsson.org>
35086
35087         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
35088         linking with -lintl.
35089
35090 2010-02-17  Simon Josefsson  <simon@josefsson.org>
35091
35092         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
35093         if not provided by the system's netdb.h.  Reported by
35094         ludo@gnu.org (Ludovic Courtès).
35095
35096 2010-02-15  Jim Meyering  <meyering@redhat.com>
35097
35098         init.sh: improve portability and efficiency
35099         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
35100         "dummy" in a for loop.
35101         Use '!', not '^' to select the complement of a character set used
35102         in a "case" statement.
35103         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
35104         Suggestions from Eric Blake.
35105
35106         init.sh: automatically accommodate programs with the .exe suffix
35107         Automatically arrange for an invocation of "prog" to execute the
35108         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
35109         may use the simpler "prog", yet still work when built on a system
35110         that requires specifying the added suffix.
35111         Do this by constructing a function named "prog" that invokes
35112         "prog.exe" for each .exe file in selected directories.
35113         * tests/init.sh (find_exe_basenames_): New function.
35114         (create_exe_shim_functions_): New function.
35115         (path_prepend_): Use it.
35116
35117         maint.mk: mark syntax-check sc_*.m rules as .PHONY
35118         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
35119         "make -t syntax-check" doesn't create a ton of sc_*.m files.
35120
35121 2010-02-14  Jim Meyering  <meyering@redhat.com>
35122
35123         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
35124         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
35125         (sc_prohibit_hash_pjw_without_use): New rule.
35126
35127         maint.mk: allow the default upload destination dir to be overridden
35128         * top/maint.mk (upload_dest_dir_): Define with a default that
35129         preserves the status quo.
35130         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
35131         Reported by Peter Simons.
35132
35133         maint.mk: prohibit inclusion of "hash.h" without_use
35134         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
35135
35136 2010-02-10  Jim Meyering  <meyering@redhat.com>
35137
35138         maint.mk: prohibit inclusion of "ignore-value.h" without_use
35139         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
35140
35141 2010-02-09  Eric Blake  <ebb9@byu.net>
35142         and Bruno Haible  <bruno@clisp.org>
35143
35144         obstack-printf-posix: ensure declaration
35145         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
35146         extracted from gl_FUNC_OBSTACK_PRINTF.
35147         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
35148         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
35149         Likewise.
35150         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
35151         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
35152         0.
35153
35154 2010-02-08  Bruno Haible  <bruno@clisp.org>
35155
35156         gnulib-tool: Fix typo in 2010-02-07 commit.
35157         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
35158         Reported by Eric Blake.
35159
35160 2010-02-07  Bruno Haible  <bruno@clisp.org>
35161
35162         gnulib-tool: Fix up caching patches.
35163         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
35164         option --no-cache. Use associative arrays when supported by the shell.
35165         (sed_comments): New variable.
35166         (modcache): Renamed from do_cache.
35167         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
35168         abbreviate unnecessarily.
35169         (have_associative): New variable.
35170         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
35171         way also for ksh and zsh.
35172         (func_init_sed_convert_to_cache_statements): New function, extracted
35173         from func_cache_lookup_module. Add support for associative arrays.
35174         Don't set the c_MODULE_cached variable here. Ignore all lines before
35175         the first field header. Remove only the final newline, not all trailing
35176         newlines. Support empty fields correctly. Limit the use of 'eval' to
35177         assignments.
35178         (func_get_description, func_get_status, func_get_notice,
35179         func_get_applicability, func_get_filelist, func_get_dependencies,
35180         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
35181         func_get_automake_snippet, func_get_include_directive,
35182         func_get_link_directive, func_get_license, func_get_maintainer):
35183         Update documentation. List the unoptimized code first. Add support for
35184         associative arrays. Limit the use of 'eval' to assignments.
35185         (func_get_applicability): Undo stylistic pessimisations.
35186         (func_get_automake_snippet, func_get_include_directive): Reduce code
35187         duplication.
35188         (func_modules_transitive_closure, func_modules_add_dummy,
35189         func_modules_notice, func_modules_to_filelist, func_add_file,
35190         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
35191         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
35192         func_create_testdir, func_create_megatestdir): Update documentation.
35193
35194 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35195
35196         * gnulib-tool (func_cache_lookup_module): Store the module name
35197         belonging to the cache variable; error out if two different
35198         module names map to the same cache variable name.
35199
35200 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35201
35202         gnulib-tool: Make caching optional.
35203         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
35204         Update matching short versions of --no-changelog.
35205         (func_usage): Update.
35206         (sed_extract_cache_prog): Renamed from ...
35207         (sed_extract_prog): ... this; revert to old extraction script.
35208         (func_get_description, func_get_status)
35209         (func_get_notice, func_get_applicability, func_get_filelist)
35210         (func_get_dependencies, func_get_autoconf_early_snippet)
35211         (func_get_autoconf_snippet, func_get_automake_snippet)
35212         (func_get_include_directive, func_get_link_directive)
35213         (func_get_license, func_get_maintainer): If $do_cache is false,
35214         use old, non-caching extraction scripts.
35215         Suggestion by Bruno Haible.
35216
35217 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35218
35219         gnulib-tool: cache module metainformation.
35220         * gnulib-tool (sed_extract_prog): Match newline before each
35221         header, and rewrite header to a shell variable suffix.
35222         (func_cache_var, func_cache_lookup_module): New functions,
35223         to turn a module name into a cache variable prefix, and to
35224         look up and cache module metainformation.
35225         (func_get_description, func_get_status)
35226         (func_get_notice, func_get_applicability, func_get_filelist)
35227         (func_get_dependencies, func_get_autoconf_early_snippet)
35228         (func_get_autoconf_snippet, func_get_automake_snippet)
35229         (func_get_include_directive, func_get_link_directive)
35230         (func_get_license, func_get_maintainer): Use
35231         func_cache_lookup_module.
35232
35233 2010-02-07  Bruno Haible  <bruno@clisp.org>
35234
35235         fnctl: Fix missing dependency.
35236         * modules/fcntl (Depends-on): Add getdtablesize.
35237         Reported by John W. Eaton <jwe@gnu.org>.
35238
35239 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
35240
35241         Argp: fix recognition of short alias options.
35242
35243         * lib/argp-parse.c (convert_options): Fix improper use of
35244         `|' between character values.
35245         * tests/test-argp.c (group1_option): New alias option
35246         --read (-r).
35247         (group1_parser): Special handling for 'r'.
35248         (test15): New test case.
35249         (test_fun): Add test15.
35250         * tests/test-argp-2.sh: Update expected --help and --usage
35251         outputs.
35252
35253 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
35254
35255         * tests/test-argp.c: Fix indentation.
35256
35257 2010-02-04  Eric Blake  <ebb9@byu.net>
35258
35259         gettimeofday: expose type of second argument
35260         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
35261         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
35262         * tests/test-gettimeofday.c: Use it to silence warning.
35263         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
35264         the issue.
35265
35266 2010-02-03  Jim Meyering  <meyering@redhat.com>
35267
35268         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
35269         * lib/regcomp.c (TYPE_SIGNED): Define.
35270         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
35271
35272         regcomp.c: avoid a new -Wshadow warning
35273         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
35274
35275 2010-02-01  Jim Meyering  <meyering@redhat.com>
35276
35277         removing useless parentheses in cpp #define directives
35278         For motivation, see commit c0221df4, "define STREQ(a,b)
35279         consistently, removing useless parentheses"
35280         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
35281         * lib/mountlist.c (MNT_IGNORE): Likewise.
35282         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
35283
35284 2010-02-01  Eric Blake  <ebb9@byu.net>
35285
35286         sys_time: use link-warning
35287         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
35288         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
35289         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
35290         * modules/sys_time (Depends-on): Add warn-on-use.
35291         (Makefile.am): Always build replacement.
35292         (configure.ac): Update substitutions.
35293         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
35294         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
35295         bother with SYS_TIME_H.
35296         * modules/gettimeofday (configure.ac): Declare indicator.
35297         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
35298         in use.
35299
35300         closein-tests: silence compiler warning
35301         * tests/test-closein.c (main): Ignore fread result.
35302         * modules/closein-tests (Depends-on): Add ignore-value.
35303
35304         tests: silence warning about system return
35305         * tests/test-areadlink-with-size.c (main): Ignore system result.
35306         * tests/test-areadlink.c (main): Likewise.
35307         * tests/test-areadlinkat-with-size.c (main): Likewise.
35308         * tests/test-areadlinkat.c (main): Likewise.
35309         * tests/test-canonicalize-lgpl.c (main): Likewise.
35310         * tests/test-canonicalize.c (main): Likewise.
35311         * tests/test-chown.c (main): Likewise.
35312         * tests/test-fchownat.c (main): Likewise.
35313         * tests/test-fdutimensat.c (main): Likewise.
35314         * tests/test-fstatat.c (main): Likewise.
35315         * tests/test-futimens.c (main): Likewise.
35316         * tests/test-lchown.c (main): Likewise.
35317         * tests/test-link.c (main): Likewise.
35318         * tests/test-linkat.c (main): Likewise.
35319         * tests/test-lstat.c (main): Likewise.
35320         * tests/test-mkdir.c (main): Likewise.
35321         * tests/test-mkdirat.c (main): Likewise.
35322         * tests/test-mkfifo.c (main): Likewise.
35323         * tests/test-mkfifoat.c (main): Likewise.
35324         * tests/test-mknod.c (main): Likewise.
35325         * tests/test-readlink.c (main): Likewise.
35326         * tests/test-remove.c (main): Likewise.
35327         * tests/test-rename.c (main): Likewise.
35328         * tests/test-renameat.c (main): Likewise.
35329         * tests/test-rmdir.c (main): Likewise.
35330         * tests/test-symlink.c (main): Likewise.
35331         * tests/test-symlinkat.c (main): Likewise.
35332         * tests/test-unlink.c (main): Likewise.
35333         * tests/test-unlinkat.c (main): Likewise.
35334         * tests/test-utimens.c (main): Likewise.
35335         * tests/test-utimensat.c (main): Likewise.
35336         * modules/areadlink-tests (Depends-on): Add ignore-value.
35337         * modules/areadlink-with-size-tests (Depends-on): Likewise.
35338         * modules/areadlinkat-tests (Depends-on): Likewise.
35339         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
35340         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35341         * modules/canonicalize-tests (Depends-on): Likewise.
35342         * modules/chown-tests (Depends-on): Likewise.
35343         * modules/fdutimensat-tests (Depends-on): Likewise.
35344         * modules/futimens-tests (Depends-on): Likewise.
35345         * modules/lchown-tests (Depends-on): Likewise.
35346         * modules/link-tests (Depends-on): Likewise.
35347         * modules/linkat-tests (Depends-on): Likewise.
35348         * modules/lstat-tests (Depends-on): Likewise.
35349         * modules/mkdir-tests (Depends-on): Likewise.
35350         * modules/mkfifo-tests (Depends-on): Likewise.
35351         * modules/mkfifoat-tests (Depends-on): Likewise.
35352         * modules/mknod-tests (Depends-on): Likewise.
35353         * modules/openat-tests (Depends-on): Likewise.
35354         * modules/readlink-tests (Depends-on): Likewise.
35355         * modules/remove-tests (Depends-on): Likewise.
35356         * modules/rename-tests (Depends-on): Likewise.
35357         * modules/renameat-tests (Depends-on): Likewise.
35358         * modules/rmdir-tests (Depends-on): Likewise.
35359         * modules/symlink-tests (Depends-on): Likewise.
35360         * modules/symlinkat-tests (Depends-on): Likewise.
35361         * modules/unlink-tests (Depends-on): Likewise.
35362         * modules/utimens-tests (Depends-on): Likewise.
35363         * modules/utimensat-tests (Depends-on): Likewise.
35364
35365 2010-01-31  Bruno Haible  <bruno@clisp.org>
35366
35367         Perform the same test for many <math.h> functions.
35368         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
35369         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
35370         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
35371         of gl_MATHFUNC.
35372         * modules/acos (configure.ac): Likewise.
35373         * modules/asin (configure.ac): Likewise.
35374         * modules/atan (configure.ac): Likewise.
35375         * modules/atan2 (configure.ac): Likewise.
35376         * modules/cbrt (configure.ac): Likewise.
35377         * modules/copysign (configure.ac): Likewise.
35378         * modules/cos (configure.ac): Likewise.
35379         * modules/cosh (configure.ac): Likewise.
35380         * modules/erf (configure.ac): Likewise.
35381         * modules/erfc (configure.ac): Likewise.
35382         * modules/exp (configure.ac): Likewise.
35383         * modules/fmod (configure.ac): Likewise.
35384         * modules/hypot (configure.ac): Likewise.
35385         * modules/j0 (configure.ac): Likewise.
35386         * modules/j1 (configure.ac): Likewise.
35387         * modules/jn (configure.ac): Likewise.
35388         * modules/lgamma (configure.ac): Likewise.
35389         * modules/log (configure.ac): Likewise.
35390         * modules/log10 (configure.ac): Likewise.
35391         * modules/log1p (configure.ac): Likewise.
35392         * modules/pow (configure.ac): Likewise.
35393         * modules/remainder (configure.ac): Likewise.
35394         * modules/sin (configure.ac): Likewise.
35395         * modules/sinh (configure.ac): Likewise.
35396         * modules/tan (configure.ac): Likewise.
35397         * modules/tanh (configure.ac): Likewise.
35398         * modules/y0 (configure.ac): Likewise.
35399         * modules/y1 (configure.ac): Likewise.
35400         * modules/yn (configure.ac): Likewise.
35401         Suggested by Paolo Bonzini.
35402
35403 2010-01-31  Bruno Haible  <bruno@clisp.org>
35404
35405         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
35406
35407 2010-01-31  Bruno Haible  <bruno@clisp.org>
35408
35409         Work around getdelim() bug on FreeBSD 8.0.
35410         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
35411         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
35412         not work.
35413         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
35414         is 1.
35415         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
35416         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
35417         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
35418         a non-zero size.
35419         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
35420
35421 2010-01-31  Bruno Haible  <bruno@clisp.org>
35422
35423         Work around getline() bug on FreeBSD 8.0.
35424         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
35425         and a non-zero size.
35426         * tests/test-getline.c (main): Likewise.
35427         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
35428         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
35429
35430 2010-01-28  Eric Blake  <ebb9@byu.net>
35431
35432         regex: fix build failure
35433         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
35434         platforms.
35435
35436 2010-01-28  Jim Meyering  <meyering@redhat.com>
35437
35438         regex: do not ignore memory allocation failure
35439         * lib/regex_internal.c (create_cd_newstate): Detect
35440         re_node_set_init_copy failure.   Extracted from glibc commit
35441         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
35442
35443         regex: sync more white-space changes from libc
35444         * lib/regex_internal.c: White-space only changes.
35445         * lib/regexec.c: Likewise.
35446
35447         regex: add many uses of __attribute_warn_unused_result__
35448         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
35449         * lib/regexec.c: Likewise.
35450         Extracted from a messy glibc commit.
35451
35452         regcomp.c: spelling and merge-artifact from glibc
35453         * lib/regcomp.c: Merge remainder of glibc's
35454         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
35455
35456         regcomp.c: sync white-space changes from glibc
35457         * lib/regcomp.c: Merge to accommodate white space
35458         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
35459
35460         regcomp.c: do not ignore internal return values
35461         * lib/regcomp.c: Do not ignore internal return values.
35462         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
35463         but without its white-space changes and spelling fixes.
35464
35465         regex_internal.h: define __attribute_warn_unused_result__
35466         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
35467
35468         maint: add a syntax-check rule to check for vulnerable Makefile.in
35469         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
35470
35471 2010-01-27  Jim Meyering  <meyering@redhat.com>
35472
35473         ncftpput-ftp: clean up spaces
35474         * build-aux/ncftpput-ftp: Make Copyright line consistent.
35475         Remove trailing blanks.
35476
35477 2010-01-27  Simon Josefsson  <simon@josefsson.org>
35478
35479         * build-aux/git-version-gen: Fix copyright statement.
35480         * build-aux/gnupload: Likewise.
35481         * tests/test-arcfour.c: Likewise.
35482         * tests/test-arctwo.c: Likewise.
35483         * tests/test-count-one-bits.c: Likewise.
35484         * tests/test-crc.c: Likewise.
35485         * tests/test-des.c: Likewise.
35486         * tests/test-gc-arcfour.c: Likewise.
35487         * tests/test-gc-arctwo.c: Likewise.
35488         * tests/test-gc-des.c: Likewise.
35489         * tests/test-gc-hmac-md5.c: Likewise.
35490         * tests/test-gc-hmac-sha1.c: Likewise.
35491         * tests/test-gc-md2.c: Likewise.
35492         * tests/test-gc-md4.c: Likewise.
35493         * tests/test-gc-md5.c: Likewise.
35494         * tests/test-gc-pbkdf2-sha1.c: Likewise.
35495         * tests/test-gc-rijndael.c: Likewise.
35496         * tests/test-gc-sha1.c: Likewise.
35497         * tests/test-gc.c: Likewise.
35498         * tests/test-gethostname.c: Likewise.
35499         * tests/test-gettimeofday.c: Likewise.
35500         * tests/test-hash.c: Likewise.
35501         * tests/test-hmac-md5.c: Likewise.
35502         * tests/test-hmac-sha1.c: Likewise.
35503         * tests/test-md2.c: Likewise.
35504         * tests/test-md4.c: Likewise.
35505         * tests/test-md5.c: Likewise.
35506         * tests/test-memchr.c: Likewise.
35507         * tests/test-memchr2.c: Likewise.
35508         * tests/test-memcmp.c: Likewise.
35509         * tests/test-memmem.c: Likewise.
35510         * tests/test-memrchr.c: Likewise.
35511         * tests/test-rawmemchr.c: Likewise.
35512         * tests/test-read-file.c: Likewise.
35513         * tests/test-rijndael.c: Likewise.
35514         * tests/test-sockets.c: Likewise.
35515         * tests/test-strchrnul.c: Likewise.
35516         * tests/test-strstr.c: Likewise.
35517         * tests/test-strtod.c: Likewise.
35518         * build-aux/ncftpput-ftp: Likewise.
35519
35520 2010-01-26  Eric Blake  <ebb9@byu.net>
35521
35522         ignore-value: update recommended header name
35523         * modules/ignore-value (Include): Only use <> for headers that
35524         exist in glibc.
35525
35526 2010-01-26  Jim Meyering  <meyering@redhat.com>
35527
35528         test-userspec.c: avoid compiler warnings
35529         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
35530         and "initialization discards qualifiers..." warnings.
35531         Put the first "uid" in its own scope, and make char* members "const".
35532
35533 2010-01-25  Bruno Haible  <bruno@clisp.org>
35534
35535         gnulib-tool: Make warning diagnostics consistent.
35536         * gnulib-tool (func_warning): New function.
35537         Use it everywhere where gnulib-tool produces output to stderr and it is
35538         not a fatal error.
35539
35540 2010-01-25  Bruno Haible  <bruno@clisp.org>
35541
35542         Fix test dependencies.
35543         * modules/xstrtol-tests (Depends-on): Add inttypes.
35544         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
35545
35546 2010-01-25 Pádraig Brady <P@draigBrady.com>
35547
35548         syntax-check: detect incorrect boolean macro values in config.h
35549         * modules/maintainer-makefile (configure.ac): Parameterize the location
35550         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
35551         The logic is from Eric Blake and the location indicated by Jim Meyering.
35552         Note the more natural CONFIG_HEADER name is prohibited by automake
35553         for backwards compatibility reasons.
35554         * top/maint.mk (sc_Wundef_boolean): New rule.
35555
35556 2010-01-25  Jim Meyering  <meyering@redhat.com>
35557
35558         bootstrap: detect MacOS 10.6's shasum, too
35559         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
35560         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
35561
35562 2010-01-23  Jim Meyering  <meyering@redhat.com>
35563
35564         xstrtoll: new module
35565         * modules/xstrtoll: New file.
35566         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
35567         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
35568         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
35569         ./configure fails if you use this module and lack "long long".
35570         * modules/xstrtoll-tests: New module.
35571         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
35572         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
35573         new init.sh-based test framework.
35574
35575 2010-01-24  Bruno Haible  <bruno@clisp.org>
35576
35577         Tests for module 'yn'.
35578         * modules/yn-tests: New file.
35579         * tests/test-yn.c: New file.
35580
35581         Tests for module 'y1'.
35582         * modules/y1-tests: New file.
35583         * tests/test-y1.c: New file.
35584
35585         Tests for module 'y0'.
35586         * modules/y0-tests: New file.
35587         * tests/test-y0.c: New file.
35588
35589         Tests for module 'tanh'.
35590         * modules/tanh-tests: New file.
35591         * tests/test-tanh.c: New file.
35592
35593         Tests for module 'tan'.
35594         * modules/tan-tests: New file.
35595         * tests/test-tan.c: New file.
35596
35597         Tests for module 'sqrt'.
35598         * modules/sqrt-tests: New file.
35599         * tests/test-sqrt.c: New file.
35600
35601         Tests for module 'sinh'.
35602         * modules/sinh-tests: New file.
35603         * tests/test-sinh.c: New file.
35604
35605         Tests for module 'sin'.
35606         * modules/sin-tests: New file.
35607         * tests/test-sin.c: New file.
35608
35609         Tests for module 'rint'.
35610         * modules/rint-tests: New file.
35611         * tests/test-rint.c: New file.
35612
35613         Tests for module 'remainder'.
35614         * modules/remainder-tests: New file.
35615         * tests/test-remainder.c: New file.
35616
35617         Tests for module 'pow'.
35618         * modules/pow-tests: New file.
35619         * tests/test-pow.c: New file.
35620
35621         Tests for module 'nextafter'.
35622         * modules/nextafter-tests: New file.
35623         * tests/test-nextafter.c: New file.
35624
35625         Tests for module 'modf'.
35626         * modules/modf-tests: New file.
35627         * tests/test-modf.c: New file.
35628
35629         Tests for module 'logb'.
35630         * modules/logb-tests: New file.
35631         * tests/test-logb.c: New file.
35632
35633         Tests for module 'log1p'.
35634         * modules/log1p-tests: New file.
35635         * tests/test-log1p.c: New file.
35636
35637         Tests for module 'log10'.
35638         * modules/log10-tests: New file.
35639         * tests/test-log10.c: New file.
35640
35641         Tests for module 'log'.
35642         * modules/log-tests: New file.
35643         * tests/test-log.c: New file.
35644
35645         Tests for module 'lgamma'.
35646         * modules/lgamma-tests: New file.
35647         * tests/test-lgamma.c: New file.
35648
35649         Tests for module 'ldexp'.
35650         * modules/ldexp-tests: New file.
35651         * tests/test-ldexp.c: New file.
35652
35653         Tests for module 'jn'.
35654         * modules/jn-tests: New file.
35655         * tests/test-jn.c: New file.
35656
35657         Tests for module 'j1'.
35658         * modules/j1-tests: New file.
35659         * tests/test-j1.c: New file.
35660
35661         Tests for module 'j0'.
35662         * modules/j0-tests: New file.
35663         * tests/test-j0.c: New file.
35664
35665         Tests for module 'hypot'.
35666         * modules/hypot-tests: New file.
35667         * tests/test-hypot.c: New file.
35668
35669         Tests for module 'fmod'.
35670         * modules/fmod-tests: New file.
35671         * tests/test-fmod.c: New file.
35672
35673         Tests for module 'fabs'.
35674         * modules/fabs-tests: New file.
35675         * tests/test-fabs.c: New file.
35676
35677         Tests for module 'exp'.
35678         * modules/exp-tests: New file.
35679         * tests/test-exp.c: New file.
35680
35681         Tests for module 'erfc'.
35682         * modules/erfc-tests: New file.
35683         * tests/test-erfc.c: New file.
35684
35685         Tests for module 'erf'.
35686         * modules/erf-tests: New file.
35687         * tests/test-erf.c: New file.
35688
35689         Tests for module 'cosh'.
35690         * modules/cosh-tests: New file.
35691         * tests/test-cosh.c: New file.
35692
35693         Tests for module 'cos'.
35694         * modules/cos-tests: New file.
35695         * tests/test-cos.c: New file.
35696
35697         Tests for module 'copysign'.
35698         * modules/copysign-tests: New file.
35699         * tests/test-copysign.c: New file.
35700
35701         Tests for module 'cbrt'.
35702         * modules/cbrt-tests: New file.
35703         * tests/test-cbrt.c: New file.
35704
35705         Tests for module 'atan2'.
35706         * modules/atan2-tests: New file.
35707         * tests/test-atan2.c: New file.
35708
35709         Tests for module 'atan'.
35710         * modules/atan-tests: New file.
35711         * tests/test-atan.c: New file.
35712
35713         Tests for module 'asin'.
35714         * modules/asin-tests: New file.
35715         * tests/test-asin.c: New file.
35716
35717         Tests for module 'acos'.
35718         * modules/acos-tests: New file.
35719         * tests/test-acos.c: New file.
35720
35721 2010-01-24  Bruno Haible  <bruno@clisp.org>
35722
35723         Fix tests for common <math.h> functions.
35724         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
35725         code snippet that references the function pointer, rather than merely
35726         calling the function. Substitute the FUNC_LIBM variable.
35727         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
35728         * modules/acos (configure.ac): Likewise.
35729         * modules/asin (configure.ac): Likewise.
35730         * modules/atan (configure.ac): Likewise.
35731         * modules/atan2 (configure.ac): Likewise.
35732         * modules/cbrt (configure.ac): Likewise.
35733         * modules/copysign (configure.ac): Likewise.
35734         * modules/cos (configure.ac): Likewise.
35735         * modules/cosh (configure.ac): Likewise.
35736         * modules/erf (configure.ac): Likewise.
35737         * modules/erfc (configure.ac): Likewise.
35738         * modules/exp (configure.ac): Likewise.
35739         * modules/fabs (configure.ac): Likewise.
35740         * modules/fmod (configure.ac): Likewise.
35741         * modules/hypot (configure.ac): Likewise.
35742         * modules/j0 (configure.ac): Likewise.
35743         * modules/j1 (configure.ac): Likewise.
35744         * modules/jn (configure.ac): Likewise.
35745         * modules/ldexp (configure.ac): Likewise.
35746         * modules/lgamma (configure.ac): Likewise.
35747         * modules/log (configure.ac): Likewise.
35748         * modules/log10 (configure.ac): Likewise.
35749         * modules/log1p (configure.ac): Likewise.
35750         * modules/logb (configure.ac): Likewise.
35751         * modules/modf (configure.ac): Likewise.
35752         * modules/nextafter (configure.ac): Likewise.
35753         * modules/pow (configure.ac): Likewise.
35754         * modules/remainder (configure.ac): Likewise.
35755         * modules/rint (configure.ac): Likewise.
35756         * modules/sin (configure.ac): Likewise.
35757         * modules/sinh (configure.ac): Likewise.
35758         * modules/tan (configure.ac): Likewise.
35759         * modules/tanh (configure.ac): Likewise.
35760         * modules/y0 (configure.ac): Likewise.
35761         * modules/y1 (configure.ac): Likewise.
35762         * modules/yn (configure.ac): Likewise.
35763
35764 2010-01-24  Bruno Haible  <bruno@clisp.org>
35765
35766         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
35767         * tests/test-acosl.c (x): New variable.
35768         (main): Store argument in x and fetch it from x.
35769         * tests/test-asinl.c (x): New variable.
35770         (main): Store argument in x and fetch it from x.
35771         * tests/test-atanl.c (x): New variable.
35772         (main): Store argument in x and fetch it from x.
35773         * tests/test-cosl.c (x): New variable.
35774         (main): Store argument in x and fetch it from x.
35775         * tests/test-expl.c (x): New variable.
35776         (main): Store argument in x and fetch it from x.
35777         * tests/test-logl.c (x): New variable.
35778         (main): Store argument in x and fetch it from x.
35779         * tests/test-sinl.c (x): New variable.
35780         (main): Store argument in x and fetch it from x.
35781         * tests/test-sqrtl.c (x): New variable.
35782         (main): Store argument in x and fetch it from x.
35783         * tests/test-tanl.c (x): New variable.
35784         (main): Store argument in x and fetch it from x.
35785
35786 2010-01-24  Bruno Haible  <bruno@clisp.org>
35787
35788         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
35789         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
35790         assignments to the initial TESTS_ENVIRONMENT.
35791         * doc/gnulib.texi (Unit test modules): Document it.
35792         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
35793         TESTS_ENVIRONMENT.
35794         * modules/btowc-tests (Makefile.am): Likewise.
35795         * modules/c-stack-tests (Makefile.am): Likewise.
35796         * modules/c-strcase-tests (Makefile.am): Likewise.
35797         * modules/copy-file-tests (Makefile.am): Likewise.
35798         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
35799         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
35800         * modules/mbrtowc-tests (Makefile.am): Likewise.
35801         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35802         * modules/mbscasestr-tests (Makefile.am): Likewise.
35803         * modules/mbschr-tests (Makefile.am): Likewise.
35804         * modules/mbscspn-tests (Makefile.am): Likewise.
35805         * modules/mbsinit-tests (Makefile.am): Likewise.
35806         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35807         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
35808         * modules/mbspbrk-tests (Makefile.am): Likewise.
35809         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35810         * modules/mbsrchr-tests (Makefile.am): Likewise.
35811         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
35812         * modules/mbsspn-tests (Makefile.am): Likewise.
35813         * modules/mbsstr-tests (Makefile.am): Likewise.
35814         * modules/nl_langinfo-tests (Makefile.am): Likewise.
35815         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
35816         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35817         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35818         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35819         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35820         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
35821         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35822         * modules/wcrtomb-tests (Makefile.am): Likewise.
35823         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
35824         * modules/wcsrtombs-tests (Makefile.am): Likewise.
35825         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
35826         assignments from TESTS_ENVIRONMENT.
35827         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
35828         augmentation.
35829         * modules/argp-version-etc-tests (Makefile.am): Likewise.
35830         * modules/atexit-tests (Makefile.am): Likewise.
35831         * modules/binary-io-tests (Makefile.am): Likewise.
35832         * modules/closein-tests (Makefile.am): Likewise.
35833         * modules/dprintf-posix-tests (Makefile.am): Likewise.
35834         * modules/exclude-tests (Makefile.am): Likewise.
35835         * modules/fflush-tests (Makefile.am): Likewise.
35836         * modules/fpending-tests (Makefile.am): Likewise.
35837         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35838         * modules/freadahead-tests (Makefile.am): Likewise.
35839         * modules/freadptr-tests (Makefile.am): Likewise.
35840         * modules/freadseek-tests (Makefile.am): Likewise.
35841         * modules/fseek-tests (Makefile.am): Likewise.
35842         * modules/fseeko-tests (Makefile.am): Likewise.
35843         * modules/ftell-tests (Makefile.am): Likewise.
35844         * modules/ftello-tests (Makefile.am): Likewise.
35845         * modules/idpriv-drop-tests (Makefile.am): Likewise.
35846         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
35847         * modules/lseek-tests (Makefile.am): Likewise.
35848         * modules/parse-duration-tests (Makefile.am): Likewise.
35849         * modules/perror-tests (Makefile.am): Likewise.
35850         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
35851         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
35852         * modules/pipe-tests (Makefile.am): Likewise.
35853         * modules/pread-tests (Makefile.am): Likewise.
35854         * modules/printf-posix-tests (Makefile.am): Likewise.
35855         * modules/select-tests (Makefile.am): Likewise.
35856         * modules/sigpipe-tests (Makefile.am): Likewise.
35857         * modules/tsearch-tests (Makefile.am): Likewise.
35858         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
35859         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
35860         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35861         * modules/uniwidth/width-tests (Makefile.am): Likewise.
35862         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
35863         * modules/version-etc-tests (Makefile.am): Likewise.
35864         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35865         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35866         * modules/xalloc-die-tests (Makefile.am): Likewise.
35867         * modules/xprintf-posix-tests (Makefile.am): Likewise.
35868         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35869         * modules/xstrtol-tests (Makefile.am): Likewise.
35870         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35871         * modules/yesno-tests (Makefile.am): Likewise.
35872         Suggested by Jim Meyering.
35873
35874 2010-01-24  Bruno Haible  <bruno@clisp.org>
35875
35876         More documentation.
35877         * doc/gnulib.texi (Writing modules): New chapter.
35878         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
35879         the new chapter.
35880
35881 2010-01-24  Jim Meyering  <meyering@redhat.com>
35882
35883         maint.mk: do not prepend "./" after filtering
35884         * top/maint.mk (_prepend_srcdir_prefix): New variable
35885         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
35886         "./" when $(srcdir) is ".".
35887
35888         define STREQ(a,b) consistently, removing useless parentheses
35889         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
35890         since the only risk is that "a" or "b" contains an unparenthesized
35891         comma, but if either did that, STREQ would have 3 or more arguments.
35892         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
35893         * lib/fts.c (STREQ): Remove unnecessary parentheses.
35894         * lib/hash-triple.c (STREQ): Likewise.
35895         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
35896         * lib/getugroups.c (STREQ): Likewise.
35897
35898 2010-01-23  Jim Meyering  <meyering@redhat.com>
35899
35900         maint.mk: fix syntax-check in a non-srcdir build directory
35901         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
35902         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
35903
35904 2010-01-22  Jim Meyering  <meyering@redhat.com>
35905
35906         userspec: add unit tests
35907         * tests/test-userspec.c: New file.
35908         * modules/userspec-tests: Likewise.
35909
35910 2010-01-21  Jim Meyering  <meyering@redhat.com>
35911
35912         maint.mk: handle source file names containing "." robustly
35913         * top/maint.mk (_dot_escaped_srcdir): Define.
35914         (VC_LIST): Use it in LHS of sed substitution.
35915
35916 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
35917
35918         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
35919         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
35920         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
35921         from a non-srcdir build.
35922
35923 2010-01-20  Eric Blake  <ebb9@byu.net>
35924
35925         warn-on-use: use instead of link-warning
35926         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
35927         * modules/unistd (Depends-on, Makefile.am): Likewise.
35928         * modules/arpa_inet (Depends-on): Replace link-warning with
35929         warn-on-use.
35930         (Makefile.am): Update rules accordingly.
35931         * modules/ctype (Depends-on, Makefile.am): Likewise.
35932         * modules/dirent (Depends-on, Makefile.am): Likewise.
35933         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
35934         * modules/inttypes (Depends-on, Makefile.am): Likewise.
35935         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35936         * modules/locale (Depends-on, Makefile.am): Likewise.
35937         * modules/math (Depends-on, Makefile.am): Likewise.
35938         * modules/search (Depends-on, Makefile.am): Likewise.
35939         * modules/signal (Depends-on, Makefile.am): Likewise.
35940         * modules/spawn (Depends-on, Makefile.am): Likewise.
35941         * modules/stdlib (Depends-on, Makefile.am): Likewise.
35942         * modules/string (Depends-on, Makefile.am): Likewise.
35943         * modules/strings (Depends-on, Makefile.am): Likewise.
35944         * modules/sys_file (Depends-on, Makefile.am): Likewise.
35945         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
35946         * modules/sys_select (Depends-on, Makefile.am): Likewise.
35947         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
35948         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
35949         * modules/sys_times (Depends-on, Makefile.am): Likewise.
35950         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35951         * modules/wchar (Depends-on, Makefile.am): Likewise.
35952         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
35953         should be poisoned.
35954         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
35955         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
35956         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
35957         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35958         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35959         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35960         * m4/math_h.m4 (gl_MATH_H): Likewise.
35961         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35962         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35963         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35964         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35965         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35966         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35967         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
35968         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
35969         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
35970         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35971         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35972         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35973         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35974         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35975         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35976         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35977         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
35978         GL_LINK_WARNING.
35979         * lib/ctype.in.h: Likewise.
35980         * lib/dirent.in.h: Likewise.
35981         * lib/fcntl.in.h: Likewise.
35982         * lib/inttypes.in.h: Likewise.
35983         * lib/langinfo.in.h: Likewise.
35984         * lib/locale.in.h: Likewise.
35985         * lib/math.in.h: Likewise.
35986         * lib/search.in.h: Likewise.
35987         * lib/signal.in.h: Likewise.
35988         * lib/spawn.in.h: Likewise.
35989         * lib/stdio.in.h: Likewise.
35990         * lib/stdlib.in.h: Likewise.
35991         * lib/string.in.h: Likewise.
35992         * lib/strings.in.h: Likewise.
35993         * lib/sys_file.in.h: Likewise.
35994         * lib/sys_ioctl.in.h: Likewise.
35995         * lib/sys_select.in.h: Likewise.
35996         * lib/sys_socket.in.h: Likewise.
35997         * lib/sys_stat.in.h: Likewise.
35998         * lib/sys_times.in.h: Likewise.
35999         * lib/sys_utsname.in.h: Likewise.
36000         * lib/unistd.in.h: Likewise.
36001         * lib/wchar.in.h: Likewise.
36002
36003 2010-01-20  Bruno Haible  <bruno@clisp.org>
36004
36005         Avoid duplicate -lm.
36006         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
36007         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
36008         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
36009         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
36010         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
36011         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
36012         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
36013         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
36014         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
36015         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
36016         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
36017         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
36018         Reported by Paolo Bonzini.
36019
36020 2010-01-19  Bruno Haible  <bruno@clisp.org>
36021
36022         langinfo, nl_langinfo: Relicense under LGPLv2+.
36023         * modules/langinfo (License): Change to LGPLv2+.
36024         * modules/nl_langinfo (License): Likewise.
36025         Patch by David Lutterkort <lutter@redhat.com>.
36026
36027 2010-01-19  Bruno Haible  <bruno@clisp.org>
36028
36029         Avoid compilation error with cc on OSF/1 5.1.
36030         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
36031         statement, not before.
36032         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36033
36034 2010-01-18  Bruno Haible  <bruno@clisp.org>
36035
36036         Avoid a link error due to the __printf__ symbol.
36037         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
36038         and 2.6.x.
36039         (__format__, __printf__): Remove definitions.
36040         * lib/argp-fmtstream.h: Likewise.
36041         * lib/argp.h: Likewise.
36042         * lib/error.h: Likewise.
36043         * lib/vasnprintf.h: Likewise.
36044         * lib/xprintf.h: Likewise.
36045         * lib/xvasprintf.h: Likewise.
36046         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36047
36048 2010-01-18  Bruno Haible  <bruno@clisp.org>
36049
36050         Tests for module 'tanl'.
36051         * modules/tanl-tests: New file.
36052         * tests/test-tanl.c: New file.
36053
36054         Tests for module 'sqrtl'.
36055         * modules/sqrtl-tests: New file.
36056         * tests/test-sqrtl.c: New file.
36057
36058         Tests for module 'sinl'.
36059         * modules/sinl-tests: New file.
36060         * tests/test-sinl.c: New file.
36061
36062         Tests for module 'logl'.
36063         * modules/logl-tests: New file.
36064         * tests/test-logl.c: New file.
36065
36066         Tests for module 'expl'.
36067         * modules/expl-tests: New file.
36068         * tests/test-expl.c: New file.
36069
36070         Tests for module 'cosl'.
36071         * modules/cosl-tests: New file.
36072         * tests/test-cosl.c: New file.
36073
36074         Tests for module 'atanl'.
36075         * modules/atanl-tests: New file.
36076         * tests/test-atanl.c: New file.
36077
36078         Tests for module 'asinl'.
36079         * modules/asinl-tests: New file.
36080         * tests/test-asinl.c: New file.
36081
36082         Tests for module 'acosl'.
36083         * modules/acosl-tests: New file.
36084         * tests/test-acosl.c: New file.
36085
36086         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
36087         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
36088         tanl): Use the standard gnulib idiom.
36089         * lib/cosl.c: Don't include trigl.c and sincosl.c.
36090         * lib/sinl.c: Likewise.
36091         * lib/tanl.c: Don't include trigl.c.
36092         (kernel_tanl): Make static.
36093         * lib/sincosl.c: Include trigl.h first.
36094         * lib/trigl.c: Likewise.
36095         * m4/acosl.m4: New file.
36096         * m4/asinl.m4: New file.
36097         * m4/atanl.m4: New file.
36098         * m4/cosl.m4: New file.
36099         * m4/expl.m4: New file.
36100         * m4/logl.m4: New file.
36101         * m4/sinl.m4: New file.
36102         * m4/sqrtl.m4: New file.
36103         * m4/tanl.m4: New file.
36104         * m4/mathl.m4: Remove file.
36105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
36106         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
36107         Don't initialize GNULIB_MATHL.
36108         * modules/acosl: New file.
36109         * modules/asinl: New file.
36110         * modules/atanl: New file.
36111         * modules/cosl: New file.
36112         * modules/expl: New file.
36113         * modules/logl: New file.
36114         * modules/sinl: New file.
36115         * modules/sqrtl: New file.
36116         * modules/tanl: New file.
36117         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
36118         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
36119         substitute GNULIB_MATHL.
36120         * modules/mathl: Rewritten.
36121         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
36122         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
36123         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
36124         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
36125         * doc/posix-functions/expl.texi: Mention the 'expl' module.
36126         * doc/posix-functions/logl.texi: Mention the 'logl' module.
36127         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
36128         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
36129         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
36130
36131 2010-01-18  Bruno Haible  <bruno@clisp.org>
36132
36133         sqrt: Make gl_FUNC_SQRT requirable.
36134         * m4/sqrt.m4: New file.
36135         * modules/sqrt (Files): Add it.
36136         (configure.ac): Invoke gl_FUNC_SQRT.
36137
36138 2010-01-18  Bruno Haible  <bruno@clisp.org>
36139
36140         New modules for common <math.h> functions.
36141         * m4/mathfunc.m4: New file.
36142         * modules/acos: New file.
36143         * modules/asin: New file.
36144         * modules/atan: New file.
36145         * modules/atan2: New file.
36146         * modules/cbrt: New file.
36147         * modules/copysign: New file.
36148         * modules/cos: New file.
36149         * modules/cosh: New file.
36150         * modules/erf: New file.
36151         * modules/erfc: New file.
36152         * modules/exp: New file.
36153         * modules/fabs: New file.
36154         * modules/fmod: New file.
36155         * modules/hypot: New file.
36156         * modules/j0: New file.
36157         * modules/j1: New file.
36158         * modules/jn: New file.
36159         * modules/ldexp: New file.
36160         * modules/lgamma: New file.
36161         * modules/log: New file.
36162         * modules/log10: New file.
36163         * modules/log1p: New file.
36164         * modules/logb: New file.
36165         * modules/modf: New file.
36166         * modules/nextafter: New file.
36167         * modules/pow: New file.
36168         * modules/remainder: New file.
36169         * modules/rint: New file.
36170         * modules/sin: New file.
36171         * modules/sinh: New file.
36172         * modules/sqrt: New file.
36173         * modules/tan: New file.
36174         * modules/tanh: New file.
36175         * modules/y0: New file.
36176         * modules/y1: New file.
36177         * modules/yn: New file.
36178         * doc/posix-functions/acos.texi: Mention the 'acos' module.
36179         * doc/posix-functions/asin.texi: Mention the 'asin' module.
36180         * doc/posix-functions/atan.texi: Mention the 'atan' module.
36181         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
36182         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
36183         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
36184         * doc/posix-functions/cos.texi: Mention the 'cos' module.
36185         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
36186         * doc/posix-functions/erf.texi: Mention the 'erf' module.
36187         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
36188         * doc/posix-functions/exp.texi: Mention the 'exp' module.
36189         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
36190         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
36191         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
36192         * doc/posix-functions/j0.texi: Mention the 'j0' module.
36193         * doc/posix-functions/j1.texi: Mention the 'j1' module.
36194         * doc/posix-functions/jn.texi: Mention the 'jn' module.
36195         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
36196         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
36197         * doc/posix-functions/log.texi: Mention the 'log' module.
36198         * doc/posix-functions/log10.texi: Mention the 'log10' module.
36199         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
36200         * doc/posix-functions/logb.texi: Mention the 'logb' module.
36201         * doc/posix-functions/modf.texi: Mention the 'modf' module.
36202         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
36203         * doc/posix-functions/pow.texi: Mention the 'pow' module.
36204         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
36205         * doc/posix-functions/rint.texi: Mention the 'rint' module.
36206         * doc/posix-functions/sin.texi: Mention the 'sin' module.
36207         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
36208         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
36209         * doc/posix-functions/tan.texi: Mention the 'tan' module.
36210         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
36211         * doc/posix-functions/y0.texi: Mention the 'y0' module.
36212         * doc/posix-functions/y1.texi: Mention the 'y1' module.
36213         * doc/posix-functions/yn.texi: Mention the 'yn' module.
36214
36215 2010-01-18  Jim Meyering  <meyering@redhat.com>
36216
36217         ignore-value: relax license to LGPLv2+
36218         * modules/ignore-value (License): Relax to LGPLv2+.
36219
36220         getdate: don't leak when TZ contains two or more '"'s
36221         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
36222         double quote in TZ after the first one.
36223
36224         readtokens: do not leak internal token_lengths buffer
36225         * lib/readtokens.c (readtokens): Free the local, lengths,
36226         when the supplied "token_lengths" parameter is NULL.
36227
36228 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36229
36230         Fix a couple of missing LIBTHREAD link failures on AIX.
36231         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
36232         $(LIBTHREAD).
36233         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
36234
36235         Link test-poll against INET_PTON_LIB.
36236         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
36237         for inet_pton on Solaris 10.
36238
36239 2010-01-17  Bruno Haible  <bruno@clisp.org>
36240
36241         unistdio/*-sprintf: Fix typo in module description.
36242         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
36243         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
36244         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
36245         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
36246         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
36247         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
36248         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
36249         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36250
36251 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36252
36253         gnulib-tool: fix filelist for AIX, HP-UX ksh.
36254         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
36255         variables in shell case patterns, for AIX and HP-UX ksh.
36256
36257         Split large sed scripts, for HP-UX sed.
36258         * modules/stdio: Split sed scripts around 50 sed commands,
36259         to avoid HP-UX limit of 99 commands, in the near future.
36260         * modules/string: Likewise.
36261         * modules/unistd: Likewise.
36262
36263         gnulib-tool: avoid writing in the current directory.
36264         * gnulib-tool (func_emit_lib_Makefile_am)
36265         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
36266         not in the current directory, so concurrent gnulib-tool
36267         instances do not interfere.
36268
36269 2010-01-16  Jim Meyering  <meyering@redhat.com>
36270
36271         doc: update users.txt
36272         * users.txt: Add grep.
36273         (diffutils, gzip): Update URLs.
36274
36275 2010-01-12  Bruno Haible  <bruno@clisp.org>
36276
36277         posix_spawn: Avoid test failure on Cygwin.
36278         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
36279         characters.
36280         Reported by Simon Josefsson.
36281
36282 2010-01-12  Bruno Haible  <bruno@clisp.org>
36283
36284         * tests/test-cond.c (main): When skipping the test, show the reason.
36285
36286 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36287
36288         * lib/striconv.c (str_cd_iconv): Avoid if before free.
36289
36290 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36291
36292         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
36293         VC_LIST_ALWAYS_EXCLUDE_REGEX.
36294
36295 2010-01-12  Eric Blake  <ebb9@byu.net>
36296
36297         build: guarantee AS_VAR_IF
36298         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
36299         (gl_AS_VAR_IF): Move...
36300         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
36301         Reported by Simon Josefsson.
36302
36303 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36304
36305         * lib/stdio.in.h: Fix typo.
36306
36307 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36308
36309         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
36310         libgpg-error.
36311
36312 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36313
36314         * tests/test-xalloc-die.sh: Use $EXEEXT.
36315
36316 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36317             Bruno Haible  <bruno@clisp.org>
36318
36319         getlogin, getlogin_r: Avoid test failure.
36320         * tests/test-getlogin.c: Include <stdio.h>.
36321         (main): Skip the test when the function fails because stdin is not a
36322         tty.
36323         * tests/test-getlogin_r.c: Include <stdio.h>.
36324         (main): Skip the test when the function fails because stdin is not a
36325         tty.
36326
36327 2010-01-11  Eric Blake  <ebb9@byu.net>
36328
36329         tests: avoid more large file warnings
36330         * tests/test-fflush.c: Avoid warning about ftell use.
36331         * tests/test-fseek.c: Avoid warning about fseek use.
36332
36333 2010-01-10  Bruno Haible  <bruno@clisp.org>
36334
36335         nproc: Work better on Linux when /proc and /sys are not mounted.
36336         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
36337         as lower bound when, on glibc/Linux systems,
36338         sysconf (_SC_NPROCESSORS_CONF) returns 1.
36339         Suggested by Pádraig Brady <P@draigbrady.com>.
36340         Reported by Dmitry V. Levin <ldv@altlinux.org>.
36341
36342         nproc: Refactor.
36343         * lib/nproc.c (num_processors_via_affinity_mask): New function,
36344         extracted from num_processors.
36345         (num_processors): Call it.
36346
36347 2010-01-11  Jim Meyering  <meyering@redhat.com>
36348
36349         utimecmp: avoid new warning from upcoming gcc-4.5.0
36350         * lib/utimecmp.c (BILLION): Define using #define rather than an
36351         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
36352
36353 2010-01-11  Eric Blake  <ebb9@byu.net>
36354
36355         math: add portability warnings for classification macros
36356         * modules/math (Depends-on): Add warn-on-use.
36357         (Makefile.am): Provide new substitutions.
36358         * m4/math_h.m4 (gl_MATH_H): Require inline.
36359         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
36360         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
36361         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
36362         implement warnings.
36363
36364         unistd: warn on use of environ without module
36365         * modules/unistd (Depends-on): Add warn-on-use.
36366         (Makefile.am): Provide new substitutions.
36367         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
36368         * lib/unistd.in.h (environ): Wrap with a warning helper function.
36369
36370         stdio: warn on suspicious uses
36371         * modules/stdio (Depends-on): Add warn-on-use.
36372         (Makefile.am): Provide new substitutions.
36373         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
36374         fseeko.
36375         * lib/stdio.in.h (gets): Always warn on use.
36376         (fseek, ftell): Adjust when warnings are issued, and honor
36377         _GL_NO_LARGE_FILES as a way to silence the warning.
36378         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
36379         any warning about large file offsets.
36380         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
36381         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
36382         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
36383         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
36384         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
36385         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
36386         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
36387         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
36388
36389         warn-on-use: new module
36390         * modules/warn-on-use: New file.
36391         * build-aux/warn-on-use.h: Likewise.
36392         * m4/warn-on-use.m4: Likewise.
36393         * MODULES.html.sh (Support for building): Mention it.
36394
36395 2010-01-10  Bruno Haible  <bruno@clisp.org>
36396
36397         Tests for module 'unistr/u32-strdup'.
36398         * modules/unistr/u32-strdup-tests: New file.
36399         * tests/unistr/test-u32-strdup.c: New file.
36400
36401         Tests for module 'unistr/u16-strdup'.
36402         * modules/unistr/u16-strdup-tests: New file.
36403         * tests/unistr/test-u16-strdup.c: New file.
36404
36405         Tests for module 'unistr/u8-strdup'.
36406         * modules/unistr/u8-strdup-tests: New file.
36407         * tests/unistr/test-u8-strdup.c: New file.
36408         * tests/unistr/test-strdup.h: New file.
36409
36410         Tests for module 'unistr/u32-strncmp'.
36411         * modules/unistr/u32-strncmp-tests: New file.
36412         * tests/unistr/test-u32-strncmp.c: New file.
36413
36414         Tests for module 'unistr/u16-strncmp'.
36415         * modules/unistr/u16-strncmp-tests: New file.
36416         * tests/unistr/test-u16-strncmp.c: New file.
36417
36418         Tests for module 'unistr/u8-strncmp'.
36419         * modules/unistr/u8-strncmp-tests: New file.
36420         * tests/unistr/test-u8-strncmp.c: New file.
36421         * tests/unistr/test-strncmp.h: New file.
36422
36423         Tests for module 'unistr/u32-strcoll'.
36424         * modules/unistr/u32-strcoll-tests: New file.
36425         * tests/unistr/test-u32-strcoll.c: New file.
36426
36427         Tests for module 'unistr/u16-strcoll'.
36428         * modules/unistr/u16-strcoll-tests: New file.
36429         * tests/unistr/test-u16-strcoll.c: New file.
36430
36431         Tests for module 'unistr/u8-strcoll'.
36432         * modules/unistr/u8-strcoll-tests: New file.
36433         * tests/unistr/test-u8-strcoll.c: New file.
36434
36435         Tests for module 'unistr/u32-strcmp'.
36436         * modules/unistr/u32-strcmp-tests: New file.
36437         * tests/unistr/test-u32-strcmp.c: New file.
36438         * tests/unistr/test-u32-strcmp.h: New file.
36439
36440         Tests for module 'unistr/u16-strcmp'.
36441         * modules/unistr/u16-strcmp-tests: New file.
36442         * tests/unistr/test-u16-strcmp.c: New file.
36443         * tests/unistr/test-u16-strcmp.h: New file.
36444
36445         Tests for module 'unistr/u8-strcmp'.
36446         * modules/unistr/u8-strcmp-tests: New file.
36447         * tests/unistr/test-u8-strcmp.c: New file.
36448         * tests/unistr/test-u8-strcmp.h: New file.
36449         * tests/unistr/test-strcmp.h: New file.
36450
36451         Tests for module 'unistr/u32-strncat'.
36452         * modules/unistr/u32-strncat-tests: New file.
36453         * tests/unistr/test-u32-strncat.c: New file.
36454
36455         Tests for module 'unistr/u16-strncat'.
36456         * modules/unistr/u16-strncat-tests: New file.
36457         * tests/unistr/test-u16-strncat.c: New file.
36458
36459         Tests for module 'unistr/u8-strncat'.
36460         * modules/unistr/u8-strncat-tests: New file.
36461         * tests/unistr/test-u8-strncat.c: New file.
36462         * tests/unistr/test-strncat.h: New file.
36463
36464         Tests for module 'unistr/u32-strcat'.
36465         * modules/unistr/u32-strcat-tests: New file.
36466         * tests/unistr/test-u32-strcat.c: New file.
36467
36468         Tests for module 'unistr/u16-strcat'.
36469         * modules/unistr/u16-strcat-tests: New file.
36470         * tests/unistr/test-u16-strcat.c: New file.
36471
36472         Tests for module 'unistr/u8-strcat'.
36473         * modules/unistr/u8-strcat-tests: New file.
36474         * tests/unistr/test-u8-strcat.c: New file.
36475         * tests/unistr/test-strcat.h: New file.
36476
36477         Tests for module 'unistr/u32-stpncpy'.
36478         * modules/unistr/u32-stpncpy-tests: New file.
36479         * tests/unistr/test-u32-stpncpy.c: New file.
36480
36481         Tests for module 'unistr/u16-stpncpy'.
36482         * modules/unistr/u16-stpncpy-tests: New file.
36483         * tests/unistr/test-u16-stpncpy.c: New file.
36484
36485         Tests for module 'unistr/u8-stpncpy'.
36486         * modules/unistr/u8-stpncpy-tests: New file.
36487         * tests/unistr/test-u8-stpncpy.c: New file.
36488         * tests/unistr/test-stpncpy.h: New file.
36489
36490         Tests for module 'unistr/u32-strncpy'.
36491         * modules/unistr/u32-strncpy-tests: New file.
36492         * tests/unistr/test-u32-strncpy.c: New file.
36493
36494         Tests for module 'unistr/u16-strncpy'.
36495         * modules/unistr/u16-strncpy-tests: New file.
36496         * tests/unistr/test-u16-strncpy.c: New file.
36497
36498         Tests for module 'unistr/u8-strncpy'.
36499         * modules/unistr/u8-strncpy-tests: New file.
36500         * tests/unistr/test-u8-strncpy.c: New file.
36501         * tests/unistr/test-strncpy.h: New file.
36502
36503         Tests for module 'unistr/u32-stpcpy'.
36504         * modules/unistr/u32-stpcpy-tests: New file.
36505         * tests/unistr/test-u32-stpcpy.c: New file.
36506
36507         Tests for module 'unistr/u16-stpcpy'.
36508         * modules/unistr/u16-stpcpy-tests: New file.
36509         * tests/unistr/test-u16-stpcpy.c: New file.
36510
36511         Tests for module 'unistr/u8-stpcpy'.
36512         * modules/unistr/u8-stpcpy-tests: New file.
36513         * tests/unistr/test-u8-stpcpy.c: New file.
36514         * tests/unistr/test-stpcpy.h: New file.
36515
36516         Tests for module 'unistr/u32-strcpy'.
36517         * modules/unistr/u32-strcpy-tests: New file.
36518         * tests/unistr/test-u32-strcpy.c: New file.
36519
36520         Tests for module 'unistr/u16-strcpy'.
36521         * modules/unistr/u16-strcpy-tests: New file.
36522         * tests/unistr/test-u16-strcpy.c: New file.
36523
36524         Tests for module 'unistr/u8-strcpy'.
36525         * modules/unistr/u8-strcpy-tests: New file.
36526         * tests/unistr/test-u8-strcpy.c: New file.
36527         * tests/unistr/test-strcpy.h: New file.
36528
36529         Tests for module 'unistr/u32-strnlen'.
36530         * modules/unistr/u32-strnlen-tests: New file.
36531         * tests/unistr/test-u32-strnlen.c: New file.
36532
36533         Tests for module 'unistr/u16-strnlen'.
36534         * modules/unistr/u16-strnlen-tests: New file.
36535         * tests/unistr/test-u16-strnlen.c: New file.
36536
36537         Tests for module 'unistr/u8-strnlen'.
36538         * modules/unistr/u8-strnlen-tests: New file.
36539         * tests/unistr/test-u8-strnlen.c: New file.
36540         * tests/unistr/test-strnlen.h: New file.
36541
36542         Tests for module 'unistr/u32-strlen'.
36543         * modules/unistr/u32-strlen-tests: New file.
36544         * tests/unistr/test-u32-strlen.c: New file.
36545
36546         Tests for module 'unistr/u16-strlen'.
36547         * modules/unistr/u16-strlen-tests: New file.
36548         * tests/unistr/test-u16-strlen.c: New file.
36549
36550         Tests for module 'unistr/u8-strlen'.
36551         * modules/unistr/u8-strlen-tests: New file.
36552         * tests/unistr/test-u8-strlen.c: New file.
36553
36554         Tests for module 'unistr/u32-prev'.
36555         * modules/unistr/u32-prev-tests: New file.
36556         * tests/unistr/test-u32-prev.c: New file.
36557
36558         Tests for module 'unistr/u16-prev'.
36559         * modules/unistr/u16-prev-tests: New file.
36560         * tests/unistr/test-u16-prev.c: New file.
36561
36562         Tests for module 'unistr/u8-prev'.
36563         * modules/unistr/u8-prev-tests: New file.
36564         * tests/unistr/test-u8-prev.c: New file.
36565
36566         Tests for module 'unistr/u32-next'.
36567         * modules/unistr/u32-next-tests: New file.
36568         * tests/unistr/test-u32-next.c: New file.
36569
36570         Tests for module 'unistr/u16-next'.
36571         * modules/unistr/u16-next-tests: New file.
36572         * tests/unistr/test-u16-next.c: New file.
36573
36574         Tests for module 'unistr/u8-next'.
36575         * modules/unistr/u8-next-tests: New file.
36576         * tests/unistr/test-u8-next.c: New file.
36577
36578         Tests for module 'unistr/u32-strmbtouc'.
36579         * modules/unistr/u32-strmbtouc-tests: New file.
36580         * tests/unistr/test-u32-strmbtouc.c: New file.
36581
36582         Tests for module 'unistr/u16-strmbtouc'.
36583         * modules/unistr/u16-strmbtouc-tests: New file.
36584         * tests/unistr/test-u16-strmbtouc.c: New file.
36585
36586         Tests for module 'unistr/u8-strmbtouc'.
36587         * modules/unistr/u8-strmbtouc-tests: New file.
36588         * tests/unistr/test-u8-strmbtouc.c: New file.
36589
36590         Tests for module 'unistr/u32-strmblen'.
36591         * modules/unistr/u32-strmblen-tests: New file.
36592         * tests/unistr/test-u32-strmblen.c: New file.
36593
36594         Tests for module 'unistr/u16-strmblen'.
36595         * modules/unistr/u16-strmblen-tests: New file.
36596         * tests/unistr/test-u16-strmblen.c: New file.
36597
36598         Tests for module 'unistr/u8-strmblen'.
36599         * modules/unistr/u8-strmblen-tests: New file.
36600         * tests/unistr/test-u8-strmblen.c: New file.
36601
36602         Tests for module 'unistr/u32-cpy-alloc'.
36603         * modules/unistr/u32-cpy-alloc-tests: New file.
36604         * tests/unistr/test-u32-cpy-alloc.c: New file.
36605
36606         Tests for module 'unistr/u16-cpy-alloc'.
36607         * modules/unistr/u16-cpy-alloc-tests: New file.
36608         * tests/unistr/test-u16-cpy-alloc.c: New file.
36609
36610         Tests for module 'unistr/u8-cpy-alloc'.
36611         * modules/unistr/u8-cpy-alloc-tests: New file.
36612         * tests/unistr/test-u8-cpy-alloc.c: New file.
36613         * tests/unistr/test-cpy-alloc.h: New file.
36614
36615         Tests for module 'unistr/u32-mbsnlen'.
36616         * modules/unistr/u32-mbsnlen-tests: New file.
36617         * tests/unistr/test-u32-mbsnlen.c: New file.
36618
36619         Tests for module 'unistr/u16-mbsnlen'.
36620         * modules/unistr/u16-mbsnlen-tests: New file.
36621         * tests/unistr/test-u16-mbsnlen.c: New file.
36622
36623         Tests for module 'unistr/u8-mbsnlen'.
36624         * modules/unistr/u8-mbsnlen-tests: New file.
36625         * tests/unistr/test-u8-mbsnlen.c: New file.
36626
36627         Tests for module 'unistr/u32-chr'.
36628         * modules/unistr/u32-chr-tests: New file.
36629         * tests/unistr/test-u32-chr.c: New file.
36630
36631         Tests for module 'unistr/u16-chr'.
36632         * modules/unistr/u16-chr-tests: New file.
36633         * tests/unistr/test-u16-chr.c: New file.
36634
36635         Tests for module 'unistr/u8-chr'.
36636         * modules/unistr/u8-chr-tests: New file.
36637         * tests/unistr/test-u8-chr.c: New file.
36638         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
36639
36640         Tests for module 'unistr/u32-cmp2'.
36641         * modules/unistr/u32-cmp2-tests: New file.
36642         * tests/unistr/test-u32-cmp2.c: New file.
36643
36644         Tests for module 'unistr/u16-cmp2'.
36645         * modules/unistr/u16-cmp2-tests: New file.
36646         * tests/unistr/test-u16-cmp2.c: New file.
36647
36648         Tests for module 'unistr/u8-cmp2'.
36649         * modules/unistr/u8-cmp2-tests: New file.
36650         * tests/unistr/test-u8-cmp2.c: New file.
36651         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
36652
36653         Tests for module 'unistr/u32-cmp'.
36654         * modules/unistr/u32-cmp-tests: New file.
36655         * tests/unistr/test-u32-cmp.c: New file.
36656
36657         Tests for module 'unistr/u16-cmp'.
36658         * modules/unistr/u16-cmp-tests: New file.
36659         * tests/unistr/test-u16-cmp.c: New file.
36660
36661         Tests for module 'unistr/u8-cmp'.
36662         * modules/unistr/u8-cmp-tests: New file.
36663         * tests/unistr/test-u8-cmp.c: New file.
36664         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
36665
36666         Tests for module 'unistr/u32-set'.
36667         * modules/unistr/u32-set-tests: New file.
36668         * tests/unistr/test-u32-set.c: New file.
36669
36670         Tests for module 'unistr/u16-set'.
36671         * modules/unistr/u16-set-tests: New file.
36672         * tests/unistr/test-u16-set.c: New file.
36673
36674         Tests for module 'unistr/u8-set'.
36675         * modules/unistr/u8-set-tests: New file.
36676         * tests/unistr/test-u8-set.c: New file.
36677         * tests/unistr/test-set.h: New file.
36678
36679         Tests for module 'unistr/u32-move'.
36680         * modules/unistr/u32-move-tests: New file.
36681         * tests/unistr/test-u32-move.c: New file.
36682
36683         Tests for module 'unistr/u16-move'.
36684         * modules/unistr/u16-move-tests: New file.
36685         * tests/unistr/test-u16-move.c: New file.
36686
36687         Tests for module 'unistr/u8-move'.
36688         * modules/unistr/u8-move-tests: New file.
36689         * tests/unistr/test-u8-move.c: New file.
36690         * tests/unistr/test-move.h: New file.
36691
36692         Tests for module 'unistr/u32-cpy'.
36693         * modules/unistr/u32-cpy-tests: New file.
36694         * tests/unistr/test-u32-cpy.c: New file.
36695
36696         Tests for module 'unistr/u16-cpy'.
36697         * modules/unistr/u16-cpy-tests: New file.
36698         * tests/unistr/test-u16-cpy.c: New file.
36699
36700         Tests for module 'unistr/u8-cpy'.
36701         * modules/unistr/u8-cpy-tests: New file.
36702         * tests/unistr/test-u8-cpy.c: New file.
36703         * tests/unistr/test-cpy.h: New file.
36704
36705 2010-01-09  Bruno Haible  <bruno@clisp.org>
36706
36707         Tests for module 'unistr/u32-uctomb'.
36708         * modules/unistr/u32-uctomb-tests: New file.
36709         * tests/unistr/test-u32-uctomb.c: New file.
36710
36711         Tests for module 'unistr/u16-uctomb'.
36712         * modules/unistr/u16-uctomb-tests: New file.
36713         * tests/unistr/test-u16-uctomb.c: New file.
36714
36715         Tests for module 'unistr/u8-uctomb'.
36716         * modules/unistr/u8-uctomb-tests: New file.
36717         * tests/unistr/test-u8-uctomb.c: New file.
36718
36719         Tests for module 'unistr/u32-mbtoucr'.
36720         * modules/unistr/u32-mbtoucr-tests: New file.
36721         * tests/unistr/test-u32-mbtoucr.c: New file.
36722
36723         Tests for module 'unistr/u16-mbtoucr'.
36724         * modules/unistr/u16-mbtoucr-tests: New file.
36725         * tests/unistr/test-u16-mbtoucr.c: New file.
36726
36727         Tests for module 'unistr/u8-mbtoucr'.
36728         * modules/unistr/u8-mbtoucr-tests: New file.
36729         * tests/unistr/test-u8-mbtoucr.c: New file.
36730
36731         Tests for module 'unistr/u32-mbtouc'.
36732         * modules/unistr/u32-mbtouc-tests: New file.
36733         * tests/unistr/test-u32-mbtouc.c: New file.
36734
36735         Tests for module 'unistr/u16-mbtouc'.
36736         * modules/unistr/u16-mbtouc-tests: New file.
36737         * tests/unistr/test-u16-mbtouc.c: New file.
36738
36739         Tests for module 'unistr/u8-mbtouc'.
36740         * modules/unistr/u8-mbtouc-tests: New file.
36741         * tests/unistr/test-u8-mbtouc.c: New file.
36742
36743         Tests for module 'unistr/u32-mbtouc-unsafe'.
36744         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
36745         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
36746         * tests/unistr/test-u32-mbtouc.h: New file.
36747
36748         Tests for module 'unistr/u16-mbtouc-unsafe'.
36749         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
36750         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
36751         * tests/unistr/test-u16-mbtouc.h: New file.
36752
36753         Tests for module 'unistr/u8-mbtouc-unsafe'.
36754         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
36755         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
36756         * tests/unistr/test-u8-mbtouc.h: New file.
36757
36758         Tests for module 'unistr/u32-mblen'.
36759         * modules/unistr/u32-mblen-tests: New file.
36760         * tests/unistr/test-u32-mblen.c: New file.
36761
36762         Tests for module 'unistr/u16-mblen'.
36763         * modules/unistr/u16-mblen-tests: New file.
36764         * tests/unistr/test-u16-mblen.c: New file.
36765
36766         Tests for module 'unistr/u8-mblen'.
36767         * modules/unistr/u8-mblen-tests: New file.
36768         * tests/unistr/test-u8-mblen.c: New file.
36769
36770         Tests for module 'unistr/u32-to-u16'.
36771         * modules/unistr/u32-to-u16-tests: New file.
36772         * tests/unistr/test-u32-to-u16.c: New file.
36773
36774         Tests for module 'unistr/u32-to-u8'.
36775         * modules/unistr/u32-to-u8-tests: New file.
36776         * tests/unistr/test-u32-to-u8.c: New file.
36777
36778         Tests for module 'unistr/u16-to-u32'.
36779         * modules/unistr/u16-to-u32-tests: New file.
36780         * tests/unistr/test-u16-to-u32.c: New file.
36781
36782         Tests for module 'unistr/u16-to-u8'.
36783         * modules/unistr/u16-to-u8-tests: New file.
36784         * tests/unistr/test-u16-to-u8.c: New file.
36785
36786         Tests for module 'unistr/u8-to-u32'.
36787         * modules/unistr/u8-to-u32-tests: New file.
36788         * tests/unistr/test-u8-to-u32.c: New file.
36789
36790         Tests for module 'unistr/u8-to-u16'.
36791         * modules/unistr/u8-to-u16-tests: New file.
36792         * tests/unistr/test-u8-to-u16.c: New file.
36793
36794         Tests for module 'unistr/u32-check'.
36795         * modules/unistr/u32-check-tests: New file.
36796         * tests/unistr/test-u32-check.c: New file.
36797
36798         Tests for module 'unistr/u16-check'.
36799         * modules/unistr/u16-check-tests: New file.
36800         * tests/unistr/test-u16-check.c: New file.
36801
36802         Tests for module 'unistr/u8-check'.
36803         * modules/unistr/u8-check-tests: New file.
36804         * tests/unistr/test-u8-check.c: New file.
36805
36806         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
36807         (category_equals): New function.
36808         (main): Add more tests.
36809         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
36810
36811         * tests/unictype/test-bidi_byname.c (main): Add more tests.
36812
36813 2010-01-10  Bruno Haible  <bruno@clisp.org>
36814
36815         unistr/u*-strcoll: Try harder to distinguish different strings.
36816         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
36817         compare s1 and s2 to see if they are different.
36818
36819 2010-01-10  Bruno Haible  <bruno@clisp.org>
36820
36821         unistr/u*-stpncpy: Fix the return value.
36822         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
36823         description of the return value consistent with stpncpy in glibc.
36824         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
36825         written non-NUL unit.
36826
36827 2010-01-10  Bruno Haible  <bruno@clisp.org>
36828
36829         unistr/u*-next: Add missing dependencies.
36830         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
36831         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
36832         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
36833
36834 2010-01-10  Bruno Haible  <bruno@clisp.org>
36835
36836         unistr/u8-mbsnlen: Fix return value for incomplete character.
36837         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
36838         u8_mblen.
36839         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
36840         Remove unistr/u8-mblen.
36841         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
36842         u16_mblen.
36843         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
36844         Remove unistr/u16-mblen.
36845
36846 2010-01-10  Bruno Haible  <bruno@clisp.org>
36847
36848         wchar: Fix compilation error when <wchar.h> is used from coreutils.
36849         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
36850         Reported by Brian Gough <bjg@gnu.org> and
36851         Chris Clayton <chris2553@googlemail.com> via
36852         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
36853
36854 2010-01-09  Bruno Haible  <bruno@clisp.org>
36855
36856         unistr/u16-to-u32: Reject invalid input.
36857         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
36858         u16_mbtouc.
36859         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
36860         Remove unistr/u16-mbtouc.
36861
36862         unistr/u16-to-u8: Reject invalid input.
36863         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
36864         u16_mbtouc.
36865         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
36866         Remove unistr/u16-mbtouc.
36867
36868         unistr/u8-to-u32: Reject invalid input.
36869         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
36870         u8_mbtouc.
36871         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
36872         Remove unistr/u8-mbtouc.
36873
36874         unistr/u8-to-u16: Reject invalid input.
36875         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
36876         u8_mbtouc.
36877         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
36878         Remove unistr/u8-mbtouc.
36879
36880 2010-01-09  Bruno Haible  <bruno@clisp.org>
36881
36882         Tests for module 'getlogin'.
36883         * modules/getlogin-tests: New file.
36884         * tests/test-getlogin.c: New file.
36885
36886         New module 'getlogin'.
36887         * lib/unistd.in.h (getlogin): New declaration.
36888         * lib/getlogin.c: New file.
36889         * m4/getlogin.m4: New file.
36890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
36891         HAVE_GETLOGIN.
36892         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
36893         HAVE_GETLOGIN.
36894         * modules/getlogin: New file.
36895         * doc/posix-functions/getlogin.texi: Mention the new module.
36896         Reported by John W. Eaton <jwe@gnu.org>.
36897
36898 2010-01-09  Bruno Haible  <bruno@clisp.org>
36899
36900         getlogin_r: Support for native Windows.
36901         * lib/getlogin_r.c: Include <windows.h>
36902         (getlogin_r): Implement for native Windows.
36903         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
36904         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
36905         via John W. Eaton <jwe@gnu.org>.
36906
36907 2010-01-09  Bruno Haible  <bruno@clisp.org>
36908
36909         getlogin_r: Small fixes.
36910         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
36911         succeeds.
36912         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
36913         before testing whether getlogin_r is declared. No need to set
36914         HAVE_DECL_GETLOGIN_R to 1.
36915         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
36916
36917 2010-01-09  Bruno Haible  <bruno@clisp.org>
36918
36919         * lib/unistd.in.h (getlogin_r): Add comment.
36920
36921 2010-01-09  Bruno Haible  <bruno@clisp.org>
36922
36923         Tests for module 'getlogin_r'.
36924         * modules/getlogin_r-tests: New file.
36925         * tests/test-getlogin_r.c: New file.
36926
36927 2010-01-09  Jim Meyering  <meyering@redhat.com>
36928
36929         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
36930         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
36931         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
36932
36933 2010-01-08  Simon Josefsson  <simon@josefsson.org>
36934
36935         * lib/dup2.c (rpl_dup2): Improve comment.
36936
36937 2010-01-08  Eric Blake  <ebb9@byu.net>
36938
36939         maint.mk: allow packages to add makefile @@ exceptions
36940         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
36941         (sc_makefile_check): Rename...
36942         (sc_makefile_at_at_check): ...to this, and use hook.
36943
36944         dup2: work around mingw bug
36945         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
36946         Reported by Simon Josefsson.
36947
36948 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
36949
36950         glob: Fix C++ compilation.
36951         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
36952         C++.
36953
36954 2010-01-07  Bruno Haible  <bruno@clisp.org>
36955
36956         Fix indentation of wctype.in.h, broken since 2007-01-06.
36957         * lib/wctype.in.h: Fix indentation of preprocessor directives.
36958
36959 2010-01-07  Bruno Haible  <bruno@clisp.org>
36960
36961         mbslen: Avoid collision with system function.
36962         * lib/string.in.h [MirBSD]: Include <wchar.h>.
36963         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
36964         * m4/mbslen.m4: New file.
36965         * modules/mbslen (Files): Add it.
36966         (configure.ac): Invoke gl_MBSLEN.
36967         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
36968         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
36969         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
36970         via Ian Beckwith <ianb@erislabs.net>.
36971
36972 2010-01-07  Bruno Haible  <bruno@clisp.org>
36973
36974         dirent: Document the last fix.
36975         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
36976
36977 2010-01-07  Bruno Haible  <bruno@clisp.org>
36978
36979         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
36980         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
36981         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
36982         va_list are defined.
36983         * doc/posix-headers/stdio.texi: Document the bug of missing types.
36984         Reported by Eric Blake.
36985
36986 2010-01-07  Bruno Haible  <bruno@clisp.org>
36987
36988         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
36989         * modules/xlist (Depends-on): Add 'list',
36990         * modules/xoset (Depends-on): Add 'oset'.
36991         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36992
36993 2010-01-07  Bruno Haible  <bruno@clisp.org>
36994
36995         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
36996         * doc/posix-functions/strncasecmp.texi: Likewise.
36997
36998 2010-01-07  Bruno Haible  <bruno@clisp.org>
36999
37000         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
37001
37002 2010-01-07  John W. Eaton  <jwe@octave.org>
37003
37004         wctype: allow C++ use
37005         * lib/wctype.in.h: Add extern "C" block for C++.
37006
37007 2010-01-06  Eric Blake  <ebb9@byu.net>
37008
37009         maint.mk: detect incorrect GFDL usage
37010         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
37011
37012 2010-01-06  Jim Meyering  <meyering@redhat.com>
37013         and Eric Blake  <ebb9@byu.net>
37014
37015         maint.mk: ignore multi-line copyright in NEWS
37016         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
37017
37018 2010-01-06  Eric Blake  <ebb9@byu.net>
37019
37020         select: add missing dependency
37021         * modules/select-tests (Depends-on): Move sockets dependency...
37022         * modules/select (Depends-on): ...here.
37023         Reported by Ian Beckwith.
37024
37025         doc: regenerate INSTALL
37026         * doc/INSTALL: Reflect recent autoconf update.
37027         * doc/INSTALL.ISO: Likewise.
37028         * doc/INSTALL.UTF-8: Likewise.
37029
37030         pread: fix compilation on glibc
37031         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
37032         Reported by Ralf Wildenhues.
37033
37034         dirent: fix test failure
37035         * lib/dirent.in.h (includes): Guarantee ino_t.
37036         Reported by Ralf Wildenhues.
37037
37038 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
37039
37040         linkat, renameat: avoid bad free
37041         * lib/at-func2.c (at_func2): Fix typo.
37042         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
37043
37044 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37045
37046         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
37047         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
37048         to avoid failure of symlink test later.
37049
37050 2010-01-06  Eric Blake  <ebb9@byu.net>
37051
37052         stdio, unistd: guarantee ssize_t
37053         * lib/unistd.in.h (includes): Ensure that types required by POSIX
37054         2008 are exposed when needed.
37055         * lib/stdio.in.h (includes): Likewise.
37056         Reported by Ralf Wildenhues.
37057
37058 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
37059
37060         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
37061         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
37062         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
37063
37064 2010-01-06  Jim Meyering  <meyering@redhat.com>
37065
37066         readtokens: this module *does* require xalloc.h
37067         It uses only functions that were omitted by the old syntax-check rule.
37068         * lib/readtokens.c: Include "xalloc.h" once again.
37069         * modules/readtokens (Depends-on): Add xalloc.
37070         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
37071
37072 2010-01-05  Eric Blake  <ebb9@byu.net>
37073
37074         maint: support 'make announcement' from a VPATH build
37075         * top/maint.mk (announcement): Look for correct NEWS file.
37076
37077 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
37078
37079         utimens (fdutimens): ignore a negative FD, per contract
37080         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
37081         when we have a valid file descriptor.  Otherwise, using a brand
37082         new glibc (with just-patched futimens that now fails with EBADF)
37083         would cause this function to fail with ENOSYS.
37084         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
37085         See also http://bugzilla.redhat.com/552320.
37086
37087 2010-01-05  Eric Blake  <ebb9@byu.net>
37088
37089         strcase: document what it provides
37090         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
37091         gnulib module.
37092         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
37093         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
37094
37095 2010-01-05  Jim Meyering  <meyering@redhat.com>
37096
37097         maint: remove useless inclusions of "xalloc.h"
37098         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
37099         * lib/readtokens.c: Likewise.
37100         * lib/same.c: Likewise.
37101         * modules/getloadavg (Depends-on): Remove xalloc.
37102         * modules/readtokens: Likewise.
37103         * modules/same: Likewise.
37104
37105         maint.mk: include 4 more function names in alloca.h-checking regexp
37106         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
37107         regexp.  Before, we would give a false-positive (saying alloca.h
37108         is included unnecessarily) when the only uses involved omitted symbols.
37109
37110         xalloc.h: use consistent formatting
37111         * lib/xalloc.h: Move declarations to start in the first column.
37112
37113 2010-01-05  Eric Blake  <ebb9@byu.net>
37114
37115         mkdir: avoid xalloc
37116         * lib/mkdir.c (includes): Drop unused header.
37117         Reported by John W. Eaton.
37118
37119 2010-01-04  Jim Meyering  <meyering@redhat.com>
37120
37121         nl_langinfo: avoid configure-time syntax error
37122         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
37123         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
37124         the empty string.  Don't let that provoke a shell syntax error.
37125
37126         regcomp, regexec, fnmatch: avoid array bounds read error
37127         * lib/regcomp.c (build_equiv_class): From glibc:
37128         Use only the low 24 bits of a findidx return value as an index
37129         into the weights array.  Patch by Ulrich Drepper:
37130         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
37131         * lib/regexec.c (check_node_accept_bytes): Likewise.
37132         * lib/fnmatch_loop.c (FCT): Likewise.
37133
37134         regcomp: skip collseq lookup when there are no rules
37135         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
37136         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
37137
37138         regcomp: recognize ill-formed { } expressions
37139         * lib/regcomp.c (parse_dup_op): From glibc:
37140         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
37141
37142         regcomp: fix typo in comment
37143         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
37144         s/satisfy/satisfies/.
37145
37146         regcomp: sync from glibc: remove dead store
37147         * lib/regcomp.c (duplicate_node_closure): Remove useless
37148         search_duplicated_node call and dead store.
37149
37150         regcomp: sync from glibc; always use nl_langinfo
37151         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
37152         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
37153         * modules/regex (Depends-on): Add nl_langinfo.
37154
37155 2010-01-04  Eric Blake  <ebb9@byu.net>
37156
37157         fdopendir: fix configure test
37158         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
37159
37160 2010-01-01  Bruno Haible  <bruno@clisp.org>
37161
37162         wchar: Remove unused configure check.
37163         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
37164
37165 2010-01-01  Eric Blake  <ebb9@byu.net>
37166
37167         headers: make check of system header explicit
37168         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
37169         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
37170         ourselves.
37171         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37172         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37173         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37174         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
37175         internals.
37176         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
37177         missing.
37178         Suggested by Bruno Haible.
37179
37180 2010-01-01  Jim Meyering  <meyering@redhat.com>
37181
37182         ChangeLog: tweak to eliminate unnecessary copyright line
37183         * ChangeLog: Remove a copyright line that was mistakenly updated
37184         by today's update-copyright run.  Reported by Eric Blake.
37185
37186         test-update-copyright: don't let envvar setting cause test failure
37187         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37188
37189 2010-01-01  Bruno Haible  <bruno@clisp.org>
37190
37191         localename: Avoid gcc warning.
37192         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
37193         function if it is not used.
37194
37195 2010-01-01  Jim Meyering  <meyering@redhat.com>
37196
37197         update nearly all FSF copyright year lists to include 2010
37198         Use the same procedure as for 2009, outlined in
37199         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
37200
37201         version-etc: set COPYRIGHT_YEAR to 2010
37202         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
37203
37204 2009-12-31  Eric Blake  <ebb9@byu.net>
37205
37206         doc: correct availability of cygwin 1.5.x getopt
37207         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
37208         variables.
37209         * doc/posix-functions/opterr.texi (opterr): Likewise.
37210         * doc/posix-functions/optind.texi (optind): Likewise.
37211         * doc/posix-functions/optopt.texi (optopt): Likewise.
37212         * doc/posix-functions/tzname.texi (tzname): Likewise.
37213
37214         openat: update maintainer
37215         * modules/openat (Maintainer): Add myself.
37216
37217         utimens: avoid shadowing warning
37218         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
37219         buffers into one, to avoid shadowing, as well as avoiding a
37220         redundant stat.
37221         Reported by Jim Meyering.
37222
37223         test-dup2: avoid compiler warning
37224         * tests/test-dup2.c (is_inheritable): Only define if used.
37225
37226 2010-01-01  Bruno Haible  <bruno@clisp.org>
37227
37228         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
37229         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
37230         defined, use wctomb instead of wcrtomb.
37231
37232 2010-01-01  Bruno Haible  <bruno@clisp.org>
37233
37234         iconv: Reject native Solaris iconv.
37235         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
37236         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
37237
37238 2009-12-31  Bruno Haible  <bruno@clisp.org>
37239
37240         * tests/test-signal.c (main): Remove test of 'SIG'.
37241
37242 2009-12-31  Bruno Haible  <bruno@clisp.org>
37243
37244         spawn: Fix incomplete fix.
37245         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
37246         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
37247         warnings for GNULIB_POSIXCHECK again.
37248         Reported by Eric Blake.
37249
37250 2009-12-31  Bruno Haible  <bruno@clisp.org>
37251
37252         Avoid namespace pollution on glibc systems.
37253         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
37254         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
37255         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
37256         glibc systems.
37257
37258 2009-12-31  Bruno Haible  <bruno@clisp.org>
37259
37260         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
37261         (gl_REPLACE_WCHAR_H): Turn into a no-op.
37262         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
37263         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
37264         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
37265         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
37266         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
37267
37268 2009-12-31  Bruno Haible  <bruno@clisp.org>
37269
37270         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
37271         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
37272         afterwards.
37273
37274 2009-12-31  Bruno Haible  <bruno@clisp.org>
37275
37276         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
37277         SYS_UTSNAME_H.
37278
37279 2009-12-31  Bruno Haible  <bruno@clisp.org>
37280
37281         spawn: Fix misapplied patch.
37282         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
37283         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
37284         warnings for GNULIB_POSIXCHECK.
37285
37286 2009-12-31  Bruno Haible  <bruno@clisp.org>
37287
37288         times: Update after sys_times changed.
37289         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
37290         * modules/times (Files): Add it.
37291         (configure.ac): Invoke gl_FUNC_TIMES.
37292
37293 2009-12-31  Bruno Haible  <bruno@clisp.org>
37294
37295         Use AC_C_INLINE where necessary.
37296         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
37297         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37298         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
37299         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
37300         * m4/mbfile.m4 (gl_MBFILE): Likewise.
37301         * m4/mbiter.m4 (gl_MBITER): Likewise.
37302         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37303         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37304         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
37305         * modules/u64 (configure.ac): Likewise.
37306
37307 2009-12-31  Bruno Haible  <bruno@clisp.org>
37308
37309         Use AC_C_INLINE instead of module 'inline' where possible.
37310         * modules/inline (Description): Clarify purpose.
37311         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
37312         * modules/count-one-bits (Depends-on): Remove inline.
37313         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
37314         * modules/openat (Depends-on): Remove inline.
37315         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
37316         instead of depending on module 'inline'.
37317         * modules/filevercmp (Depends-on, configure.ac): Likewise.
37318         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
37319         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
37320         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
37321         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
37322         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
37323         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
37324         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
37325         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
37326         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
37327         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
37328         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
37329         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
37330         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
37331         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
37332         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
37333         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
37334         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
37335         Likewise.
37336         * modules/unictype/property-ascii-hex-digit (Depends-on,
37337         configure.ac): Likewise.
37338         * modules/unictype/property-bidi-arabic-digit (Depends-on,
37339         configure.ac): Likewise.
37340         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
37341         configure.ac): Likewise.
37342         * modules/unictype/property-bidi-block-separator (Depends-on,
37343         configure.ac): Likewise.
37344         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
37345         configure.ac): Likewise.
37346         * modules/unictype/property-bidi-common-separator (Depends-on,
37347         configure.ac): Likewise.
37348         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
37349         Likewise.
37350         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
37351         configure.ac): Likewise.
37352         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
37353         configure.ac): Likewise.
37354         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
37355         configure.ac): Likewise.
37356         * modules/unictype/property-bidi-european-digit (Depends-on,
37357         configure.ac): Likewise.
37358         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
37359         configure.ac): Likewise.
37360         * modules/unictype/property-bidi-left-to-right (Depends-on,
37361         configure.ac): Likewise.
37362         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
37363         configure.ac): Likewise.
37364         * modules/unictype/property-bidi-other-neutral (Depends-on,
37365         configure.ac): Likewise.
37366         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
37367         Likewise.
37368         * modules/unictype/property-bidi-segment-separator (Depends-on,
37369         configure.ac): Likewise.
37370         * modules/unictype/property-bidi-whitespace (Depends-on,
37371         configure.ac): Likewise.
37372         * modules/unictype/property-combining (Depends-on, configure.ac):
37373         Likewise.
37374         * modules/unictype/property-composite (Depends-on, configure.ac):
37375         Likewise.
37376         * modules/unictype/property-currency-symbol (Depends-on,
37377         configure.ac): Likewise.
37378         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
37379         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
37380         Likewise.
37381         * modules/unictype/property-default-ignorable-code-point (Depends-on,
37382         configure.ac): Likewise.
37383         * modules/unictype/property-deprecated (Depends-on, configure.ac):
37384         Likewise.
37385         * modules/unictype/property-diacritic (Depends-on, configure.ac):
37386         Likewise.
37387         * modules/unictype/property-extender (Depends-on, configure.ac):
37388         Likewise.
37389         * modules/unictype/property-format-control (Depends-on, configure.ac):
37390         Likewise.
37391         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
37392         Likewise.
37393         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
37394         Likewise.
37395         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
37396         Likewise.
37397         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
37398         Likewise.
37399         * modules/unictype/property-hyphen (Depends-on, configure.ac):
37400         Likewise.
37401         * modules/unictype/property-id-continue (Depends-on, configure.ac):
37402         Likewise.
37403         * modules/unictype/property-id-start (Depends-on, configure.ac):
37404         Likewise.
37405         * modules/unictype/property-ideographic (Depends-on, configure.ac):
37406         Likewise.
37407         * modules/unictype/property-ids-binary-operator (Depends-on,
37408         configure.ac): Likewise.
37409         * modules/unictype/property-ids-trinary-operator (Depends-on,
37410         configure.ac): Likewise.
37411         * modules/unictype/property-ignorable-control (Depends-on,
37412         configure.ac): Likewise.
37413         * modules/unictype/property-iso-control (Depends-on, configure.ac):
37414         Likewise.
37415         * modules/unictype/property-join-control (Depends-on, configure.ac):
37416         Likewise.
37417         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
37418         Likewise.
37419         * modules/unictype/property-line-separator (Depends-on, configure.ac):
37420         Likewise.
37421         * modules/unictype/property-logical-order-exception (Depends-on,
37422         configure.ac): Likewise.
37423         * modules/unictype/property-lowercase (Depends-on, configure.ac):
37424         Likewise.
37425         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
37426         * modules/unictype/property-non-break (Depends-on, configure.ac):
37427         Likewise.
37428         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
37429         Likewise.
37430         * modules/unictype/property-numeric (Depends-on, configure.ac):
37431         Likewise.
37432         * modules/unictype/property-other-alphabetic (Depends-on,
37433         configure.ac): Likewise.
37434         * modules/unictype/property-other-default-ignorable-code-point
37435         (Depends-on, configure.ac): Likewise.
37436         * modules/unictype/property-other-grapheme-extend (Depends-on,
37437         configure.ac): Likewise.
37438         * modules/unictype/property-other-id-continue (Depends-on,
37439         configure.ac): Likewise.
37440         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
37441         Likewise.
37442         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
37443         Likewise.
37444         * modules/unictype/property-other-math (Depends-on, configure.ac):
37445         Likewise.
37446         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
37447         Likewise.
37448         * modules/unictype/property-paired-punctuation (Depends-on,
37449         configure.ac): Likewise.
37450         * modules/unictype/property-paragraph-separator (Depends-on,
37451         configure.ac): Likewise.
37452         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
37453         Likewise.
37454         * modules/unictype/property-pattern-white-space (Depends-on,
37455         configure.ac): Likewise.
37456         * modules/unictype/property-private-use (Depends-on, configure.ac):
37457         Likewise.
37458         * modules/unictype/property-punctuation (Depends-on, configure.ac):
37459         Likewise.
37460         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
37461         Likewise.
37462         * modules/unictype/property-radical (Depends-on, configure.ac):
37463         Likewise.
37464         * modules/unictype/property-sentence-terminal (Depends-on,
37465         configure.ac): Likewise.
37466         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
37467         Likewise.
37468         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
37469         * modules/unictype/property-terminal-punctuation (Depends-on,
37470         configure.ac): Likewise.
37471         * modules/unictype/property-titlecase (Depends-on, configure.ac):
37472         Likewise.
37473         * modules/unictype/property-unassigned-code-value (Depends-on,
37474         configure.ac): Likewise.
37475         * modules/unictype/property-unified-ideograph (Depends-on,
37476         configure.ac): Likewise.
37477         * modules/unictype/property-uppercase (Depends-on, configure.ac):
37478         Likewise.
37479         * modules/unictype/property-variation-selector (Depends-on,
37480         configure.ac): Likewise.
37481         * modules/unictype/property-white-space (Depends-on, configure.ac):
37482         Likewise.
37483         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
37484         Likewise.
37485         * modules/unictype/property-xid-start (Depends-on, configure.ac):
37486         Likewise.
37487         * modules/unictype/property-zero-width (Depends-on, configure.ac):
37488         Likewise.
37489         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
37490         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
37491         Likewise.
37492
37493 2009-12-31  Bruno Haible  <bruno@clisp.org>
37494
37495         Remove unnecessary AC_C_INLINE invocation.
37496         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
37497         since 2009-08-21.
37498
37499 2009-12-31  Jim Meyering  <meyering@redhat.com>
37500
37501         maint.mk: don't require explicit gpg_key_ID in cfg.mk
37502         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
37503         With this change, we can all remove the gpg_key_ID = ... definition
37504         from our respective cfg.mk files.
37505
37506         maint.mk: create announcement template in ~/, not in /tmp
37507         * top/maint.mk (emit_upload_commands): Adjust.
37508         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
37509         Remove temporary file, .ci-msg.
37510
37511 2009-12-31  Eric Blake  <ebb9@byu.net>
37512
37513         link-warning: always build headers with link warnings
37514         * modules/arpa_inet (Makefile.am): Always build replacement
37515         header.
37516         * modules/ctype (Makefile.am): Likewise.
37517         * modules/dirent (Makefile.am): Likewise.
37518         * modules/inttypes (Makefile.am): Likewise.
37519         * modules/langinfo (Makefile.am): Likewise.
37520         * modules/locale (Makefile.am): Likewise.
37521         * modules/spawn (Makefile.am): Likewise.
37522         * modules/sys_file (Makefile.am): Likewise.
37523         * modules/sys_ioctl (Makefile.am): Likewise.
37524         * modules/sys_select (Makefile.am): Likewise.
37525         * modules/sys_socket (Makefile.am): Likewise.
37526         * modules/sys_times (Makefile.am): Likewise.
37527         * modules/sys_utsname (Makefile.am): Likewise.
37528         * modules/sys_wait (Makefile.am): Likewise.
37529         * modules/wchar (Makefile.am): Likewise.
37530         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
37531         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
37532         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
37533         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
37534         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
37535         Likewise.
37536         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37537         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37538         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
37539         Likewise.
37540         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
37541         Likewise.
37542         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
37543         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
37544         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
37545         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37546         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37547         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
37548         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
37549         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
37550         (gl_WCHAR_H_DEFAULTS): Likewise.
37551
37552 2009-12-31  Eric Blake  <ebb9@byu.net>
37553
37554         signal, spawn: use link warnings
37555         * lib/signal.in.h (sigset_t): Make unconditional.
37556         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
37557         (sigpending, sigprocmask, sigaction): Add link warnings.
37558         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
37559         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
37560         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
37561         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
37562         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
37563         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
37564         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
37565         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
37566         (posix_spawn_file_actions_destroy)
37567         (posix_spawn_file_actions_addopen)
37568         (posix_spawn_file_actions_addclose)
37569         (posix_spawn_file_actions_adddup2): Likewise.
37570         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
37571         * tests/test-signal.c (main): Enhance test.
37572
37573         spawn: improve wrapper support
37574         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
37575         (gl_SPAWN_H_DEFAULTS): New defaults.
37576         * modules/spawn (Makefile.am): Substitute them.
37577         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
37578         Only declare if missing or broken.
37579
37580         sys_times, sys_utsname: use include_next
37581         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
37582         header.
37583         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
37584         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
37585         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
37586         * modules/sys_times (Depends-on): Add include_next.
37587         (Makefile.am): Substitute additional values.
37588         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37589         * lib/sys_times.in.h (includes): Include native header, if
37590         available.
37591         * lib/sys_utsname.in.h (includes): Likewise.
37592         * tests/test-sys_times.c (main): Enhance test.
37593
37594         fdutimensat: revert prior patch
37595         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
37596         utimens.h.
37597         Reported by Bruno Haible.
37598
37599 2009-12-30  Eric Blake  <ebb9@byu.net>
37600
37601         sys_wait: drop link-warning dependency
37602         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
37603         link-warning efforts.
37604         * lib/sys_wait.in.h: Likewise.
37605
37606         fdutimensat: remove bogus dependency
37607         * modules/fdutimensat (Depends-on): Drop inline.
37608
37609         unistd: fix typo
37610         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
37611
37612 2009-12-30  Bruno Haible  <bruno@clisp.org>
37613
37614         Fix compilation error with Solaris cc.
37615         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
37616         * lib/unicase/u16-is-invariant.c: Likewise.
37617         * lib/unicase/u32-is-invariant.c: Likewise.
37618         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
37619
37620 2009-12-30  Bruno Haible  <bruno@clisp.org>
37621
37622         Fix test crash.
37623         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
37624         locales.
37625         Reported by Simon Josefsson <simon@josefsson.org>.
37626
37627 2009-12-30  Bruno Haible  <bruno@clisp.org>
37628
37629         Fix compilation error on most platforms.
37630         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
37631         Reported by Simon Josefsson <simon@josefsson.org>
37632         and Nelson H. F. Beebe <beebe@math.utah.edu>.
37633
37634 2009-12-30  Eric Blake  <ebb9@byu.net>
37635
37636         futimens, utimensat: work around ntfs-3g bug
37637         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
37638         a ctime bug is present, and expand workaround to cover ntfs-3g.
37639         * lib/utimens.c (fdutimens, lutimens): Likewise.
37640         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
37641         (validate_timespec): Adjust return value.
37642         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
37643         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37644         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
37645
37646 2009-12-29  Eric Blake  <ebb9@byu.net>
37647
37648         link-warning: make usage consistent
37649         * modules/ctype (Depends-on): Add link-warning.
37650         (Makefile.am): Update rules accordingly.
37651         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37652         * modules/locale (Depends-on, Makefile.am): Likewise.
37653         * modules/sys_file (Makefile.am): Likewise.
37654         * modules/getopt-posix (Makefile.am): Delete unused link warning
37655         efforts.
37656         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
37657         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
37658         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
37659         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
37660
37661         stdio: remove unused variables
37662         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
37663         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
37664         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
37665
37666         tests: test more substitute headers
37667         * modules/ctype-tests: New file.
37668         * modules/dirent-tests: Likewise.
37669         * modules/spawn-tests: Likewise.
37670         * modules/sys_file-tests: Likewise.
37671         * modules/sys_ioctl-tests: Likewise.
37672         * modules/sys_wait-tests: Likewise.
37673         * tests/test-ctype.c: Likewise.
37674         * tests/test-dirent.c: Likewise.
37675         * tests/test-spawn.c: Likewise.
37676         * tests/test-sys_file.c: Likewise.
37677         * tests/test-sys_ioctl.c: Likewise.
37678         * tests/test-sys_wait.c: Likewise.
37679         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
37680         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
37681         whether or not flock is in use.
37682
37683         tests: remove License section from module
37684         * modules/arpa_inet-tests: Remove unneeded section.
37685         * modules/byteswap-tests: Likewise.
37686         * modules/ceilf-tests: Likewise.
37687         * modules/ceill-tests: Likewise.
37688         * modules/crypto/des-tests: Likewise.
37689         * modules/crypto/gc-arcfour-tests: Likewise.
37690         * modules/crypto/gc-arctwo-tests: Likewise.
37691         * modules/crypto/gc-des-tests: Likewise.
37692         * modules/crypto/gc-hmac-md5-tests: Likewise.
37693         * modules/crypto/gc-hmac-sha1-tests: Likewise.
37694         * modules/crypto/gc-md2-tests: Likewise.
37695         * modules/crypto/gc-md4-tests: Likewise.
37696         * modules/crypto/gc-md5-tests: Likewise.
37697         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
37698         * modules/crypto/gc-rijndael-tests: Likewise.
37699         * modules/crypto/gc-sha1-tests: Likewise.
37700         * modules/crypto/gc-tests: Likewise.
37701         * modules/crypto/md2-tests: Likewise.
37702         * modules/crypto/md4-tests: Likewise.
37703         * modules/fcntl-h-tests: Likewise.
37704         * modules/floorf-tests: Likewise.
37705         * modules/floorl-tests: Likewise.
37706         * modules/frexp-nolibm-tests: Likewise.
37707         * modules/frexp-tests: Likewise.
37708         * modules/frexpl-nolibm-tests: Likewise.
37709         * modules/frexpl-tests: Likewise.
37710         * modules/getaddrinfo-tests: Likewise.
37711         * modules/inttypes-tests: Likewise.
37712         * modules/isfinite-tests: Likewise.
37713         * modules/isinf-tests: Likewise.
37714         * modules/ldexpl-tests: Likewise.
37715         * modules/locale-tests: Likewise.
37716         * modules/math-tests: Likewise.
37717         * modules/netdb-tests: Likewise.
37718         * modules/netinet_in-tests: Likewise.
37719         * modules/printf-frexp-tests: Likewise.
37720         * modules/printf-frexpl-tests: Likewise.
37721         * modules/priv-set-tests: Likewise.
37722         * modules/random_r-tests: Likewise.
37723         * modules/round-tests: Likewise.
37724         * modules/roundf-tests: Likewise.
37725         * modules/roundl-tests: Likewise.
37726         * modules/search-tests: Likewise.
37727         * modules/select-tests: Likewise.
37728         * modules/signal-tests: Likewise.
37729         * modules/stdbool-tests: Likewise.
37730         * modules/stddef-tests: Likewise.
37731         * modules/stdint-tests: Likewise.
37732         * modules/stdio-tests: Likewise.
37733         * modules/stdlib-tests: Likewise.
37734         * modules/string-tests: Likewise.
37735         * modules/strings-tests: Likewise.
37736         * modules/sys_select-tests: Likewise.
37737         * modules/sys_socket-tests: Likewise.
37738         * modules/sys_stat-tests: Likewise.
37739         * modules/sys_time-tests: Likewise.
37740         * modules/sys_utsname-tests: Likewise.
37741         * modules/sysexits-tests: Likewise.
37742         * modules/time-tests: Likewise.
37743         * modules/trunc-tests: Likewise.
37744         * modules/truncf-tests: Likewise.
37745         * modules/truncl-tests: Likewise.
37746         * modules/tsearch-tests: Likewise.
37747         * modules/unistd-tests: Likewise.
37748         * modules/wchar-tests: Likewise.
37749         * modules/wctype-tests: Likewise.
37750
37751         tests: fix license on several tests
37752         * tests/test-des.c: Update to GPLv3+.
37753         * tests/test-flock.c: Likewise.
37754         * tests/test-fsync.c: Likewise.
37755         * tests/test-futimens.h: Likewise.
37756         * tests/test-gc-arcfour.c: Likewise.
37757         * tests/test-gc-arctwo.c: Likewise.
37758         * tests/test-gc-des.c: Likewise.
37759         * tests/test-gc-hmac-md5.c: Likewise.
37760         * tests/test-gc-hmac-sha1.c: Likewise.
37761         * tests/test-gc-md2.c: Likewise.
37762         * tests/test-gc-md4.c: Likewise.
37763         * tests/test-gc-md5.c: Likewise.
37764         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37765         * tests/test-gc-rijndael.c: Likewise.
37766         * tests/test-gc-sha1.c: Likewise.
37767         * tests/test-gc.c: Likewise.
37768         * tests/test-getcwd.c: Likewise.
37769         * tests/test-link.c: Likewise.
37770         * tests/test-link.h: Likewise.
37771         * tests/test-lutimens.h: Likewise.
37772         * tests/test-md2.c: Likewise.
37773         * tests/test-md4.c: Likewise.
37774         * tests/test-mkdir.h: Likewise.
37775         * tests/test-rename.c: Likewise.
37776         * tests/test-rename.h: Likewise.
37777         * tests/test-safe-alloc.c: Likewise.
37778         * tests/test-utimens-common.h: Likewise.
37779         * tests/test-utimens.h: Likewise.
37780
37781         maint: sync license texts
37782         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
37783         * doc/gpl-3.0.texi: Revert copyright year update.
37784         * doc/lgpl-3.0.texi: Likewise.
37785
37786 2009-12-29  Jim Meyering  <meyering@redhat.com>
37787
37788         update nearly all FSF copyright year lists to include 2009
37789         The files named by the following are exempted:
37790             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
37791               test -f "$dst" && { echo "$dst"; continue; }
37792               test -d "$dst" || continue
37793               echo "$dst"/$(basename "$src")
37794             done > exempt
37795             git ls-files tests/unictype >> exempt
37796         In the remaining files, convert to all-interval notation if
37797         - there is already at least one year interval like 2000-2003
37798         - the file is maintained by me
37799         - the file is in lib/uni*/, where that style already prevails
37800         Otherwise, use update-copyright's default.
37801
37802 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37803         and Eric Blake  <ebb9@byu.net>
37804
37805         tests: don't require debug system() to pass
37806         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
37807         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37808         * tests/test-unlink.h (test_unlink_func): Likewise.
37809         * tests/test-fstatat.c (main): ...into callers.
37810         * tests/test-lstat.c (main): Likewise.
37811         * tests/test-rmdir.c (main): Likewise.
37812         * tests/test-unlink.c (main): Likewise.
37813         * tests/test-unlinkat.c (main): Likewise.
37814         * tests/test-areadlink-with-size.c (main): Don't require a
37815         debug-only system call to pass, aiding cross-testing to mingw.
37816         * tests/test-areadlink.c (main): Likewise.
37817         * tests/test-areadlinkat-with-size.c (main): Likewise.
37818         * tests/test-areadlinkat.c (main): Likewise.
37819         * tests/test-canonicalize-lgpl.c (main): Likewise.
37820         * tests/test-canonicalize.c (main): Likewise.
37821         * tests/test-chown.c (main): Likewise.
37822         * tests/test-fchownat.c (main): Likewise.
37823         * tests/test-lchown.c (main): Likewise.
37824         * tests/test-fdutimensat.c (main): Likewise.
37825         * tests/test-futimens.c (main): Likewise.
37826         * tests/test-link.c (main): Likewise.
37827         * tests/test-linkat.c (main): Likewise.
37828         * tests/test-mkdir.c (main): Likewise.
37829         * tests/test-mkdirat.c (main): Likewise.
37830         * tests/test-mkfifo.c (main): Likewise.
37831         * tests/test-mkfifoat.c (main): Likewise.
37832         * tests/test-mknod.c (main): Likewise.
37833         * tests/test-readlink.c (main): Likewise.
37834         * tests/test-remove.c (main): Likewise.
37835         * tests/test-rename.c (main): Likewise.
37836         * tests/test-renameat.c (main): Likewise.
37837         * tests/test-symlink.c (main): Likewise.
37838         * tests/test-symlinkat.c (main): Likewise.
37839         * tests/test-utimens.c (main): Likewise.
37840         * tests/test-utimensat.c (main): Likewise.
37841
37842 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37843
37844         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
37845         on $(UNUSED_PARAMETER_H) to avoid build failure.
37846
37847 2009-12-28  Jim Meyering  <meyering@redhat.com>
37848
37849         update-copyright: you may specify a max. line length other than 72
37850         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37851
37852         maint: use consistent FSF copyright line syntax
37853         * lib/posixtm.c: Add missing comma in FSF copyright line.
37854         * lib/posixtm.h: Likewise.
37855         * lib/getugroups.c: Add missing ", Inc.".
37856
37857         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
37858         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
37859         FSF copyright line.  Remove trailing blanks.
37860
37861 2009-12-28  Eric Blake  <ebb9@byu.net>
37862
37863         test-dup2: reduce dependencies
37864         * modules/cloexec (Configure.ac): Set witness.
37865         * modules/dup2-tests (Depends-on): Drop cloexec.
37866         * tests/test-dup2.c (main): Skip portion of test if cloexec module
37867         not present.
37868         Suggested by Bruno Haible.
37869
37870 2009-12-26  Bruno Haible  <bruno@clisp.org>
37871
37872         Remove an unneeded dependency.
37873         * modules/fseterr (Depends-on): Remove dup2.
37874
37875 2009-12-26  Eric Blake  <ebb9@byu.net>
37876
37877         tests: use macros.h in more places
37878         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
37879         (ASSERT_STREAM): Provide default of stderr.
37880         * tests/test-dirent-safer.c: Include macros.h, using alternate
37881         stream for assertions.
37882         * tests/test-dup-safer.c: Likewise.
37883         * tests/test-freopen-safer.c: Likewise.
37884         * tests/test-getopt.c: Likewise.
37885         * tests/test-openat-safer.c: Likewise.
37886         * tests/test-pipe.c: Likewise.
37887         * tests/test-popen-safer.c: Likewise.
37888         * modules/dirent-safer-tests (Files): Include macros.h.
37889         * modules/unistd-safer-tests (Files): Likewise.
37890         * modules/freopen-safer-tests (Files): Likewise.
37891         * modules/getopt-posix-tests (Files): Likewise.
37892         * modules/openat-safer-tests (Files): Likewise.
37893         * modules/pipe-tests (Files): Likewise.
37894
37895 2009-12-26  Bruno Haible  <bruno@clisp.org>
37896
37897         javacomp: Portability fix.
37898         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
37899         that it also works on Solaris.
37900
37901 2009-12-26  Bruno Haible  <bruno@clisp.org>
37902
37903         localename: Fix storage allocation of gl_locale_name_thread's result.
37904         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
37905         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
37906         all platforms that have 'uselocale'.
37907         (gl_locale_name_thread_unsafe): New function, extracted from
37908         gl_locale_name_thread.
37909         (gl_locale_name_thread): Call struniq on all platforms that have
37910         'uselocale'.
37911         * tests/test-localename.c (test_locale_name_thread): Check that the
37912         resulting strings are permanently allocated.
37913         * modules/localename-tests (Depends-on): Add strdup.
37914
37915 2009-12-26  Bruno Haible  <bruno@clisp.org>
37916
37917         * tests/test-localename.c (categories): Fill in the strings.
37918
37919 2009-12-26  Jim Meyering  <meyering@redhat.com>
37920
37921         isdir: complete the removal of m4/isdir.m4
37922         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
37923
37924         isdir: clean up, since at least grep still uses it
37925         * lib/isdir.c: Include "isdir.h".
37926         (S_ISDIR): Remove now-unneeded definition.
37927         * modules/isdir (Files): Add lib/isdir.h.
37928         * lib/isdir.h: New file, with declaration.
37929         * m4/isdir.m4: Remove file -- unneeded.
37930
37931 2009-12-25  Bruno Haible  <bruno@clisp.org>
37932
37933         selinux-h: Make generated .h files standalone.
37934         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
37935         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
37936         * lib/se-selinux.in.h: Likewise.
37937         * modules/selinux-h (Depends-on): Add unused-parameter.
37938         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
37939         selinux/selinux.h and selinux/context.h.
37940         Suggested by Eric Blake.
37941
37942 2009-12-25  Bruno Haible  <bruno@clisp.org>
37943
37944         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
37945         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
37946         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
37947         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
37948         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
37949
37950 2009-12-24  Bruno Haible  <bruno@clisp.org>
37951
37952         openat: Fix warning.
37953         * lib/openat-proc.c: Include <unistd.h>.
37954
37955 2009-12-24  Bruno Haible  <bruno@clisp.org>
37956
37957         New module 'unused-parameter'.
37958         * build-aux/unused-parameter.h: New file, extracted from earlier
37959         gnulib-common.m4.
37960         * modules/unused-parameter: New file.
37961         * lib/unistr.h: Include unused-parameter.h.
37962         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
37963         _GL_UNUSED.
37964         * modules/unistr/base (Depends-on): Add unused-parameter.
37965
37966 2009-12-24  Bruno Haible  <bruno@clisp.org>
37967
37968         Add missing dependencies to 'extensions' module.
37969         * m4/extensions.m4: Add comment.
37970         * modules/accept4 (Depends-on): Add extensions.
37971         * modules/dup3 (Depends-on): Likewise.
37972         * modules/fcntl (Depends-on): Likewise.
37973         * modules/futimens (Depends-on): Likewise.
37974         * modules/mknod (Depends-on): Likewise.
37975         * modules/pipe2 (Depends-on): Likewise.
37976         * modules/stat-time (Depends-on): Likewise.
37977         * modules/strcasestr-simple (Depends-on): Likewise.
37978         * modules/strsignal (Depends-on): Likewise.
37979         * modules/utimensat (Depends-on): Likewise.
37980         * modules/localcharset (Depends-on): Likewise. Needed because of
37981         gl_FCNTL_O_FLAGS.
37982         * modules/wcrtomb (Depends-on): Likewise. Needed because of
37983         AC_TYPE_MBSTATE_T.
37984         * modules/wcsnrtombs (Depends-on): Likewise.
37985         * modules/wcsrtombs (Depends-on): Likewise.
37986
37987 2009-12-24  Bruno Haible  <bruno@clisp.org>
37988
37989         binary-io: Avoid gcc warning due to SET_BINARY.
37990         * lib/binary-io.h (SET_BINARY): Cast the result to void.
37991         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
37992
37993 2009-12-24  Bruno Haible  <bruno@clisp.org>
37994
37995         Avoid future namespace pollution on glibc systems.
37996         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
37997         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
37998         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
37999         glibc systems.
38000
38001 2009-12-24  Bruno Haible  <bruno@clisp.org>
38002
38003         Refactor common macros used in tests.
38004         * tests/macros.h: New file.
38005         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
38006         and/or <stdlib.h>, if appropriate.
38007         (ASSERT, SIZEOF): Remove macros.
38008         * tests/test-areadlink-with-size.c: Likewise.
38009         * tests/test-areadlinkat.c: Likewise.
38010         * tests/test-areadlinkat-with-size.c: Likewise.
38011         * tests/test-argmatch.c: Likewise.
38012         * tests/test-argv-iter.c: Likewise.
38013         * tests/test-array-mergesort.c: Likewise.
38014         * tests/test-array_list.c: Likewise.
38015         * tests/test-array_oset.c: Likewise.
38016         * tests/test-avltree_list.c: Likewise.
38017         * tests/test-avltree_oset.c: Likewise.
38018         * tests/test-avltreehash_list.c: Likewise.
38019         * tests/test-base64.c: Likewise.
38020         * tests/test-binary-io.c: Likewise.
38021         * tests/test-bitrotate.c: Likewise.
38022         * tests/test-btowc.c: Likewise.
38023         * tests/test-byteswap.c: Likewise.
38024         * tests/test-c-ctype.c: Likewise.
38025         * tests/test-c-stack.c: Likewise.
38026         * tests/test-c-strcasecmp.c: Likewise.
38027         * tests/test-c-strcasestr.c: Likewise.
38028         * tests/test-c-strncasecmp.c: Likewise.
38029         * tests/test-c-strstr.c: Likewise.
38030         * tests/test-canonicalize-lgpl.c: Likewise.
38031         * tests/test-canonicalize.c: Likewise.
38032         * tests/test-carray_list.c: Likewise.
38033         * tests/test-ceilf1.c: Likewise.
38034         * tests/test-ceilf2.c: Likewise.
38035         * tests/test-ceill.c: Likewise.
38036         * tests/test-chown.c: Likewise.
38037         * tests/test-cloexec.c: Likewise.
38038         * tests/test-copy-acl.c: Likewise.
38039         * tests/test-copy-file.c: Likewise.
38040         * tests/test-count-one-bits.c: Likewise.
38041         * tests/test-dprintf-posix.c: Likewise.
38042         * tests/test-dup2.c: Likewise.
38043         * tests/test-dup3.c: Likewise.
38044         * tests/test-duplocale.c: Likewise.
38045         * tests/test-fbufmode.c: Likewise.
38046         * tests/test-fchdir.c: Likewise.
38047         * tests/test-fchownat.c: Likewise.
38048         * tests/test-fcntl-safer.c: Likewise.
38049         * tests/test-fcntl.c: Likewise.
38050         * tests/test-fdopendir.c: Likewise.
38051         * tests/test-fdutimensat.c: Likewise.
38052         * tests/test-fflush2.c: Likewise.
38053         * tests/test-file-has-acl.c: Likewise.
38054         * tests/test-filevercmp.c: Likewise.
38055         * tests/test-flock.c: Likewise.
38056         * tests/test-floorf1.c: Likewise.
38057         * tests/test-floorf2.c: Likewise.
38058         * tests/test-floorl.c: Likewise.
38059         * tests/test-fnmatch.c: Likewise.
38060         * tests/test-fopen.h: Likewise.
38061         * tests/test-fpending.c: Likewise.
38062         * tests/test-fprintf-posix.c: Likewise.
38063         * tests/test-fpurge.c: Likewise.
38064         * tests/test-freadable.c: Likewise.
38065         * tests/test-freadahead.c: Likewise.
38066         * tests/test-freading.c: Likewise.
38067         * tests/test-freadptr.c: Likewise.
38068         * tests/test-freadptr2.c: Likewise.
38069         * tests/test-freadseek.c: Likewise.
38070         * tests/test-freopen.c: Likewise.
38071         * tests/test-frexp.c: Likewise.
38072         * tests/test-frexpl.c: Likewise.
38073         * tests/test-fseek.c: Likewise.
38074         * tests/test-fseeko.c: Likewise.
38075         * tests/test-fstatat.c: Likewise.
38076         * tests/test-fstrcmp.c: Likewise.
38077         * tests/test-fsync.c: Likewise.
38078         * tests/test-ftell.c: Likewise.
38079         * tests/test-ftello.c: Likewise.
38080         * tests/test-func.c: Likewise.
38081         * tests/test-futimens.c: Likewise.
38082         * tests/test-fwritable.c: Likewise.
38083         * tests/test-fwriting.c: Likewise.
38084         * tests/test-getcwd.c: Likewise.
38085         * tests/test-getdate.c: Likewise.
38086         * tests/test-getdelim.c: Likewise.
38087         * tests/test-getdtablesize.c: Likewise.
38088         * tests/test-getgroups.c: Likewise.
38089         * tests/test-getline.c: Likewise.
38090         * tests/test-getndelim2.c: Likewise.
38091         * tests/test-glob.c: Likewise.
38092         * tests/test-hash.c: Likewise.
38093         * tests/test-i-ring.c: Likewise.
38094         * tests/test-iconv-utf.c: Likewise.
38095         * tests/test-iconv.c: Likewise.
38096         * tests/test-idpriv-drop.c: Likewise.
38097         * tests/test-idpriv-droptemp.c: Likewise.
38098         * tests/test-inet_ntop.c: Likewise.
38099         * tests/test-inet_pton.c: Likewise.
38100         * tests/test-isblank.c: Likewise.
38101         * tests/test-isfinite.c: Likewise.
38102         * tests/test-isinf.c: Likewise.
38103         * tests/test-isnan.c: Likewise.
38104         * tests/test-isnand.h: Likewise.
38105         * tests/test-isnanf.h: Likewise.
38106         * tests/test-isnanl.h: Likewise.
38107         * tests/test-lchown.c: Likewise.
38108         * tests/test-ldexpl.c: Likewise.
38109         * tests/test-link.c: Likewise.
38110         * tests/test-linkat.c: Likewise.
38111         * tests/test-linked_list.c: Likewise.
38112         * tests/test-linkedhash_list.c: Likewise.
38113         * tests/test-localename.c: Likewise.
38114         * tests/test-lseek.c: Likewise.
38115         * tests/test-lstat.c: Likewise.
38116         * tests/test-mbmemcasecmp.c: Likewise.
38117         * tests/test-mbmemcasecoll.c: Likewise.
38118         * tests/test-mbrtowc.c: Likewise.
38119         * tests/test-mbscasecmp.c: Likewise.
38120         * tests/test-mbscasestr1.c: Likewise.
38121         * tests/test-mbscasestr2.c: Likewise.
38122         * tests/test-mbscasestr3.c: Likewise.
38123         * tests/test-mbscasestr4.c: Likewise.
38124         * tests/test-mbschr.c: Likewise.
38125         * tests/test-mbscspn.c: Likewise.
38126         * tests/test-mbsinit.c: Likewise.
38127         * tests/test-mbsncasecmp.c: Likewise.
38128         * tests/test-mbsnrtowcs.c: Likewise.
38129         * tests/test-mbspbrk.c: Likewise.
38130         * tests/test-mbspcasecmp.c: Likewise.
38131         * tests/test-mbsrchr.c: Likewise.
38132         * tests/test-mbsrtowcs.c: Likewise.
38133         * tests/test-mbsspn.c: Likewise.
38134         * tests/test-mbsstr1.c: Likewise.
38135         * tests/test-mbsstr2.c: Likewise.
38136         * tests/test-mbsstr3.c: Likewise.
38137         * tests/test-memchr.c: Likewise.
38138         * tests/test-memchr2.c: Likewise.
38139         * tests/test-memcmp.c: Likewise.
38140         * tests/test-memmem.c: Likewise.
38141         * tests/test-memrchr.c: Likewise.
38142         * tests/test-mkdir.c: Likewise.
38143         * tests/test-mkdirat.c: Likewise.
38144         * tests/test-mkfifo.c: Likewise.
38145         * tests/test-mkfifoat.c: Likewise.
38146         * tests/test-mknod.c: Likewise.
38147         * tests/test-nanosleep.c: Likewise.
38148         * tests/test-nl_langinfo.c: Likewise.
38149         * tests/test-obstack-printf.c: Likewise.
38150         * tests/test-open.c: Likewise.
38151         * tests/test-openat.c: Likewise.
38152         * tests/test-pipe-filter-gi1.c: Likewise.
38153         * tests/test-pipe-filter-gi2-main.c: Likewise.
38154         * tests/test-pipe-filter-ii1.c: Likewise.
38155         * tests/test-pipe-filter-ii2-main.c: Likewise.
38156         * tests/test-pipe2.c: Likewise.
38157         * tests/test-popen.h: Likewise.
38158         * tests/test-posixtm.c: Likewise.
38159         * tests/test-pread.c: Likewise.
38160         * tests/test-printf-frexp.c: Likewise.
38161         * tests/test-printf-frexpl.c: Likewise.
38162         * tests/test-printf-posix.c: Likewise.
38163         * tests/test-priv-set.c: Likewise.
38164         * tests/test-quotearg.c: Likewise.
38165         * tests/test-random_r.c: Likewise.
38166         * tests/test-rawmemchr.c: Likewise.
38167         * tests/test-rbtree_list.c: Likewise.
38168         * tests/test-rbtree_oset.c: Likewise.
38169         * tests/test-rbtreehash_list.c: Likewise.
38170         * tests/test-readlink.c: Likewise.
38171         * tests/test-remove.c: Likewise.
38172         * tests/test-rename.c: Likewise.
38173         * tests/test-renameat.c: Likewise.
38174         * tests/test-rmdir.c: Likewise.
38175         * tests/test-round1.c: Likewise.
38176         * tests/test-roundf1.c: Likewise.
38177         * tests/test-roundl.c: Likewise.
38178         * tests/test-safe-alloc.c: Likewise.
38179         * tests/test-sameacls.c: Likewise.
38180         * tests/test-set-mode-acl.c: Likewise.
38181         * tests/test-setenv.c: Likewise.
38182         * tests/test-sigaction.c: Likewise.
38183         * tests/test-signbit.c: Likewise.
38184         * tests/test-sleep.c: Likewise.
38185         * tests/test-snprintf-posix.c: Likewise.
38186         * tests/test-snprintf.c: Likewise.
38187         * tests/test-sprintf-posix.c: Likewise.
38188         * tests/test-stat-time.c: Likewise.
38189         * tests/test-stat.c: Likewise.
38190         * tests/test-strcasestr.c: Likewise.
38191         * tests/test-strchrnul.c: Likewise.
38192         * tests/test-strerror.c: Likewise.
38193         * tests/test-striconv.c: Likewise.
38194         * tests/test-striconveh.c: Likewise.
38195         * tests/test-striconveha.c: Likewise.
38196         * tests/test-strsignal.c: Likewise.
38197         * tests/test-strstr.c: Likewise.
38198         * tests/test-strtod.c: Likewise.
38199         * tests/test-strverscmp.c: Likewise.
38200         * tests/test-symlink.c: Likewise.
38201         * tests/test-symlinkat.c: Likewise.
38202         * tests/test-trunc1.c: Likewise.
38203         * tests/test-trunc2.c: Likewise.
38204         * tests/test-truncf1.c: Likewise.
38205         * tests/test-truncf2.c: Likewise.
38206         * tests/test-truncl.c: Likewise.
38207         * tests/test-uname.c: Likewise.
38208         * tests/test-unlink.c: Likewise.
38209         * tests/test-unlinkat.c: Likewise.
38210         * tests/test-unsetenv.c: Likewise.
38211         * tests/test-usleep.c: Likewise.
38212         * tests/test-utimens.c: Likewise.
38213         * tests/test-utimensat.c: Likewise.
38214         * tests/test-vasnprintf-posix.c: Likewise.
38215         * tests/test-vasnprintf-posix2.c: Likewise.
38216         * tests/test-vasnprintf.c: Likewise.
38217         * tests/test-vasprintf-posix.c: Likewise.
38218         * tests/test-vasprintf.c: Likewise.
38219         * tests/test-vdprintf-posix.c: Likewise.
38220         * tests/test-vfprintf-posix.c: Likewise.
38221         * tests/test-vprintf-posix.c: Likewise.
38222         * tests/test-vsnprintf-posix.c: Likewise.
38223         * tests/test-vsnprintf.c: Likewise.
38224         * tests/test-vsprintf-posix.c: Likewise.
38225         * tests/test-wcrtomb.c: Likewise.
38226         * tests/test-wcsnrtombs.c: Likewise.
38227         * tests/test-wcsrtombs.c: Likewise.
38228         * tests/test-wctype.c: Likewise.
38229         * tests/test-wcwidth.c: Likewise.
38230         * tests/test-xfprintf-posix.c: Likewise.
38231         * tests/test-xmemdup0.c: Likewise.
38232         * tests/test-xprintf-posix.c: Likewise.
38233         * tests/test-xvasprintf.c: Likewise.
38234         * tests/unicase/test-locale-language.c: Likewise.
38235         * tests/unicase/test-mapping-part1.h: Likewise.
38236         * tests/unicase/test-predicate-part1.h: Likewise.
38237         * tests/unicase/test-u8-casecmp.c: Likewise.
38238         * tests/unicase/test-u8-casecoll.c: Likewise.
38239         * tests/unicase/test-u8-casefold.c: Likewise.
38240         * tests/unicase/test-u8-is-cased.c: Likewise.
38241         * tests/unicase/test-u8-is-casefolded.c: Likewise.
38242         * tests/unicase/test-u8-is-lowercase.c: Likewise.
38243         * tests/unicase/test-u8-is-titlecase.c: Likewise.
38244         * tests/unicase/test-u8-is-uppercase.c: Likewise.
38245         * tests/unicase/test-u8-tolower.c: Likewise.
38246         * tests/unicase/test-u8-totitle.c: Likewise.
38247         * tests/unicase/test-u8-toupper.c: Likewise.
38248         * tests/unicase/test-u16-casecmp.c: Likewise.
38249         * tests/unicase/test-u16-casecoll.c: Likewise.
38250         * tests/unicase/test-u16-casefold.c: Likewise.
38251         * tests/unicase/test-u16-is-cased.c: Likewise.
38252         * tests/unicase/test-u16-is-casefolded.c: Likewise.
38253         * tests/unicase/test-u16-is-lowercase.c: Likewise.
38254         * tests/unicase/test-u16-is-titlecase.c: Likewise.
38255         * tests/unicase/test-u16-is-uppercase.c: Likewise.
38256         * tests/unicase/test-u16-tolower.c: Likewise.
38257         * tests/unicase/test-u16-totitle.c: Likewise.
38258         * tests/unicase/test-u16-toupper.c: Likewise.
38259         * tests/unicase/test-u32-casecmp.c: Likewise.
38260         * tests/unicase/test-u32-casecoll.c: Likewise.
38261         * tests/unicase/test-u32-casefold.c: Likewise.
38262         * tests/unicase/test-u32-is-cased.c: Likewise.
38263         * tests/unicase/test-u32-is-casefolded.c: Likewise.
38264         * tests/unicase/test-u32-is-lowercase.c: Likewise.
38265         * tests/unicase/test-u32-is-titlecase.c: Likewise.
38266         * tests/unicase/test-u32-is-uppercase.c: Likewise.
38267         * tests/unicase/test-u32-tolower.c: Likewise.
38268         * tests/unicase/test-u32-totitle.c: Likewise.
38269         * tests/unicase/test-u32-toupper.c: Likewise.
38270         * tests/unicase/test-ulc-casecmp.c: Likewise.
38271         * tests/unicase/test-ulc-casecoll.c: Likewise.
38272         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
38273         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
38274         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
38275         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
38276         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
38277         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
38278         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
38279         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
38280         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
38281         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
38282         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
38283         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
38284         * tests/unictype/test-bidi_byname.c: Likewise.
38285         * tests/unictype/test-bidi_name.c: Likewise.
38286         * tests/unictype/test-bidi_of.c: Likewise.
38287         * tests/unictype/test-bidi_test.c: Likewise.
38288         * tests/unictype/test-block_list.c: Likewise.
38289         * tests/unictype/test-block_of.c: Likewise.
38290         * tests/unictype/test-block_test.c: Likewise.
38291         * tests/unictype/test-categ_and.c: Likewise.
38292         * tests/unictype/test-categ_and_not.c: Likewise.
38293         * tests/unictype/test-categ_byname.c: Likewise.
38294         * tests/unictype/test-categ_name.c: Likewise.
38295         * tests/unictype/test-categ_none.c: Likewise.
38296         * tests/unictype/test-categ_of.c: Likewise.
38297         * tests/unictype/test-categ_or.c: Likewise.
38298         * tests/unictype/test-categ_test_withtable.c: Likewise.
38299         * tests/unictype/test-combining.c: Likewise.
38300         * tests/unictype/test-decdigit.c: Likewise.
38301         * tests/unictype/test-digit.c: Likewise.
38302         * tests/unictype/test-mirror.c: Likewise.
38303         * tests/unictype/test-numeric.c: Likewise.
38304         * tests/unictype/test-pr_byname.c: Likewise.
38305         * tests/unictype/test-pr_test.c: Likewise.
38306         * tests/unictype/test-predicate-part1.h: Likewise.
38307         * tests/unictype/test-scripts.c: Likewise.
38308         * tests/unictype/test-sy_c_ident.c: Likewise.
38309         * tests/unictype/test-sy_java_ident.c: Likewise.
38310         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
38311         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
38312         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
38313         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
38314         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
38315         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
38316         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
38317         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
38318         * tests/uninorm/test-canonical-decomposition.c: Likewise.
38319         * tests/uninorm/test-compat-decomposition.c: Likewise.
38320         * tests/uninorm/test-composition.c: Likewise.
38321         * tests/uninorm/test-decomposing-form.c: Likewise.
38322         * tests/uninorm/test-decomposition.c: Likewise.
38323         * tests/uninorm/test-u8-nfc.c: Likewise.
38324         * tests/uninorm/test-u8-nfd.c: Likewise.
38325         * tests/uninorm/test-u8-nfkc.c: Likewise.
38326         * tests/uninorm/test-u8-nfkd.c: Likewise.
38327         * tests/uninorm/test-u8-normcmp.c: Likewise.
38328         * tests/uninorm/test-u8-normcoll.c: Likewise.
38329         * tests/uninorm/test-u16-nfc.c: Likewise.
38330         * tests/uninorm/test-u16-nfd.c: Likewise.
38331         * tests/uninorm/test-u16-nfkc.c: Likewise.
38332         * tests/uninorm/test-u16-nfkd.c: Likewise.
38333         * tests/uninorm/test-u16-normcmp.c: Likewise.
38334         * tests/uninorm/test-u16-normcoll.c: Likewise.
38335         * tests/uninorm/test-u32-nfc.c: Likewise.
38336         * tests/uninorm/test-u32-nfd.c: Likewise.
38337         * tests/uninorm/test-u32-nfkc.c: Likewise.
38338         * tests/uninorm/test-u32-nfkd.c: Likewise.
38339         * tests/uninorm/test-u32-normalize-big.c: Likewise.
38340         * tests/uninorm/test-u32-normcmp.c: Likewise.
38341         * tests/uninorm/test-u32-normcoll.c: Likewise.
38342         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
38343         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
38344         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
38345         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
38346         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
38347         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
38348         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
38349         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
38350         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
38351         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
38352         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
38353         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
38354         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
38355         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
38356         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
38357         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
38358         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
38359         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
38360         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
38361         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
38362         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
38363         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
38364         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
38365         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
38366         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
38367         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
38368         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
38369         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
38370         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
38371         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
38372         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
38373         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
38374         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
38375         * tests/uniwidth/test-u8-strwidth.c: Likewise.
38376         * tests/uniwidth/test-u8-width.c: Likewise.
38377         * tests/uniwidth/test-u16-strwidth.c: Likewise.
38378         * tests/uniwidth/test-u16-width.c: Likewise.
38379         * tests/uniwidth/test-u32-strwidth.c: Likewise.
38380         * tests/uniwidth/test-u32-width.c: Likewise.
38381         * tests/uniwidth/test-uc_width.c: Likewise.
38382         * tests/uniwidth/test-uc_width2.c: Likewise.
38383         * modules/acl-tests (Files): Add tests/macros.h.
38384         * modules/areadlink-tests (Files): Likewise.
38385         * modules/areadlink-with-size-tests (Files): Likewise.
38386         * modules/areadlinkat-tests (Files): Likewise.
38387         * modules/areadlinkat-with-size-tests (Files): Likewise.
38388         * modules/argmatch-tests (Files): Likewise.
38389         * modules/argv-iter-tests (Files): Likewise.
38390         * modules/array-list-tests (Files): Likewise.
38391         * modules/array-mergesort-tests (Files): Likewise.
38392         * modules/array-oset-tests (Files): Likewise.
38393         * modules/avltree-list-tests (Files): Likewise.
38394         * modules/avltree-oset-tests (Files): Likewise.
38395         * modules/avltreehash-list-tests (Files): Likewise.
38396         * modules/base64-tests (Files): Likewise.
38397         * modules/binary-io-tests (Files): Likewise.
38398         * modules/bitrotate-tests (Files): Likewise.
38399         * modules/btowc-tests (Files): Likewise.
38400         * modules/byteswap-tests (Files): Likewise.
38401         * modules/c-ctype-tests (Files): Likewise.
38402         * modules/c-stack-tests (Files): Likewise.
38403         * modules/c-strcase-tests (Files): Likewise.
38404         * modules/c-strcasestr-tests (Files): Likewise.
38405         * modules/c-strstr-tests (Files): Likewise.
38406         * modules/canonicalize-lgpl-tests (Files): Likewise.
38407         * modules/canonicalize-tests (Files): Likewise.
38408         * modules/carray-list-tests (Files): Likewise.
38409         * modules/ceilf-tests (Files): Likewise.
38410         * modules/ceill-tests (Files): Likewise.
38411         * modules/chown-tests (Files): Likewise.
38412         * modules/cloexec-tests (Files): Likewise.
38413         * modules/copy-file-tests (Files): Likewise.
38414         * modules/count-one-bits-tests (Files): Likewise.
38415         * modules/dprintf-posix-tests (Files): Likewise.
38416         * modules/dup2-tests (Files): Likewise.
38417         * modules/dup3-tests (Files): Likewise.
38418         * modules/duplocale-tests (Files): Likewise.
38419         * modules/fbufmode-tests (Files): Likewise.
38420         * modules/fchdir-tests (Files): Likewise.
38421         * modules/fcntl-safer-tests (Files): Likewise.
38422         * modules/fcntl-tests (Files): Likewise.
38423         * modules/fdopendir-tests (Files): Likewise.
38424         * modules/fdutimensat-tests (Files): Likewise.
38425         * modules/fflush-tests (Files): Likewise.
38426         * modules/filevercmp-tests (Files): Likewise.
38427         * modules/flock-tests (Files): Likewise.
38428         * modules/floorf-tests (Files): Likewise.
38429         * modules/floorl-tests (Files): Likewise.
38430         * modules/fnmatch-tests (Files): Likewise.
38431         * modules/fopen-safer-tests (Files): Likewise.
38432         * modules/fopen-tests (Files): Likewise.
38433         * modules/fpending-tests (Files): Likewise.
38434         * modules/fprintf-posix-tests (Files): Likewise.
38435         * modules/fpurge-tests (Files): Likewise.
38436         * modules/freadable-tests (Files): Likewise.
38437         * modules/freadahead-tests (Files): Likewise.
38438         * modules/freading-tests (Files): Likewise.
38439         * modules/freadptr-tests (Files): Likewise.
38440         * modules/freadseek-tests (Files): Likewise.
38441         * modules/freopen-tests (Files): Likewise.
38442         * modules/frexp-nolibm-tests (Files): Likewise.
38443         * modules/frexp-tests (Files): Likewise.
38444         * modules/frexpl-nolibm-tests (Files): Likewise.
38445         * modules/frexpl-tests (Files): Likewise.
38446         * modules/fseek-tests (Files): Likewise.
38447         * modules/fseeko-tests (Files): Likewise.
38448         * modules/fstrcmp-tests (Files): Likewise.
38449         * modules/fsync-tests (Files): Likewise.
38450         * modules/ftell-tests (Files): Likewise.
38451         * modules/ftello-tests (Files): Likewise.
38452         * modules/func-tests (Files): Likewise.
38453         * modules/futimens-tests (Files): Likewise.
38454         * modules/fwritable-tests (Files): Likewise.
38455         * modules/fwriting-tests (Files): Likewise.
38456         * modules/getcwd-tests (Files): Likewise.
38457         * modules/getdate-tests (Files): Likewise.
38458         * modules/getdelim-tests (Files): Likewise.
38459         * modules/getdtablesize-tests (Files): Likewise.
38460         * modules/getgroups-tests (Files): Likewise.
38461         * modules/getline-tests (Files): Likewise.
38462         * modules/getndelim2-tests (Files): Likewise.
38463         * modules/glob-tests (Files): Likewise.
38464         * modules/hash-tests (Files): Likewise.
38465         * modules/i-ring-tests (Files): Likewise.
38466         * modules/iconv-tests (Files): Likewise.
38467         * modules/iconv_open-utf-tests (Files): Likewise.
38468         * modules/idpriv-drop-tests (Files): Likewise.
38469         * modules/idpriv-droptemp-tests (Files): Likewise.
38470         * modules/inet_ntop-tests (Files): Likewise.
38471         * modules/inet_pton-tests (Files): Likewise.
38472         * modules/isblank-tests (Files): Likewise.
38473         * modules/isfinite-tests (Files): Likewise.
38474         * modules/isinf-tests (Files): Likewise.
38475         * modules/isnan-tests (Files): Likewise.
38476         * modules/isnand-nolibm-tests (Files): Likewise.
38477         * modules/isnand-tests (Files): Likewise.
38478         * modules/isnanf-nolibm-tests (Files): Likewise.
38479         * modules/isnanf-tests (Files): Likewise.
38480         * modules/isnanl-nolibm-tests (Files): Likewise.
38481         * modules/isnanl-tests (Files): Likewise.
38482         * modules/lchown-tests (Files): Likewise.
38483         * modules/ldexpl-tests (Files): Likewise.
38484         * modules/link-tests (Files): Likewise.
38485         * modules/linkat-tests (Files): Likewise.
38486         * modules/linked-list-tests (Files): Likewise.
38487         * modules/linkedhash-list-tests (Files): Likewise.
38488         * modules/localename-tests (Files): Likewise.
38489         * modules/lseek-tests (Files): Likewise.
38490         * modules/lstat-tests (Files): Likewise.
38491         * modules/mbmemcasecmp-tests (Files): Likewise.
38492         * modules/mbmemcasecoll-tests (Files): Likewise.
38493         * modules/mbrtowc-tests (Files): Likewise.
38494         * modules/mbscasecmp-tests (Files): Likewise.
38495         * modules/mbscasestr-tests (Files): Likewise.
38496         * modules/mbschr-tests (Files): Likewise.
38497         * modules/mbscspn-tests (Files): Likewise.
38498         * modules/mbsinit-tests (Files): Likewise.
38499         * modules/mbsncasecmp-tests (Files): Likewise.
38500         * modules/mbsnrtowcs-tests (Files): Likewise.
38501         * modules/mbspbrk-tests (Files): Likewise.
38502         * modules/mbspcasecmp-tests (Files): Likewise.
38503         * modules/mbsrchr-tests (Files): Likewise.
38504         * modules/mbsrtowcs-tests (Files): Likewise.
38505         * modules/mbsspn-tests (Files): Likewise.
38506         * modules/mbsstr-tests (Files): Likewise.
38507         * modules/memchr-tests (Files): Likewise.
38508         * modules/memchr2-tests (Files): Likewise.
38509         * modules/memcmp-tests (Files): Likewise.
38510         * modules/memmem-tests (Files): Likewise.
38511         * modules/memrchr-tests (Files): Likewise.
38512         * modules/mkdir-tests (Files): Likewise.
38513         * modules/mkfifo-tests (Files): Likewise.
38514         * modules/mkfifoat-tests (Files): Likewise.
38515         * modules/mknod-tests (Files): Likewise.
38516         * modules/nanosleep-tests (Files): Likewise.
38517         * modules/nl_langinfo-tests (Files): Likewise.
38518         * modules/obstack-printf-tests (Files): Likewise.
38519         * modules/open-tests (Files): Likewise.
38520         * modules/openat-tests (Files): Likewise.
38521         * modules/pipe-filter-gi-tests (Files): Likewise.
38522         * modules/pipe-filter-ii-tests (Files): Likewise.
38523         * modules/pipe2-tests (Files): Likewise.
38524         * modules/popen-safer-tests (Files): Likewise.
38525         * modules/popen-tests (Files): Likewise.
38526         * modules/posixtm-tests (Files): Likewise.
38527         * modules/pread-tests (Files): Likewise.
38528         * modules/printf-frexp-tests (Files): Likewise.
38529         * modules/printf-frexpl-tests (Files): Likewise.
38530         * modules/printf-posix-tests (Files): Likewise.
38531         * modules/priv-set-tests (Files): Likewise.
38532         * modules/quotearg-tests (Files): Likewise.
38533         * modules/random_r-tests (Files): Likewise.
38534         * modules/rawmemchr-tests (Files): Likewise.
38535         * modules/rbtree-list-tests (Files): Likewise.
38536         * modules/rbtree-oset-tests (Files): Likewise.
38537         * modules/rbtreehash-list-tests (Files): Likewise.
38538         * modules/readlink-tests (Files): Likewise.
38539         * modules/remove-tests (Files): Likewise.
38540         * modules/rename-tests (Files): Likewise.
38541         * modules/renameat-tests (Files): Likewise.
38542         * modules/rmdir-tests (Files): Likewise.
38543         * modules/round-tests (Files): Likewise.
38544         * modules/roundf-tests (Files): Likewise.
38545         * modules/roundl-tests (Files): Likewise.
38546         * modules/safe-alloc-tests (Files): Likewise.
38547         * modules/setenv-tests (Files): Likewise.
38548         * modules/sigaction-tests (Files): Likewise.
38549         * modules/signbit-tests (Files): Likewise.
38550         * modules/sleep-tests (Files): Likewise.
38551         * modules/snprintf-posix-tests (Files): Likewise.
38552         * modules/snprintf-tests (Files): Likewise.
38553         * modules/sprintf-posix-tests (Files): Likewise.
38554         * modules/stat-tests (Files): Likewise.
38555         * modules/stat-time-tests (Files): Likewise.
38556         * modules/strcasestr-tests (Files): Likewise.
38557         * modules/strchrnul-tests (Files): Likewise.
38558         * modules/strerror-tests (Files): Likewise.
38559         * modules/striconv-tests (Files): Likewise.
38560         * modules/striconveh-tests (Files): Likewise.
38561         * modules/striconveha-tests (Files): Likewise.
38562         * modules/strsignal-tests (Files): Likewise.
38563         * modules/strstr-tests (Files): Likewise.
38564         * modules/strtod-tests (Files): Likewise.
38565         * modules/strverscmp-tests (Files): Likewise.
38566         * modules/symlink-tests (Files): Likewise.
38567         * modules/symlinkat-tests (Files): Likewise.
38568         * modules/trunc-tests (Files): Likewise.
38569         * modules/truncf-tests (Files): Likewise.
38570         * modules/truncl-tests (Files): Likewise.
38571         * modules/uname-tests (Files): Likewise.
38572         * modules/unicase/cased-tests (Files): Likewise.
38573         * modules/unicase/ignorable-tests (Files): Likewise.
38574         * modules/unicase/locale-language-tests (Files): Likewise.
38575         * modules/unicase/tolower-tests (Files): Likewise.
38576         * modules/unicase/totitle-tests (Files): Likewise.
38577         * modules/unicase/toupper-tests (Files): Likewise.
38578         * modules/unicase/u8-casecmp-tests (Files): Likewise.
38579         * modules/unicase/u8-casecoll-tests (Files): Likewise.
38580         * modules/unicase/u8-casefold-tests (Files): Likewise.
38581         * modules/unicase/u8-is-cased-tests (Files): Likewise.
38582         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
38583         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
38584         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
38585         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
38586         * modules/unicase/u8-tolower-tests (Files): Likewise.
38587         * modules/unicase/u8-totitle-tests (Files): Likewise.
38588         * modules/unicase/u8-toupper-tests (Files): Likewise.
38589         * modules/unicase/u16-casecmp-tests (Files): Likewise.
38590         * modules/unicase/u16-casecoll-tests (Files): Likewise.
38591         * modules/unicase/u16-casefold-tests (Files): Likewise.
38592         * modules/unicase/u16-is-cased-tests (Files): Likewise.
38593         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
38594         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
38595         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
38596         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
38597         * modules/unicase/u16-tolower-tests (Files): Likewise.
38598         * modules/unicase/u16-totitle-tests (Files): Likewise.
38599         * modules/unicase/u16-toupper-tests (Files): Likewise.
38600         * modules/unicase/u32-casecmp-tests (Files): Likewise.
38601         * modules/unicase/u32-casecoll-tests (Files): Likewise.
38602         * modules/unicase/u32-casefold-tests (Files): Likewise.
38603         * modules/unicase/u32-is-cased-tests (Files): Likewise.
38604         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
38605         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
38606         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
38607         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
38608         * modules/unicase/u32-tolower-tests (Files): Likewise.
38609         * modules/unicase/u32-totitle-tests (Files): Likewise.
38610         * modules/unicase/u32-toupper-tests (Files): Likewise.
38611         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
38612         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
38613         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
38614         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
38615         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
38616         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
38617         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
38618         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
38619         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
38620         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
38621         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
38622         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
38623         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
38624         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
38625         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
38626         * modules/unictype/bidicategory-name-tests (Files): Likewise.
38627         * modules/unictype/bidicategory-of-tests (Files): Likewise.
38628         * modules/unictype/bidicategory-test-tests (Files): Likewise.
38629         * modules/unictype/block-list-tests (Files): Likewise.
38630         * modules/unictype/block-of-tests (Files): Likewise.
38631         * modules/unictype/block-test-tests (Files): Likewise.
38632         * modules/unictype/category-C-tests (Files): Likewise.
38633         * modules/unictype/category-Cc-tests (Files): Likewise.
38634         * modules/unictype/category-Cf-tests (Files): Likewise.
38635         * modules/unictype/category-Cn-tests (Files): Likewise.
38636         * modules/unictype/category-Co-tests (Files): Likewise.
38637         * modules/unictype/category-Cs-tests (Files): Likewise.
38638         * modules/unictype/category-L-tests (Files): Likewise.
38639         * modules/unictype/category-Ll-tests (Files): Likewise.
38640         * modules/unictype/category-Lm-tests (Files): Likewise.
38641         * modules/unictype/category-Lo-tests (Files): Likewise.
38642         * modules/unictype/category-Lt-tests (Files): Likewise.
38643         * modules/unictype/category-Lu-tests (Files): Likewise.
38644         * modules/unictype/category-M-tests (Files): Likewise.
38645         * modules/unictype/category-Mc-tests (Files): Likewise.
38646         * modules/unictype/category-Me-tests (Files): Likewise.
38647         * modules/unictype/category-Mn-tests (Files): Likewise.
38648         * modules/unictype/category-N-tests (Files): Likewise.
38649         * modules/unictype/category-Nd-tests (Files): Likewise.
38650         * modules/unictype/category-Nl-tests (Files): Likewise.
38651         * modules/unictype/category-No-tests (Files): Likewise.
38652         * modules/unictype/category-P-tests (Files): Likewise.
38653         * modules/unictype/category-Pc-tests (Files): Likewise.
38654         * modules/unictype/category-Pd-tests (Files): Likewise.
38655         * modules/unictype/category-Pe-tests (Files): Likewise.
38656         * modules/unictype/category-Pf-tests (Files): Likewise.
38657         * modules/unictype/category-Pi-tests (Files): Likewise.
38658         * modules/unictype/category-Po-tests (Files): Likewise.
38659         * modules/unictype/category-Ps-tests (Files): Likewise.
38660         * modules/unictype/category-S-tests (Files): Likewise.
38661         * modules/unictype/category-Sc-tests (Files): Likewise.
38662         * modules/unictype/category-Sk-tests (Files): Likewise.
38663         * modules/unictype/category-Sm-tests (Files): Likewise.
38664         * modules/unictype/category-So-tests (Files): Likewise.
38665         * modules/unictype/category-Z-tests (Files): Likewise.
38666         * modules/unictype/category-Zl-tests (Files): Likewise.
38667         * modules/unictype/category-Zp-tests (Files): Likewise.
38668         * modules/unictype/category-Zs-tests (Files): Likewise.
38669         * modules/unictype/category-and-not-tests (Files): Likewise.
38670         * modules/unictype/category-and-tests (Files): Likewise.
38671         * modules/unictype/category-byname-tests (Files): Likewise.
38672         * modules/unictype/category-name-tests (Files): Likewise.
38673         * modules/unictype/category-none-tests (Files): Likewise.
38674         * modules/unictype/category-of-tests (Files): Likewise.
38675         * modules/unictype/category-or-tests (Files): Likewise.
38676         * modules/unictype/category-test-withtable-tests (Files): Likewise.
38677         * modules/unictype/combining-class-tests (Files): Likewise.
38678         * modules/unictype/ctype-alnum-tests (Files): Likewise.
38679         * modules/unictype/ctype-alpha-tests (Files): Likewise.
38680         * modules/unictype/ctype-blank-tests (Files): Likewise.
38681         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
38682         * modules/unictype/ctype-digit-tests (Files): Likewise.
38683         * modules/unictype/ctype-graph-tests (Files): Likewise.
38684         * modules/unictype/ctype-lower-tests (Files): Likewise.
38685         * modules/unictype/ctype-print-tests (Files): Likewise.
38686         * modules/unictype/ctype-punct-tests (Files): Likewise.
38687         * modules/unictype/ctype-space-tests (Files): Likewise.
38688         * modules/unictype/ctype-upper-tests (Files): Likewise.
38689         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
38690         * modules/unictype/decimal-digit-tests (Files): Likewise.
38691         * modules/unictype/digit-tests (Files): Likewise.
38692         * modules/unictype/mirror-tests (Files): Likewise.
38693         * modules/unictype/numeric-tests (Files): Likewise.
38694         * modules/unictype/property-alphabetic-tests (Files): Likewise.
38695         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
38696         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
38697         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
38698         Likewise.
38699         * modules/unictype/property-bidi-block-separator-tests (Files):
38700         Likewise.
38701         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
38702         Likewise.
38703         * modules/unictype/property-bidi-common-separator-tests (Files):
38704         Likewise.
38705         * modules/unictype/property-bidi-control-tests (Files): Likewise.
38706         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
38707         Likewise.
38708         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
38709         Likewise.
38710         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
38711         Likewise.
38712         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
38713         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
38714         Likewise.
38715         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
38716         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
38717         Likewise.
38718         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
38719         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
38720         * modules/unictype/property-bidi-segment-separator-tests (Files):
38721         Likewise.
38722         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
38723         * modules/unictype/property-byname-tests (Files): Likewise.
38724         * modules/unictype/property-combining-tests (Files): Likewise.
38725         * modules/unictype/property-composite-tests (Files): Likewise.
38726         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
38727         * modules/unictype/property-dash-tests (Files): Likewise.
38728         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
38729         * modules/unictype/property-default-ignorable-code-point-tests (Files):
38730         Likewise.
38731         * modules/unictype/property-deprecated-tests (Files): Likewise.
38732         * modules/unictype/property-diacritic-tests (Files): Likewise.
38733         * modules/unictype/property-extender-tests (Files): Likewise.
38734         * modules/unictype/property-format-control-tests (Files): Likewise.
38735         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
38736         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
38737         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
38738         * modules/unictype/property-hex-digit-tests (Files): Likewise.
38739         * modules/unictype/property-hyphen-tests (Files): Likewise.
38740         * modules/unictype/property-id-continue-tests (Files): Likewise.
38741         * modules/unictype/property-id-start-tests (Files): Likewise.
38742         * modules/unictype/property-ideographic-tests (Files): Likewise.
38743         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
38744         * modules/unictype/property-ids-trinary-operator-tests (Files):
38745         Likewise.
38746         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
38747         * modules/unictype/property-iso-control-tests (Files): Likewise.
38748         * modules/unictype/property-join-control-tests (Files): Likewise.
38749         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
38750         * modules/unictype/property-line-separator-tests (Files): Likewise.
38751         * modules/unictype/property-logical-order-exception-tests (Files):
38752         Likewise.
38753         * modules/unictype/property-lowercase-tests (Files): Likewise.
38754         * modules/unictype/property-math-tests (Files): Likewise.
38755         * modules/unictype/property-non-break-tests (Files): Likewise.
38756         * modules/unictype/property-not-a-character-tests (Files): Likewise.
38757         * modules/unictype/property-numeric-tests (Files): Likewise.
38758         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
38759         * modules/unictype/property-other-default-ignorable-code-point-tests
38760         (Files): Likewise.
38761         * modules/unictype/property-other-grapheme-extend-tests (Files):
38762         Likewise.
38763         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
38764         * modules/unictype/property-other-id-start-tests (Files): Likewise.
38765         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
38766         * modules/unictype/property-other-math-tests (Files): Likewise.
38767         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
38768         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
38769         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
38770         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
38771         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
38772         * modules/unictype/property-private-use-tests (Files): Likewise.
38773         * modules/unictype/property-punctuation-tests (Files): Likewise.
38774         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
38775         * modules/unictype/property-radical-tests (Files): Likewise.
38776         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
38777         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
38778         * modules/unictype/property-space-tests (Files): Likewise.
38779         * modules/unictype/property-terminal-punctuation-tests (Files):
38780         Likewise.
38781         * modules/unictype/property-test-tests (Files): Likewise.
38782         * modules/unictype/property-titlecase-tests (Files): Likewise.
38783         * modules/unictype/property-unassigned-code-value-tests (Files):
38784         Likewise.
38785         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
38786         * modules/unictype/property-uppercase-tests (Files): Likewise.
38787         * modules/unictype/property-variation-selector-tests (Files): Likewise.
38788         * modules/unictype/property-white-space-tests (Files): Likewise.
38789         * modules/unictype/property-xid-continue-tests (Files): Likewise.
38790         * modules/unictype/property-xid-start-tests (Files): Likewise.
38791         * modules/unictype/property-zero-width-tests (Files): Likewise.
38792         * modules/unictype/scripts-tests (Files): Likewise.
38793         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
38794         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
38795         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
38796         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
38797         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
38798         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
38799         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
38800         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
38801         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
38802         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
38803         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
38804         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
38805         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
38806         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
38807         * modules/uninorm/composition-tests (Files): Likewise.
38808         * modules/uninorm/decomposing-form-tests (Files): Likewise.
38809         * modules/uninorm/decomposition-tests (Files): Likewise.
38810         * modules/uninorm/filter-tests (Files): Likewise.
38811         * modules/uninorm/nfc-tests (Files): Likewise.
38812         * modules/uninorm/nfd-tests (Files): Likewise.
38813         * modules/uninorm/nfkc-tests (Files): Likewise.
38814         * modules/uninorm/nfkd-tests (Files): Likewise.
38815         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
38816         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
38817         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
38818         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
38819         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
38820         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
38821         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
38822         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38823         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
38824         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
38825         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
38826         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
38827         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38828         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
38829         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
38830         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
38831         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
38832         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38833         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
38834         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
38835         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
38836         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
38837         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38838         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
38839         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
38840         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
38841         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
38842         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
38843         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
38844         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
38845         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
38846         * modules/uniwidth/u8-width-tests (Files): Likewise.
38847         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
38848         * modules/uniwidth/u16-width-tests (Files): Likewise.
38849         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
38850         * modules/uniwidth/u32-width-tests (Files): Likewise.
38851         * modules/uniwidth/width-tests (Files): Likewise.
38852         * modules/unlink-tests (Files): Likewise.
38853         * modules/unsetenv-tests (Files): Likewise.
38854         * modules/usleep-tests (Files): Likewise.
38855         * modules/utimens-tests (Files): Likewise.
38856         * modules/utimensat-tests (Files): Likewise.
38857         * modules/vasnprintf-posix-tests (Files): Likewise.
38858         * modules/vasnprintf-tests (Files): Likewise.
38859         * modules/vasprintf-posix-tests (Files): Likewise.
38860         * modules/vasprintf-tests (Files): Likewise.
38861         * modules/vdprintf-posix-tests (Files): Likewise.
38862         * modules/vfprintf-posix-tests (Files): Likewise.
38863         * modules/vprintf-posix-tests (Files): Likewise.
38864         * modules/vsnprintf-posix-tests (Files): Likewise.
38865         * modules/vsnprintf-tests (Files): Likewise.
38866         * modules/vsprintf-posix-tests (Files): Likewise.
38867         * modules/wcrtomb-tests (Files): Likewise.
38868         * modules/wcsnrtombs-tests (Files): Likewise.
38869         * modules/wcsrtombs-tests (Files): Likewise.
38870         * modules/wctype-tests (Files): Likewise.
38871         * modules/wcwidth-tests (Files): Likewise.
38872         * modules/xmemdup0-tests (Files): Likewise.
38873         * modules/xprintf-posix-tests (Files): Likewise.
38874         * modules/xvasprintf-tests (Files): Likewise.
38875
38876 2009-12-24  Eric Blake  <ebb9@byu.net>
38877
38878         test-nanosleep: fix typo
38879         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
38880         patch.
38881         Reported by Bruno Haible.
38882
38883 2009-12-24  Bruno Haible  <bruno@clisp.org>
38884
38885         Reduce namespace pollution on glibc systems.
38886         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
38887         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
38888         systems.
38889         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
38890         <getopt.h> on glibc systems.
38891         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
38892         systems.
38893         * lib/fcntl.c: Include <unistd.h> here instead.
38894
38895 2009-12-24  Bruno Haible  <bruno@clisp.org>
38896
38897         * lib/stdlib.in.h (includes): Fix typo in today's commit.
38898
38899 2009-12-24  Eric Blake  <ebb9@byu.net>
38900
38901         tests: add signature checks
38902         * tests/signature.h (SIGNATURE_CHECK): New file.
38903         * modules/atexit-tests (Files): Use it.
38904         * modules/btowc-tests (Files): Likewise.
38905         * modules/canonicalize-lgpl-tests (Files): Likewise.
38906         * modules/ceilf-tests (Files): Likewise.
38907         * modules/ceill-tests (Files): Likewise.
38908         * modules/chown-tests (Files): Likewise.
38909         * modules/dprintf-posix-tests (Files): Likewise.
38910         * modules/dup2-tests (Files): Likewise.
38911         * modules/dup3-tests (Files): Likewise.
38912         * modules/duplocale-tests (Files): Likewise.
38913         * modules/fchdir-tests (Files): Likewise.
38914         * modules/fcntl-tests (Files): Likewise.
38915         * modules/fdopendir-tests (Files): Likewise.
38916         * modules/fflush-tests (Files): Likewise.
38917         * modules/flock-tests (Files): Likewise.
38918         * modules/floorf-tests (Files): Likewise.
38919         * modules/floorl-tests (Files): Likewise.
38920         * modules/fnmatch-tests (Files): Likewise.
38921         * modules/fopen-tests (Files): Likewise.
38922         * modules/fprintf-posix-tests (Files): Likewise.
38923         * modules/freopen-tests (Files): Likewise.
38924         * modules/frexp-nolibm-tests (Files): Likewise.
38925         * modules/frexp-tests (Files): Likewise.
38926         * modules/frexpl-nolibm-tests (Files): Likewise.
38927         * modules/frexpl-tests (Files): Likewise.
38928         * modules/fseek-tests (Files): Likewise.
38929         * modules/fseeko-tests (Files): Likewise.
38930         * modules/fsync-tests (Files): Likewise.
38931         * modules/ftell-tests (Files): Likewise.
38932         * modules/ftello-tests (Files): Likewise.
38933         * modules/futimens-tests (Files): Likewise.
38934         * modules/getaddrinfo-tests (Files): Likewise.
38935         * modules/getcwd-tests (Files): Likewise.
38936         * modules/getdelim-tests (Files): Likewise.
38937         * modules/getdtablesize-tests (Files): Likewise.
38938         * modules/getgroups-tests (Files): Likewise.
38939         * modules/gethostname-tests (Files): Likewise.
38940         * modules/getline-tests (Files): Likewise.
38941         * modules/getopt-posix-tests (Files): Likewise.
38942         * modules/gettimeofday-tests (Files): Likewise.
38943         * modules/glob-tests (Files): Likewise.
38944         * modules/iconv-tests (Files): Likewise.
38945         * modules/inet_ntop-tests (Files): Likewise.
38946         * modules/inet_pton-tests (Files): Likewise.
38947         * modules/isblank-tests (Files): Likewise.
38948         * modules/lchown-tests (Files): Likewise.
38949         * modules/ldexpl-tests (Files): Likewise.
38950         * modules/link-tests (Files): Likewise.
38951         * modules/linkat-tests (Files): Likewise.
38952         * modules/lseek-tests (Files): Likewise.
38953         * modules/lstat-tests (Files): Likewise.
38954         * modules/mbrtowc-tests (Files): Likewise.
38955         * modules/mbsinit-tests (Files): Likewise.
38956         * modules/mbsnrtowcs-tests (Files): Likewise.
38957         * modules/mbsrtowcs-tests (Files): Likewise.
38958         * modules/memchr-tests (Files): Likewise.
38959         * modules/memcmp-tests (Files): Likewise.
38960         * modules/memmem-tests (Files): Likewise.
38961         * modules/memrchr-tests (Files): Likewise.
38962         * modules/mkdir-tests (Files): Likewise.
38963         * modules/mkfifo-tests (Files): Likewise.
38964         * modules/mkfifoat-tests (Files): Likewise.
38965         * modules/mknod-tests (Files): Likewise.
38966         * modules/nanosleep-tests (Files): Likewise.
38967         * modules/nl_langinfo-tests (Files): Likewise.
38968         * modules/obstack-printf-tests (Files): Likewise.
38969         * modules/open-tests (Files): Likewise.
38970         * modules/openat-tests (Files): Likewise.
38971         * modules/perror-tests (Files): Likewise.
38972         * modules/pipe2-tests (Files): Likewise.
38973         * modules/poll-tests (Files): Likewise.
38974         * modules/popen-tests (Files): Likewise.
38975         * modules/posix_spawn-tests (Files): Likewise.
38976         * modules/posix_spawnp-tests (Files): Likewise.
38977         * modules/pread-tests (Files): Likewise.
38978         * modules/printf-posix-tests (Files): Likewise.
38979         * modules/pty-tests (Files): Likewise.
38980         * modules/random_r-tests (Files): Likewise.
38981         * modules/rawmemchr-tests (Files): Likewise.
38982         * modules/readlink-tests (Files): Likewise.
38983         * modules/remove-tests (Files): Likewise.
38984         * modules/rename-tests (Files): Likewise.
38985         * modules/renameat-tests (Files): Likewise.
38986         * modules/rmdir-tests (Files): Likewise.
38987         * modules/round-tests (Files): Likewise.
38988         * modules/roundf-tests (Files): Likewise.
38989         * modules/roundl-tests (Files): Likewise.
38990         * modules/select-tests (Files): Likewise.
38991         * modules/setenv-tests (Files): Likewise.
38992         * modules/sigaction-tests (Files): Likewise.
38993         * modules/sleep-tests (Files): Likewise.
38994         * modules/snprintf-posix-tests (Files): Likewise.
38995         * modules/snprintf-tests (Files): Likewise.
38996         * modules/sprintf-posix-tests (Files): Likewise.
38997         * modules/stat-tests (Files): Likewise.
38998         * modules/strcasestr-tests (Files): Likewise.
38999         * modules/strchrnul-tests (Files): Likewise.
39000         * modules/strerror-tests (Files): Likewise.
39001         * modules/strsignal-tests (Files): Likewise.
39002         * modules/strstr-tests (Files): Likewise.
39003         * modules/strtod-tests (Files): Likewise.
39004         * modules/strverscmp-tests (Files): Likewise.
39005         * modules/symlink-tests (Files): Likewise.
39006         * modules/symlinkat-tests (Files): Likewise.
39007         * modules/times-tests (Files): Likewise.
39008         * modules/trunc-tests (Files): Likewise.
39009         * modules/truncf-tests (Files): Likewise.
39010         * modules/truncl-tests (Files): Likewise.
39011         * modules/tsearch-tests (Files): Likewise.
39012         * modules/uname-tests (Files): Likewise.
39013         * modules/unlink-tests (Files): Likewise.
39014         * modules/unsetenv-tests (Files): Likewise.
39015         * modules/usleep-tests (Files): Likewise.
39016         * modules/utimensat-tests (Files): Likewise.
39017         * modules/vasprintf-tests (Files): Likewise.
39018         * modules/vdprintf-posix-tests (Files): Likewise.
39019         * modules/vfprintf-posix-tests (Files): Likewise.
39020         * modules/vprintf-posix-tests (Files): Likewise.
39021         * modules/vsnprintf-posix-tests (Files): Likewise.
39022         * modules/vsnprintf-tests (Files): Likewise.
39023         * modules/vsprintf-posix-tests (Files): Likewise.
39024         * modules/wcrtomb-tests (Files): Likewise.
39025         * modules/wcsnrtombs-tests (Files): Likewise.
39026         * modules/wcsrtombs-tests (Files): Likewise.
39027         * modules/wcwidth-tests (Files): Likewise.
39028         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
39029         * tests/test-isinf.c (isinf): Likewise.
39030         * tests/test-isnan.c (isnan): Likewise.
39031         * tests/test-signbit.c (signbit): Likewise.
39032         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
39033         declaration, either as macro or with correct signature.
39034         (select): Ensure function under test is declared with correct
39035         signature in correct header.
39036         * tests/test-atexit.c (atexit): Likewise.
39037         * tests/test-btowc.c (btowc): Likewise.
39038         * tests/test-canonicalize-lgpl.c (realpath)
39039         (canonicalize_file_name): Likewise.
39040         * tests/test-ceilf1.c (ceilf): Likewise.
39041         * tests/test-ceill.c (ceill): Likewise.
39042         * tests/test-chown.c (chown): Likewise.
39043         * tests/test-dprintf-posix.c (dprintf): Likewise.
39044         * tests/test-dup2.c (dup2): Likewise.
39045         * tests/test-dup3.c (dup3): Likewise.
39046         * tests/test-duplocale.c (duplocale): Likewise.
39047         * tests/test-fchdir.c (fchdir): Likewise.
39048         * tests/test-fchownat.c (fchownat): Likewise.
39049         * tests/test-fcntl.c (fcntl): Likewise.
39050         * tests/test-fdopendir.c (fdopendir): Likewise.
39051         * tests/test-fflush.c (fflush): Likewise.
39052         * tests/test-flock.c (flock): Likewise.
39053         * tests/test-floorf1.c (floorf): Likewise.
39054         * tests/test-floorl.c (floorl): Likewise.
39055         * tests/test-fnmatch.c (fnmatch): Likewise.
39056         * tests/test-fopen.c (fopen): Likewise.
39057         * tests/test-fprintf-posix.c (fprintf): Likewise.
39058         * tests/test-freopen.c (freopen): Likewise.
39059         * tests/test-frexp.c (frexp): Likewise.
39060         * tests/test-frexpl.c (frexpl): Likewise.
39061         * tests/test-fseek.c (fseek): Likewise.
39062         * tests/test-fseeko.c (fseeko): Likewise.
39063         * tests/test-fstatat.c (fstatat): Likewise.
39064         * tests/test-fsync.c (fsync): Likewise.
39065         * tests/test-ftell.c (ftell): Likewise.
39066         * tests/test-ftello.c (ftello): Likewise.
39067         * tests/test-futimens.c (futimens): Likewise.
39068         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
39069         (gai_strerror): Likewise.
39070         * tests/test-getcwd.c (getcwd): Likewise.
39071         * tests/test-getdelim.c (getdelim): Likewise.
39072         * tests/test-getdtablesize.c (getdtablesize): Likewise.
39073         * tests/test-getgroups.c (getgroups): Likewise.
39074         * tests/test-gethostname.c (gethostname): Likewise.
39075         * tests/test-getline.c (getline): Likewise.
39076         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
39077         Likewise.
39078         * tests/test-gettimeofday.c (gettimeofday): Likewise.
39079         * tests/test-glob.c (glob, globfree): Likewise.
39080         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
39081         * tests/test-inet_ntop.c (inet_ntop): Likewise.
39082         * tests/test-inet_pton.c (inet_pton): Likewise.
39083         * tests/test-isblank.c (isblank): Likewise.
39084         * tests/test-lchown.c (lchown): Likewise.
39085         * tests/test-ldexpl.c (ldexpl): Likewise.
39086         * tests/test-link.c (link): Likewise.
39087         * tests/test-linkat.c (linkat): Likewise.
39088         * tests/test-lseek.c (lseek): Likewise.
39089         * tests/test-lstat.c (lstat): Likewise.
39090         * tests/test-mbrtowc.c (mbrtowc): Likewise.
39091         * tests/test-mbsinit.c (mbsinit): Likewise.
39092         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
39093         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
39094         * tests/test-memchr.c (memchr): Likewise.
39095         * tests/test-memcmp.c (memcmp): Likewise.
39096         * tests/test-memmem.c (memmem): Likewise.
39097         * tests/test-memrchr.c (memrchr): Likewise.
39098         * tests/test-mkdir.c (mkdir): Likewise.
39099         * tests/test-mkdirat.c (mkdirat): Likewise.
39100         * tests/test-mkfifo.c (mkfifo): Likewise.
39101         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
39102         * tests/test-mknod.c (mknod): Likewise.
39103         * tests/test-nanosleep.c (nanosleep): Likewise.
39104         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
39105         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
39106         Likewise.
39107         * tests/test-open.c (open): Likewise.
39108         * tests/test-openat.c (openat): Likewise.
39109         * tests/test-perror.c (perror): Likewise.
39110         * tests/test-pipe2.c (pipe2): Likewise.
39111         * tests/test-poll.c (poll): Likewise.
39112         * tests/test-popen.c (popen, pclose): Likewise.
39113         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
39114         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
39115         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
39116         (posix_spawn_file_actions_destroy)
39117         (posix_spawn_file_actions_addclose)
39118         (posix_spawn_file_actions_addopen)
39119         (posix_spawn_file_actions_adddup2): Likewise.
39120         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
39121         * tests/test-pread.c (pread): Likewise.
39122         * tests/test-printf-posix.c (printf): Likewise.
39123         * tests/test-pty.c (openpty, forkpty): Likewise.
39124         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
39125         (random_r): Likewise.
39126         * tests/test-rawmemchr.c (rawmemchr): Likewise.
39127         * tests/test-readlink.c (readlink): Likewise.
39128         * tests/test-remove.c (remove): Likewise.
39129         * tests/test-rename.c (rename): Likewise.
39130         * tests/test-renameat.c (renameat): Likewise.
39131         * tests/test-rmdir.c (rmdir): Likewise.
39132         * tests/test-round1.c (round): Likewise.
39133         * tests/test-roundf1.c (roundf): Likewise.
39134         * tests/test-roundl.c (roundl): Likewise.
39135         * tests/test-setenv.c (setenv): Likewise.
39136         * tests/test-sigaction.c (sigaction): Likewise.
39137         * tests/test-sleep.c (sleep): Likewise.
39138         * tests/test-snprintf.c (snprintf): Likewise.
39139         * tests/test-sprintf-posix.c (sprintf): Likewise.
39140         * tests/test-stat.c (stat): Likewise.
39141         * tests/test-stpncpy.c (stpncpy): Likewise.
39142         * tests/test-strcasestr.c (strcasestr): Likewise.
39143         * tests/test-strchrnul.c (strchrnul): Likewise.
39144         * tests/test-strerror.c (strerror): Likewise.
39145         * tests/test-strsignal.c (strsignal): Likewise.
39146         * tests/test-strstr.c (strstr): Likewise.
39147         * tests/test-strtod.c (strtod): Likewise.
39148         * tests/test-strverscmp.c (strverscmp): Likewise.
39149         * tests/test-symlink.c (symlink): Likewise.
39150         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
39151         * tests/test-times.c (times): Likewise.
39152         * tests/test-trunc1.c (trunc): Likewise.
39153         * tests/test-truncf1.c (truncf): Likewise.
39154         * tests/test-truncl.c (truncl): Likewise.
39155         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
39156         Likewise.
39157         * tests/test-uname.c (uname): Likewise.
39158         * tests/test-unlink.c (unlink): Likewise.
39159         * tests/test-unlinkat.c (unlinkat): Likewise.
39160         * tests/test-unsetenv.c (unsetenv): Likewise.
39161         * tests/test-usleep.c (usleep): Likewise.
39162         * tests/test-utimensat.c (utimensat): Likewise.
39163         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
39164         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
39165         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
39166         * tests/test-vprintf-posix.c (vprintf): Likewise.
39167         * tests/test-vsnprintf.c (vsnprintf): Likewise.
39168         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
39169         * tests/test-wcrtomb.c (wcrtomb): Likewise.
39170         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
39171         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
39172         * tests/test-wcwidth.c (wcwidth): Likewise.
39173
39174         build: pull in conditional headers during GNULIB_POSIXCHECK
39175         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
39176         definitions from any conditionally-included headers.
39177         * lib/stdlib.in.h (includes): Likewise.
39178         * lib/unistd.in.h (includes): Likewise.
39179
39180 2009-12-24  Bruno Haible  <bruno@clisp.org>
39181
39182         * tests/test-argv-iter.c: Include header file being tested immediately
39183         after config.h.
39184         * tests/test-base64.c: Likewise.
39185         * tests/test-flock.c: Likewise.
39186         * tests/test-fsync.c: Likewise.
39187         * tests/test-getdate.c: Likewise.
39188         * tests/test-getndelim2.c: Likewise.
39189         * tests/test-isfinite.c: Likewise.
39190         * tests/test-isinf.c: Likewise.
39191         * tests/test-strerror.c: Likewise.
39192         * tests/test-strsignal.c: Likewise.
39193
39194 2009-12-23  Eric Blake  <ebb9@byu.net>
39195
39196         unistd: work around cygwin bug
39197         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
39198         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
39199         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39200
39201 2009-12-23  Bruno Haible  <bruno@clisp.org>
39202
39203         localename: More tests.
39204         * tests/test-localename.c (SIZEOF): New macro.
39205         (categories): New variable.
39206         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
39207         test_locale_name_default): Add test w.r.t. thread locale.
39208         (test_locale_name_thread): New function.
39209         (main): Invoke it.
39210
39211         localename: Make aware of thread locale.
39212         * lib/localename.h (gl_locale_name_thread): New declaration.
39213         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
39214         behaviour with respect to thread locale.
39215         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
39216         <langinfo.h>, glthread/lock.h.
39217         (SIZE_BITS): New macro.
39218         (string_hash): New function.
39219         (struct hash_node): New type.
39220         (HASH_TABLE_SIZE): New macro.
39221         (struniq_hash_table, struniq_lock): New variables.
39222         (struniq): New function.
39223         (gl_locale_name_thread): New function.
39224         (gl_locale_name): Invoke it.
39225         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
39226         * modules/localename (Depends-on): Add lock.
39227         Reported by Mike Gran <spk121@yahoo.com>.
39228
39229 2009-12-23  Eric Blake  <ebb9@byu.net>
39230
39231         va-args: new module
39232         * modules/va-args: New file.
39233         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
39234         * MODULES.html.sh (Core language properties): Mention it.
39235
39236         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
39237         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
39238         named alias for __attribute__((__unused__)).
39239         * lib/chown.c: Update client.
39240         * lib/fchmodat.c: Likewise.
39241         * lib/fts.c: Likewise.
39242         * lib/getdate.y: Likewise.
39243         * lib/getgroups.c: Likewise.
39244         * lib/getopt.c: Likewise.
39245         * lib/getugroups.c: Likewise.
39246         * lib/mkdir.c: Likewise.
39247         * lib/mkfifo.c: Likewise.
39248         * lib/mkfifoat.c: Likewise.
39249         * lib/mknod.c: Likewise.
39250         * lib/mknodat.c: Likewise.
39251         * lib/readlink.c: Likewise.
39252         * lib/se-context.in.h: Likewise.
39253         * lib/se-selinux.in.h: Likewise.
39254         * lib/sockets.c: Likewise.
39255         * lib/symlink.c: Likewise.
39256         * lib/symlinkat.c: Likewise.
39257         * lib/unicodeio.c: Likewise.
39258         * lib/unistr.h: Likewise.
39259         * tests/test-areadlink.c: Likewise.
39260         * tests/test-areadlinkat.c: Likewise.
39261         * tests/test-filenamecat.c: Likewise.
39262         * tests/test-fseeko.c: Likewise.
39263         * tests/test-ftello.c: Likewise.
39264         * tests/test-getdate.c: Likewise.
39265         * tests/test-getgroups.c: Likewise.
39266         * tests/test-gethostname.c: Likewise.
39267         * tests/test-quotearg.c: Likewise.
39268         * tests/test-version-etc.c: Likewise.
39269         * tests/test-xalloc-die.c: Likewise.
39270         * tests/test-xfprintf-posix.c: Likewise.
39271         * tests/test-xprintf-posix.c: Likewise.
39272         * tests/test-xvasprintf.c: Likewise.
39273
39274         tests: avoid compiler warnings
39275         * tests/test-fcntl.c (main): Delete unused parameters.
39276         * tests/test-freopen-safer.c (main): Likewise.
39277         * tests/test-xalloc-die.c (main): Mark unused parameters.
39278         * tests/test-fseeko.c (main): Likewise.
39279         * tests/test-ftello.c (main): Likewise.
39280         * tests/test-nanosleep.c (main): Avoid declaration warning.
39281         * tests/test-sleep.c (main): Likewise.
39282         * tests/test-unsetenv.c (main): Silence warning about string
39283         literal.
39284         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
39285
39286 2009-12-23  Bruno Haible  <bruno@clisp.org>
39287
39288         * tests/test-localename.c (test_locale_name): New function, extracted
39289         from main. Also test mixed situations.
39290         (test_locale_name_posix, test_locale_name_environ,
39291         test_locale_name_default): New functions.
39292         (main): Invoke them all.
39293         * modules/localename-tests (configure.ac): Test for newlocale.
39294
39295 2009-12-23  Bruno Haible  <bruno@clisp.org>
39296
39297         unistd: Ensure getcwd gets declared before being overridden.
39298         * lib/unistd.in.h: Conditionally include <io.h>.
39299
39300 2009-12-22  Bruno Haible  <bruno@clisp.org>
39301
39302         wchar: Diagnose broken combination of glibc and gcc versions and flags.
39303         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
39304         (gl_WCHAR_H): Invoke it.
39305         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
39306         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
39307         Reported by Karl Berry <karl@freefriends.org>.
39308
39309 2009-12-22  Eric Blake  <ebb9@byu.net>
39310
39311         math, unistd: avoid redundant includes
39312         * lib/math.in.h (isnan): No need to re-include <math.h>.
39313         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
39314
39315         getsubopt: work around cygwin bug
39316         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
39317         avoid conflicting with system getsubopt.
39318         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
39319         bug.
39320
39321         getopt: synchronize from glibc
39322         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
39323         parameter order.  Adjust all callers.
39324         (_getopt_internal_r, main): Adjust quoting in error messages.
39325         Drop considerations for outdated POSIX 1003.2 error message.
39326         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
39327         callers.
39328         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
39329
39330         test-getopt: test stderr behavior
39331         * modules/getopt-posix-tests (Depends-on): Add dup2.
39332         * tests/test-getopt.c (ASSERT): Avoid stderr.
39333         (main): Move stderr to a temporary file.
39334         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
39335         Instead, add parameter to inform caller if output occurred.
39336         (test_getopt): Adjust all existing tests to expect silence, and
39337         add new tests of leading ":".
39338         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
39339         glibc shortcomings with leading "-:" or "+:" in optstring.
39340         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39341         Likewise.
39342         * doc/posix-functions/getopt.texi (getopt): Likewise.
39343
39344         test-getopt: enhance test
39345         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
39346         supports optind=0.
39347         * tests/test-getopt.c (OPTIND_MIN): Move...
39348         * tests/test-getopt.h (OPTIND_MIN): ...here.
39349         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
39350         Require that optind=0 works, since modern BSD supports it in
39351         addition to optreset, and since coreutils expects it.
39352         (test_getopt_long_only): New test.
39353         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
39354         glibc shortcomings with 'W;', and enforcement of optind=0.
39355         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39356         Likewise.
39357
39358 2009-12-21  Bruno Haible  <bruno@clisp.org>
39359
39360         localename: Improvements for MacOS X and Cygwin.
39361         * lib/localename.h (gl_locale_name_environ): New declaration.
39362         * lib/localename.c (gl_locale_name_environ): New function, extracted from
39363         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
39364         (gl_locale_name_posix): Invoke it.
39365         (gl_locale_name_default): Add comments. Use Windows native API also on
39366         Cygwin.
39367
39368 2009-12-21  Bruno Haible  <bruno@clisp.org>
39369
39370         Update list of Win32 locale ids.
39371         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
39372         (LANG_SAMI): Renamed from LANG_SAAMI.
39373         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
39374         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
39375         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
39376         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
39377         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
39378         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
39379         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
39380         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
39381         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
39382         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
39383         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
39384         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
39385         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
39386         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
39387         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
39388         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
39389         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
39390         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
39391         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
39392         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
39393         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
39394         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
39395         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
39396         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
39397         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
39398         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
39399         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
39400         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
39401         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
39402         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
39403         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
39404         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
39405         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
39406         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
39407         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
39408         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
39409         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
39410         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
39411         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
39412         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
39413         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
39414         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
39415         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
39416         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
39417         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
39418         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
39419         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
39420         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
39421         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
39422         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
39423         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
39424         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
39425         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
39426         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
39427         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
39428         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
39429         Add more languages and countries for Sami, Sorbian. Add more countries
39430         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
39431         for Pashto. Change country for Syriac, Tswana.
39432
39433 2009-12-21  Eric Blake  <ebb9@byu.net>
39434
39435         test-utimens: avoid spurious failure
39436         * tests/test-chown.h (nap): Factor...
39437         * tests/nap.h: ...into new file.
39438         * tests/test-lchown.h (nap): Avoid duplication.
39439         * tests/test-utimens-common.h (nap): Use shared implementation,
39440         necessary on file systems with 1-second resolution.
39441         * modules/chown-tests (Files): Include new file.
39442         * modules/fdutimensat-tests (Files): Likewise.
39443         * modules/futimens-tests (Files): Likewise.
39444         * modules/lchown-tests (Files): Likewise.
39445         * modules/openat-tests (Files): Likewise.
39446         * modules/utimens-tests (Files): Likewise.
39447         * modules/utimensat-tests (Files): Likewise.
39448
39449 2009-12-19  Eric Blake  <ebb9@byu.net>
39450
39451         futimens, utimensat: work around Linux bug
39452         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
39453         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39454         * lib/utimensat.c (rpl_utimensat): Work around it.
39455         * lib/futimens.c (rpl_futimens): Adjust comment.
39456
39457         utimens: work around Linux ctime bug
39458         * lib/utimens.c (detect_ctime_bug): New helper function.
39459         (update_timespec): Differentiate between workaround needed for
39460         this bug vs. what is needed for systems that lack utimensat.
39461         (fdutimens, lutimens): Work around bug.
39462
39463         utimens: check for ctime update
39464         * tests/test-utimens-common.h (check_ctime): Define.
39465         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
39466         * tests/test-futimens.h (test_futimens): Likewise.
39467         * tests/test-lutimens.h (test_lutimens): Likewise.
39468         * doc/posix-functions/futimens.texi (futimens): Document the bug.
39469         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
39470
39471 2009-12-19  Bruno Haible  <bruno@clisp.org>
39472
39473         dprintf-posix: Check against memory leak fixed on 2009-12-15.
39474         * tests/test-dprintf-posix2.sh: New file.
39475         * tests/test-dprintf-posix2.c: New file.
39476         * modules/dprintf-posix-tests (Files): Add them.
39477         (configure.ac): Check for getrlimit and setrlimit.
39478         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
39479
39480 2009-12-19  Bruno Haible  <bruno@clisp.org>
39481
39482         fprintf-posix: Check against memory leak fixed on 2009-12-15.
39483         * tests/test-fprintf-posix3.sh: New file.
39484         * tests/test-fprintf-posix3.c: New file.
39485         * modules/fprintf-posix-tests (Files): Add them.
39486         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
39487
39488 2009-12-19  Eric Blake  <ebb9@byu.net>
39489
39490         dirfd: fix prototype
39491         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
39492         * lib/dirfd.c (dirfd): Likewise.
39493
39494         canonicalize: reduce memory usage
39495         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
39496         allocation to size.
39497         Reported by Solar Designer <solar@openwall.com>.
39498
39499 2009-12-19  Bruno Haible  <bruno@clisp.org>
39500
39501         New module attribute 'Applicability'.
39502         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
39503         * gnulib-tool: New option --extract-applicability.
39504         (func_usage): Document it.
39505         (sed_extract_prog): Recognize it.
39506         (func_get_applicability): New function.
39507         (func_import): Generalize handling of 'link-warning' module.
39508         * modules/link-warning (Applicability): New section.
39509         * modules/arg-nonnull (Applicability): New section.
39510         Repoted by Simon Josefsson <simon@josefsson.org>.
39511
39512 2009-12-19  Bruno Haible  <bruno@clisp.org>
39513
39514         fflush: tweak
39515         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
39516         * lib/fseeko.c (rpl_fseeko): Likewise.
39517
39518 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
39519
39520         * lib/gl_list.h: Fix typo in comment.
39521
39522 2009-12-16  Eric Blake  <ebb9@byu.net>
39523
39524         fcntl: use to simplify other modules
39525         * modules/cloexec (Depends-on): Add fcntl.
39526         * modules/fchdir (Depends-on): Likewise.
39527         * modules/fd-safer-flag (Depends-on): Likewise.
39528         * modules/unistd-safer (Depends-on): Likewise.
39529         * modules/dup3 (configure.ac): Set module indicator.
39530         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
39531         missing.
39532         * lib/fchdir.c (_gl_register_dup): Fix comment.
39533         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
39534         * lib/dup-safer.c (dup_safer): Likewise.
39535         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
39536         * lib/dup3.c (dup3): Likewise.
39537         * tests/test-fchdir.c (main): Enhance test.
39538         Fixes a dup_cloexec bug reported by Ondřej Vašík.
39539
39540         fcntl: port portions of fcntl to mingw
39541         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
39542         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
39543         replacement for mingw.
39544         * modules/fcntl (Description): Update.
39545         (Depends-on): Add dup2.
39546         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
39547         * modules/fcntl-h (Makefile.am): Substitute it.
39548         * lib/fcntl.in.h (fcntl): Update declaration.
39549         (F_DUPFD, F_GETFD): New macros, when needed.
39550         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
39551         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
39552         * tests/test-fcntl.c (check_flags, main): Enhance test for items
39553         we now guarantee.
39554
39555         fcntl: work around cygwin bug in F_DUPFD
39556         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
39557         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
39558         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
39559         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
39560         * doc/posix-functions/fcntl.texi (fcntl): Document it.
39561
39562         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
39563         * modules/fcntl (Files): List new files.
39564         (configure.ac): Run a test.
39565         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
39566         * lib/fcntl.c (rpl_fcntl): Likewise.
39567         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
39568         (gl_FCNTL_H): Always replace fcntl.h.
39569         * modules/fcntl-h (Makefile.am): Substitute witnesses.
39570         * lib/fcntl.in.h (fcntl): Declare replacement.
39571         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
39572         needed, plus a witness.
39573         * doc/posix-functions/fcntl.texi (fcntl): Document this.
39574         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39575         * tests/test-fcntl.c: New file.
39576         * modules/fcntl-tests: Likewise.
39577
39578         binary-io: avoid potential compilation warning
39579         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
39580         directives.
39581
39582         fflush: avoid compilation error on NetBSD
39583         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
39584         between off_t and fpos_t, since the latter is sometimes a struct.
39585         * lib/fseeko.c (rpl_fseeko): Likewise.
39586         Reported by Alexander Nasonov <alnsn@yandex.ru>.
39587
39588 2009-12-15  Eric Blake  <ebb9@byu.net>
39589
39590         fcntl-h, stdio, sys_ioctl: fix declarations
39591         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
39592         function must not take arguments.
39593         * lib/sys_ioctl.in.h (ioctl): Likewise.
39594         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
39595         (open): Add a link warning.
39596
39597 2009-12-15  Jim Meyering  <meyering@redhat.com>
39598
39599         areadlink, areadlink-with-size: relax license to LGPLv2+
39600         * modules/areadlink (License): Relax to LGPLv2+.
39601         * modules/areadlink-with-size (License): Likewise.
39602
39603 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
39604             Bruno Haible  <bruno@clisp.org>
39605
39606         *printf: Fix memory leak.
39607         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
39608         * lib/vfprintf.c (vfprintf): Likewise.
39609         * lib/dprintf.c (dprintf): Likewise.
39610         * lib/vdprintf.c (vdprintf): Likewise.
39611
39612 2009-12-14  Eric Blake  <ebb9@byu.net>
39613
39614         accept4: adjust module dependencies
39615         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
39616
39617         utimens: one more try at avoiding compiler warning
39618         * lib/utimens.c (lutimens): Lower scope of result.
39619
39620 2009-12-13  Bruno Haible  <bruno@clisp.org>
39621
39622         Move the malloc checking from module 'list' to new module 'xlist'.
39623         * modules/xlist: New file.
39624         * lib/gl_xlist.h: New file.
39625         * lib/gl_xlist.c: New file.
39626         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
39627         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
39628         gl_list_add_last, gl_list_add_before, gl_list_add_after,
39629         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
39630         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
39631         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
39632         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
39633         gl_sortedlist_nx_add): New declarations.
39634         (struct gl_list_implementation): Rename and change methods accordingly.
39635         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
39636         (gl_list_nx_create): Renamed from gl_list_create.
39637         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39638         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39639         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39640         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39641         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39642         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39643         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39644         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39645         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
39646         gl_list_create_empty.
39647         (gl_list_nx_create): Renamed from gl_list_create.
39648         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39649         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39650         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39651         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39652         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39653         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39654         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39655         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39656         * lib/gl_array_list.c: Don't include xalloc.h.
39657         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
39658         NULL upon out-of-memory.
39659         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
39660         out-of-memory.
39661         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
39662         Change return type to 'int'.
39663         (gl_array_nx_set_at): Renamed from gl_array_set_at.
39664         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39665         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
39666         upon out-of-memory.
39667         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
39668         upon out-of-memory.
39669         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
39670         upon out-of-memory.
39671         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
39672         upon out-of-memory.
39673         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
39674         out-of-memory.
39675         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
39676         Update.
39677         (gl_array_list_implementation): Update.
39678         * lib/gl_carray_list.c: Don't include xalloc.h.
39679         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
39680         Return NULL upon out-of-memory.
39681         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
39682         out-of-memory.
39683         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
39684         Change return type to 'int'.
39685         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
39686         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39687         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
39688         upon out-of-memory.
39689         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
39690         upon out-of-memory.
39691         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
39692         out-of-memory.
39693         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
39694         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
39695         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
39696         Update.
39697         (gl_carray_list_implementation): Update.
39698         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
39699         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
39700         gl_linked_create_empty. Return NULL upon out-of-memory.
39701         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
39702         out-of-memory.
39703         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
39704         Change return type to 'int'. Return -1 upon out-of-memory.
39705         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
39706         out-of-memory.
39707         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
39708         upon out-of-memory.
39709         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
39710         upon out-of-memory.
39711         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
39712         NULL upon out-of-memory.
39713         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
39714         upon out-of-memory.
39715         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
39716         out-of-memory.
39717         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
39718         Update.
39719         * lib/gl_linked_list.c: Don't include xalloc.h.
39720         (gl_linked_list_implementation): Update.
39721         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
39722         (add_to_bucket): Change return type to 'int'.
39723         (gl_linkedhash_list_implementation): Update.
39724         * lib/gl_anytree_list1.h (free_subtree): New function.
39725         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
39726         gl_tree_create_empty. Return NULL upon out-of-memory.
39727         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
39728         Change return type to 'int'. Return -1 upon out-of-memory.
39729         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
39730         out-of-memory.
39731         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
39732         (gl_tree_remove_node): New function, moved here from
39733         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
39734         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
39735         Update.
39736         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
39737         malloc, not xmalloc. Return NULL upon out-of-memory.
39738         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39739         out-of-memory.
39740         (gl_tree_remove_node_from_tree): New function, extracted from
39741         gl_tree_remove_node.
39742         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39743         upon out-of-memory.
39744         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39745         out-of-memory.
39746         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39747         upon out-of-memory.
39748         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39749         upon out-of-memory.
39750         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39751         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
39752         not xmalloc. Return NULL upon out-of-memory.
39753         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39754         out-of-memory.
39755         (gl_tree_remove_node_from_tree): New function, extracted from
39756         gl_tree_remove_node.
39757         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39758         upon out-of-memory.
39759         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39760         out-of-memory.
39761         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39762         upon out-of-memory.
39763         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39764         upon out-of-memory.
39765         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39766         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
39767         gl_anytree_list1.h before gl_anyavltree_list2.h.
39768         (gl_avltree_list_implementation): Update.
39769         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
39770         gl_anytree_list1.h before gl_anyavltree_list2.h.
39771         (gl_rbtree_list_implementation): Update.
39772         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
39773         Change return type to 'int'. Return -1 upon out-of-memory. Use
39774         __builtin_expect.
39775         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
39776         (gl_avltreehash_list_implementation): Update.
39777         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
39778         (gl_rbtreehash_list_implementation): Update.
39779         * modules/array-list (Depends-on): Remove xalloc.
39780         * modules/carray-list (Depends-on): Likewise.
39781         * modules/linked-list (Depends-on): Likewise.
39782         * modules/linkedhash-list (Depends-on): Likewise.
39783         * modules/avltree-list (Depends-on): Likewise.
39784         * modules/rbtree-list (Depends-on): Likewise.
39785         * modules/avltreehash-list (Depends-on): Likewise.
39786         * modules/rbtreehash-list (Depends-on): Likewise.
39787
39788         * modules/xsublist: New file.
39789         * lib/gl_xsublist.h: New file.
39790         * lib/gl_xsublist.c: New file.
39791         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
39792         (gl_sublist_nx_create): New declaration.
39793         * lib/gl_sublist.c: Don't include xalloc.h.
39794         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
39795         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
39796         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
39797         Change return type to 'int'. Return -1 upon out-of-memory.
39798         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
39799         upon out-of-memory.
39800         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
39801         NULL upon out-of-memory.
39802         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
39803         upon out-of-memory.
39804         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
39805         NULL upon out-of-memory.
39806         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
39807         NULL upon out-of-memory.
39808         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
39809         upon out-of-memory.
39810         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
39811         (gl_sublist_list_implementation): Update.
39812         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
39813         upon out-of-memory.
39814         * modules/sublist (Depends-on): Remove xalloc.
39815
39816         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
39817         * tests/test-carray_list.c: Likewise.
39818         * tests/test-linked_list.c: Likewise.
39819         * tests/test-linkedhash_list.c: Likewise.
39820         * tests/test-avltree_list.c: Likewise.
39821         * tests/test-rbtree_list.c: Likewise.
39822         * tests/test-avltreehash_list.c: Likewise.
39823         * tests/test-rbtreehash_list.c: Likewise.
39824         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
39825         * modules/carray-list-tests (Makefile.am): Likewise.
39826         * modules/linked-list-tests (Makefile.am): Likewise.
39827         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39828         * modules/avltree-list-tests (Makefile.am): Likewise.
39829         * modules/rbtree-list-tests (Makefile.am): Likewise.
39830         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39831         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39832
39833         * NEWS: Mention the changes.
39834
39835         * lib/clean-temp.c: Include gl_xlist.h.
39836         * modules/clean-temp (Depends-on): Add xlist.
39837
39838         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
39839         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
39840
39841         * tests/test-array_oset.c: Include gl_xlist.h.
39842         * modules/array-oset-tests (Depends-on): Add xlist.
39843
39844         Reported by José E. Marchesi <jemarch@gnu.org>.
39845
39846 2009-12-13  Bruno Haible  <bruno@clisp.org>
39847
39848         Move the malloc checking from module 'oset' to new module 'xoset'.
39849         * modules/xoset: New file.
39850         * lib/gl_xoset.h: New file.
39851         * lib/gl_xoset.c: New file.
39852         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
39853         declarations.
39854         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
39855         (struct gl_oset_implementation): Rename and change methods accordingly.
39856         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
39857         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39858         'int'. Mark as __warn_unused_result__.
39859         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
39860         gl_oset_create_empty.
39861         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39862         'int'.
39863         * lib/gl_array_oset.c: Don't include xalloc.h.
39864         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
39865         malloc, not xmalloc.
39866         (grow): Change return type to 'int'. Don't call xalloc_die.
39867         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
39868         to 'int'.
39869         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
39870         'int'.
39871         (gl_array_oset_implementation): Update.
39872         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
39873         gl_tree_create_empty.
39874         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
39875         'int'.
39876         * lib/gl_avltree_oset.c: Don't include xalloc.h.
39877         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39878         xmalloc.
39879         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39880         not xmalloc.
39881         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39882         xmalloc.
39883         (gl_avltree_oset_implementation): Update.
39884         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
39885         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39886         xmalloc.
39887         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39888         not xmalloc.
39889         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39890         xmalloc.
39891         (gl_rbtree_oset_implementation): Update.
39892         * modules/array-oset (Depends-on): Remove xalloc.
39893         * modules/avltree-oset (Depends-on): Likewise.
39894         * modules/rbtree-oset (Depends-on): Likewise.
39895         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
39896         * tests/test-avltree_oset.c: Likewise.
39897         * tests/test-rbtree_oset.c: Likewise.
39898         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39899         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
39900         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39901         * NEWS: Mention the change.
39902
39903 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
39904
39905         maint.mk: allow a project to override release-prep commands
39906         * top/maint.mk (alpha, beta, stable): Move release-preparatory
39907         commands into a new rule.
39908         (release-prep): New rule.
39909         (release-prep-hook): New overridable variable.
39910
39911 2009-12-13  Bruno Haible  <bruno@clisp.org>
39912
39913         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
39914
39915 2009-12-13  Jim Meyering  <meyering@redhat.com>
39916
39917         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
39918         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
39919
39920 2009-12-12  Bruno Haible  <bruno@clisp.org>
39921
39922         duplocale: Tweak.
39923         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
39924
39925 2009-12-12  Karl Berry  <karl@gnu.org>
39926
39927         * config/srclist.txt (strtoll.c): tab changes, no more sync.
39928
39929 2009-12-12  Bruno Haible  <bruno@clisp.org>
39930
39931         * m4/po.m4: Undo incorrect untabification.
39932
39933 2009-12-12  Bruno Haible  <bruno@clisp.org>
39934
39935         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
39936         * modules/c-strtod (Depends-on): Add locale.
39937         * modules/c-strtold (Depends-on): Likewise.
39938
39939 2009-12-12  Bruno Haible  <bruno@clisp.org>
39940
39941         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
39942
39943 2009-12-11  Eric Blake  <ebb9@byu.net>
39944
39945         setenv: relax requirement in light of POSIX ruling
39946         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
39947         not NULL.
39948         * tests/test-setenv.c (main): Relax test.
39949         * tests/test-unsetenv.c (main): Likewise.
39950         * doc/posix-functions/setenv.texi (setenv): Document this.
39951         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39952
39953 2009-12-11  Bruno Haible  <bruno@clisp.org>
39954
39955         New module 'fd-safer-flag'.
39956         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
39957         * lib/dup-safer.c (dup_safer_flag): Remove function.
39958         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
39959         * lib/fd-safer.c (fd_safer_flag): Remove function.
39960         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
39961         * modules/cloexec (configure.ac): Drop indicator macro.
39962         * modules/fd-safer-flag: New file.
39963         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
39964         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
39965         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
39966
39967 2009-12-11  Bruno Haible  <bruno@clisp.org>
39968
39969         Tests for module 'nl_langinfo'.
39970         * modules/nl_langinfo-tests: New file.
39971         * tests/test-nl_langinfo.sh: New file.
39972         * tests/test-nl_langinfo.c: New file.
39973
39974         New module 'nl_langinfo'.
39975         * lib/nl_langinfo.c: New file.
39976         * m4/nl_langinfo.m4: New file.
39977         * modules/nl_langinfo: New file.
39978         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
39979
39980 2009-12-11  Bruno Haible  <bruno@clisp.org>
39981
39982         Tests for module 'langinfo'.
39983         * modules/langinfo-tests: New file.
39984         * tests/test-langinfo.c: New file.
39985
39986         New module 'langinfo'.
39987         * lib/langinfo.in.h: New file.
39988         * m4/langinfo_h.m4: New file.
39989         * modules/langinfo: New file.
39990         * doc/posix-headers/langinfo.texi: Mention the new module.
39991
39992 2009-12-11  Bruno Haible  <bruno@clisp.org>
39993
39994         * lib/config.charset: Untabify.
39995
39996 2009-12-11  Bruno Haible  <bruno@clisp.org>
39997
39998         * modules/unistd-safer (configure.ac): Drop indicator macro.
39999
40000 2009-12-11  Bruno Haible  <bruno@clisp.org>
40001
40002         Move pipe2-safer code to its own file.
40003         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
40004         * lib/pipe-safer.c (pipe2_safer): Remove function.
40005         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
40006         (Makefile.am): Add it to lib_SOURCES.
40007
40008 2009-12-10  Bruno Haible  <bruno@clisp.org>
40009
40010         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
40011
40012 2009-12-10  Bruno Haible  <bruno@clisp.org>
40013
40014         Declare which arguments expect non-NULL values, for GCC and clang.
40015         * build-aux/arg-nonnull.h: New file.
40016         * modules/arg-nonnull: New file.
40017         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
40018         (inet_ntop, inet_pton): Use it.
40019         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
40020         (closedir, dirfd, opendir, scandir, alphasort): Use it.
40021         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
40022         (open, openat): Use it.
40023         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
40024         (fnmatch): Use it.
40025         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
40026         (getopt, getopt_long, getopt_long_only): Use it.
40027         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
40028         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
40029         Use it.
40030         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
40031         (iconv_open): Use it.
40032         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
40033         (strtoimax, strtoumax): Use it.
40034         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
40035         (duplocale): Use it.
40036         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
40037         (frexp, frexpl): Use it.
40038         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
40039         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
40040         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
40041         (tsearch, tfind, tdelete, twalk): Use it.
40042         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
40043         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
40044         sigpending): Use it.
40045         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
40046         (posix_spawn, posix_spawnp, posix_spawnattr_init,
40047         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
40048         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
40049         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
40050         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
40051         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
40052         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
40053         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
40054         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
40055         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
40056         Use it.
40057         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
40058         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
40059         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
40060         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
40061         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
40062         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
40063         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
40064         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
40065         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
40066         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
40067         strtoull, unsetenv): Use it.
40068         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
40069         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
40070         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
40071         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
40072         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
40073         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
40074         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
40075         (strcasecmp, strncasecmp): Use it.
40076         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
40077         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
40078         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
40079         rpl_setsockopt): Use it.
40080         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
40081         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
40082         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
40083         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
40084         (gettimeofday): Use it.
40085         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
40086         (times): Use it.
40087         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
40088         (uname): Use it.
40089         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
40090         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
40091         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
40092         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
40093         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
40094         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
40095         unlinkat, write): Use it.
40096         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
40097         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
40098         * lib/argv-iter.h: Include arg-nonnull.h.
40099         (_ATTRIBUTE_NONNULL_): Remove macro.
40100         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
40101         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
40102         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
40103         optimization.
40104         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
40105         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
40106         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
40107         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
40108         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
40109         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
40110         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
40111         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
40112         * modules/arpa_inet (Depends-on): Add arg-nonnull.
40113         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
40114         * modules/dirent (Depends-on): Add arg-nonnull.
40115         (Makefile.am): Insert arg-nonnull.h into dirent.h.
40116         * modules/fcntl-h (Depends-on): Add arg-nonnull.
40117         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
40118         * modules/fnmatch (Depends-on): Add arg-nonnull.
40119         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
40120         * modules/getopt-posix (Depends-on): Add arg-nonnull.
40121         (Makefile.am): Insert arg-nonnull.h into getopt.h.
40122         * modules/glob (Depends-on): Add arg-nonnull.
40123         (Makefile.am): Insert arg-nonnull.h into glob.h.
40124         * modules/iconv_open (Depends-on): Add arg-nonnull.
40125         (Makefile.am): Insert arg-nonnull.h into iconv.h.
40126         * modules/inttypes (Depends-on): Add arg-nonnull.
40127         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
40128         * modules/locale (Depends-on): Add arg-nonnull.
40129         (Makefile.am): Insert arg-nonnull.h into locale.h.
40130         * modules/math (Depends-on): Add arg-nonnull.
40131         (Makefile.am): Insert arg-nonnull.h into math.h.
40132         * modules/netdb (Depends-on): Add arg-nonnull.
40133         (Makefile.am): Insert arg-nonnull.h into netdb.h.
40134         * modules/search (Depends-on): Add arg-nonnull.
40135         (Makefile.am): Insert arg-nonnull.h into search.h.
40136         * modules/signal (Depends-on): Add arg-nonnull.
40137         (Makefile.am): Insert arg-nonnull.h into signal.h.
40138         * modules/spawn (Depends-on): Add arg-nonnull.
40139         (Makefile.am): Insert arg-nonnull.h into spawn.h.
40140         * modules/stdio (Depends-on): Add arg-nonnull.
40141         (Makefile.am): Insert arg-nonnull.h into stdio.h.
40142         * modules/stdlib (Depends-on): Add arg-nonnull.
40143         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
40144         * modules/string (Depends-on): Add arg-nonnull.
40145         (Makefile.am): Insert arg-nonnull.h into string.h.
40146         * modules/strings (Depends-on): Add arg-nonnull.
40147         (Makefile.am): Insert arg-nonnull.h into strings.h.
40148         * modules/sys_socket (Depends-on): Add arg-nonnull.
40149         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
40150         * modules/sys_stat (Depends-on): Add arg-nonnull.
40151         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
40152         * modules/sys_time (Depends-on): Add arg-nonnull.
40153         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
40154         * modules/sys_times (Depends-on): Add arg-nonnull.
40155         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
40156         * modules/sys_utsname (Depends-on): Add arg-nonnull.
40157         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
40158         * modules/time (Depends-on): Add arg-nonnull.
40159         (Makefile.am): Insert arg-nonnull.h into time.h.
40160         * modules/unistd (Depends-on): Add arg-nonnull.
40161         (Makefile.am): Insert arg-nonnull.h into unistd.h.
40162         * modules/wchar (Depends-on): Add arg-nonnull.
40163         (Makefile.am): Insert arg-nonnull.h into wchar.h.
40164         * modules/argv-iter (Depends-on): Add arg-nonnull.
40165         * tests/test-canonicalize.c (null_ptr): New function.
40166         (main): Use it.
40167         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
40168         (main): Use it.
40169         * tests/test-memmem.c (null_ptr): New function.
40170         (main): Use it.
40171         Reported by Jim Meyering.
40172
40173 2009-12-10  Bruno Haible  <bruno@clisp.org>
40174
40175         Use spaces for indentation, not tabs.
40176         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
40177         * m4/*.m4: Untabify.
40178         * build-aux/*.h: Untabify.
40179         * tests/**/*.[hc]: Untabify.
40180         * README: New section "Indent with spaces, not TABs", based on
40181         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
40182         * NEWS: Mention the change.
40183
40184 2009-12-10  Bruno Haible  <bruno@clisp.org>
40185
40186         pty test: Fix link error.
40187         * modules/pty-tests (Makefile.am): Add the default LDADD value to
40188         test_pty_LDADD.
40189
40190 2009-12-07  Simon Josefsson  <simon@josefsson.org>
40191
40192         * modules/pty: New file.
40193         * modules/pty-tests: New file.
40194         * m4/pty.m4: New file.
40195         * tests/test-pty.c: New file.
40196         * doc/glibc-headers/pty.texi: Modified.
40197         * doc/glibc-functions/forkpty.texi: Modified.
40198         * doc/glibc-functions/openpty.texi: Modified.
40199
40200 2009-12-10  Bruno Haible  <bruno@clisp.org>
40201
40202         Avoid syntax error in C++ mode.
40203         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
40204
40205 2009-12-10  Bruno Haible  <bruno@clisp.org>
40206
40207         Use sed with option -e.
40208         * gnulib-tool (func_version, func_emit_copyright_notice,
40209         func_emit_initmacro_end, func_import, func_create_testdir): Pass
40210         option -e to sed.
40211         * modules/link-warning (Makefile.am): Likewise.
40212
40213 2009-12-10  Jim Meyering  <meyering@redhat.com>
40214
40215         mgetgroups: do not write bytes beyond end of malloc'd buffer
40216         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
40217         username, we call getgroups with a one-element-shorter buffer,
40218         but still told it the length was original, max_n_groups.
40219
40220 2009-12-09  Eric Blake  <ebb9@byu.net>
40221
40222         cloexec: relax license
40223         * modules/cloexec (Maintainer): Add myself.
40224         (License): Use LGPL, not GPL.
40225
40226         link-warning: optimize generation
40227         * modules/link-warning (Makefile.am): Reduce process usage.
40228
40229 2009-12-09  Bruno Haible  <bruno@clisp.org>
40230
40231         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
40232         workaround was added on 2009-11-17.
40233
40234 2009-12-09  Jim Meyering  <meyering@redhat.com>
40235             Bruno Haible  <bruno@clisp.org>
40236
40237         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
40238         * modules/link-warning (Makefile.am): Make the comment-removing sed
40239         command more robust in the face of bootstrap-prepended comment lines.
40240
40241 2009-12-09  Bruno Haible  <bruno@clisp.org>
40242
40243         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
40244         most one group.
40245
40246 2009-12-09  Simon Josefsson <simon@josefsson.org>
40247             Bruno Haible  <bruno@clisp.org>
40248
40249         * build-aux/link-warning.h: Add copyright notice.
40250         * modules/link-warning (Makefile.am): Generate link-warning.h from
40251         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
40252         * NEWS: Mention change in link-warning module.
40253         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
40254         * modules/dirent (Makefile.am): Add dependency to dirent.h.
40255         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
40256         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
40257         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
40258         * modules/math (Makefile.am): Add dependency to math.h.
40259         * modules/search (Makefile.am): Add dependency to search.h.
40260         * modules/signal (Makefile.am): Add dependency to signal.h.
40261         * modules/spawn (Makefile.am): Add dependency to spawn.h.
40262         * modules/stdio (Makefile.am): Add dependency to stdio.h.
40263         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
40264         * modules/string (Makefile.am): Add dependency to string.h.
40265         * modules/strings (Makefile.am): Add dependency to strings.h.
40266         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
40267         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
40268         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
40269         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
40270         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
40271         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
40272         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
40273         * modules/unistd (Makefile.am): Add dependency to unistd.h.
40274         * modules/wchar (Makefile.am): Add dependency to wchar.h.
40275
40276 2009-12-09  Bruno Haible  <bruno@clisp.org>
40277
40278         fchdir: Optimize away rpl_fstat when possible.
40279         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
40280         REPLACE_OPEN_DIRECTORY.
40281         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
40282
40283 2009-12-09  Bruno Haible  <bruno@clisp.org>
40284
40285         * lib/fchdir.c: Update comment.
40286
40287 2009-12-09  Bruno Haible  <bruno@clisp.org>
40288
40289         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
40290
40291 2009-12-08  Eric Blake  <ebb9@byu.net>
40292
40293         fchdir: avoid memory leak on re-registration.
40294         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
40295
40296 2009-12-08  Jim Meyering  <meyering@redhat.com>
40297
40298         init.sh: avoid Solaris 10 /bin/sh portability problem
40299         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
40300         sourced script:
40301           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
40302           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
40303           bar
40304         tests/init.sh relied on that, accepting a --set-path=DIR argument,
40305         and two tests used that idiom.
40306         * tests/init.sh: Update suggested usage comments.
40307         (path_prepend_): New function, to be used in place
40308         of the --src-path=DIR option.
40309         (setup_): Move PATH-prepending code into path_prepend_.
40310         * tests/test-pread.sh: Adapt to new usage.
40311         * tests/test-xalloc-die.sh: Likewise.
40312
40313 2009-12-08  Simon Josefsson  <simon@josefsson.org>
40314
40315         * doc/gnulib.texi (Glibc pty.h): Add.
40316         * doc/glibc-functions/forkpty.texi: Add.
40317         * doc/glibc-functions/openpty.texi: Add.
40318         Suggested by Bruno Haible.
40319
40320 2009-12-08  Eric Blake  <ebb9@byu.net>
40321
40322         fchdir: fix logic bugs
40323         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
40324         * tests/test-fchdir.c (main): Enhance test.
40325         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
40326         is in use.
40327
40328         dup2: fix logic bugs
40329         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
40330         REPLACE_DUP2 to decide when rpl_dup2 is needed.
40331         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
40332         exists.
40333         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
40334
40335 2009-12-07  Eric Blake  <ebb9@byu.net>
40336
40337         unlink: fix m4 detection
40338         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
40339
40340         unistd-safer: add unit test
40341         * modules/unistd-safer-tests: New file.
40342         * tests/test-dup-safer.c: Likewise.
40343         * tests/test-cloexec.c (setmode): Avoid compiler warning.
40344         * tests/test-dup2.c (setmode): Likewise.
40345         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
40346
40347         cloexec: preserve text vs. binary across dup_cloexec
40348         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
40349         mode.
40350         * modules/dup2-tests (Depends-on): Add binary-io.
40351         * modules/cloexec-tests (Depends-on): Likewise.
40352         * tests/test-dup2.c (setmode, is_mode): New helpers.
40353         (main): Add tests that translation mode is preserved.
40354         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
40355         Reported by Bruno Haible.
40356
40357         mgetgroups: reduce duplicate listings
40358         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
40359         resulting array.
40360         * tests/test-chown.h (test_chown): Simplify client.
40361         * tests/test-lchown.h (test_lchown): Likewise.
40362
40363 2009-12-06  Bruno Haible  <bruno@clisp.org>
40364
40365         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
40366         value.
40367
40368 2009-12-06  Bruno Haible  <bruno@clisp.org>
40369
40370         * lib/progname.c: Include stdio.h, stdlib.h.
40371         (set_program_name): Reject a NULL argument.
40372
40373 2009-12-05  Eric Blake  <ebb9@byu.net>
40374
40375         pipe2-safer: new module
40376         * modules/pipe2-safer: New file.
40377         * lib/unistd-safer.h (pipe2_safer): New prototype.
40378         * lib/unistd--.h (pipe2): New wrapper.
40379         * lib/pipe-safer.c (pipe2_safer): New function.
40380         * modules/pipe (Depends-on): Add pipe2-safer.
40381         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
40382
40383         stdlib-safer: preserve cloexec flag for mkostemp[s]
40384         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
40385         fd_safer_flag.
40386
40387         unistd-safer: allow preservation of cloexec status via flag
40388         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
40389         prototypes.
40390         * lib/dup-safer.c (dup_safer_flag): New function.
40391         * lib/fd-safer.c (fd_safer_flag): Likewise.
40392         * modules/cloexec (configure.ac): Set witness.
40393
40394         test-dup2: enhance test
40395         * modules/dup2-tests (Depends-on): Add cloexec.
40396         * tests/test-dup2.c (main): Enhance test.
40397
40398         cloexec: add dup_cloexec
40399         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
40400         header and comments.
40401         * lib/cloexec.c (set_cloexec_flag): Add comments.
40402         (dup_cloexec): New function, with mingw implementation borrowed
40403         from...
40404         * lib/w32spawn.h (dup_noinherit): ...here.
40405         * modules/execute (Depends-on): Add cloexec.
40406         * modules/pipe (Depends-on): Likewise.
40407         * modules/cloexec (Depends-on): Add dup2.
40408         * modules/cloexec-tests (Files): New file.
40409         * tests/test-cloexec.c: Likewise.
40410
40411         test-xalloc-die: fix test for mingw
40412         * modules/xalloc-die-tests (Files): Add tests/init.sh.
40413         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
40414         directory and .exe suffix off argv[0] output.
40415
40416         test-fseeko: fix test for mingw
40417         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
40418         than undefining fseek, so test will pass on mingw.
40419
40420 2009-12-05  Bruno Haible  <bruno@clisp.org>
40421
40422         * lib/progname.h (set_program_name): Clarify specification.
40423         * lib/progname.c (set_program_name): Likewise.
40424         Reported by Jim Meyering.
40425
40426 2009-12-05  Jim Meyering  <meyering@redhat.com>
40427
40428         maint.mk: backslash-escape parens in default regexp
40429         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
40430         backslash-escape the literal parentheses.
40431
40432         maint.mk: news-date-check: use grep -E
40433         * top/maint.mk (today): Define a Make variable, not a...
40434         (news-date-check): ...shell variable.
40435         (news-date-regexp): Use the Make variable.
40436         Use grep's -E option.  Change the failing diagnostic to mention
40437         the variable, $(news-date-regexp).
40438
40439 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
40440
40441         maintainer-makefile: allow customization of NEWS entry format
40442         * top/maint.mk (news-date-regexp): New overridable variable.
40443         (news-date-check): Use it.
40444
40445 2009-12-04  Eric Blake  <ebb9@byu.net>
40446
40447         mgetgroups: add xgetgroups, and avoid ENOSYS failures
40448         * lib/mgetgroups.h (xgetgroups): New prototype.
40449         * lib/mgetgroups.c (xgetgroups): New wrapper.
40450         (mgetgroups): Handle ENOSYS.
40451         * modules/mgetgroups (Depends-on): Add realloc.
40452         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
40453
40454         mgetgroups: avoid argument promotion issues with -1
40455         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
40456         for invalid gid_t.
40457         * tests/test-chown.h (getegid, test_chown): Likewise.
40458         * tests/test-lchown.h (getegid, test_lchown): Likewise.
40459
40460 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
40461
40462         exclude: Fix header file problems.
40463         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
40464
40465 2009-12-01  Jim Meyering  <meyering@redhat.com>
40466
40467         fts: fts_open: do not let an empty string cause immediate failure
40468         This is required in support of GNU rm, for which the command
40469         "rm A '' B" must process and remove both A and B, in spite of
40470         the empty string argument.
40471         * lib/fts.c (fts_open): Do not let the presence of an empty string
40472         cause fts_open to fail immediately.  Most fts-using tools must be
40473         able to process all arguments, in order, and can be expected to
40474         diagnose such arguments themselves.
40475
40476 2009-11-30  Eric Blake  <ebb9@byu.net>
40477
40478         utimens: fix compilation error
40479         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
40480         Declare variable at right scope.
40481
40482 2009-11-29  Jim Meyering  <meyering@redhat.com>
40483
40484         bootstrap: handle perl-5.11's changed --version output
40485         * build-aux/bootstrap (get_version): Handle perl separately,
40486         since perl-5.11's --version output is different.
40487
40488 2009-11-28  Jim Meyering  <meyering@redhat.com>
40489
40490         userspec: depend on the inttostr module, too
40491         * modules/userspec (Depends-on): Add inttostr.
40492
40493         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
40494         * lib/userspec.c (parse_with_separator): Do not accept a user ID
40495         number of MAXUID when it evaluates to (uid_t) -1.
40496         Likewise for group ID.  Reported by Matt McCutchen in
40497         <http://savannah.gnu.org/bugs/?28113>
40498
40499         userspec: reformat to use spaces, not TABs
40500         * lib/userspec.c: Expand TABs to spaces.
40501         Add Emacs' "indent-tabs-mode: nil" hint.
40502
40503 2009-11-27  Eric Blake  <ebb9@byu.net>
40504
40505         getopt-gnu: flush out another BSD bug
40506         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
40507         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
40508         flush out BSD bug.
40509         * tests/test-getopt.h (test_getopt): End lists with NULL.
40510         * tests/test-getopt_long.h (test_getopt_long): Likewise.
40511         (test_getopt_long_posix): Enhance test.
40512         * modules/getopt-posix-tests (Depends-on): Add stdbool.
40513         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
40514         getopt-gnu.
40515         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40516         Likewise.
40517
40518 2009-11-27  Simon Josefsson  <simon@josefsson.org>
40519
40520         * modules/idpriv-droptemp-tests (Notice): Fix text.
40521
40522 2009-11-27  Jim Meyering  <meyering@redhat.com>
40523
40524         test-xalloc-die: avoid spurious failure due to libtool argv difference
40525         In a libtool-enabled project, this test would fail due to a difference
40526         in the emitted program name, e.g.,
40527         -test-xalloc-die: memory exhausted
40528         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
40529         Use program to avoid that.
40530         * modules/xalloc-die-tests (Depends-on): Add progname.
40531         * tests/test-xalloc-die.c: Include progname.h".
40532         (program_name): Remove decl.
40533         (main): Call set_program_name.
40534         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
40535
40536 2009-11-26  Richard Jones  <rjones@redhat.com>
40537
40538         w32sock: leave win32 error in place.
40539         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
40540
40541 2009-11-26  Eric Blake  <ebb9@byu.net>
40542
40543         init.sh: suggest to use skip_ and fail_ functions in comments
40544         * tests/init.sh: Add a sentence.
40545
40546 2009-11-25  Bruno Haible  <bruno@clisp.org>
40547
40548         init.sh: add documentation in comments
40549         * tests/init.sh: Add some developer and user documentation.
40550
40551 2009-11-26  Jim Meyering  <meyering@redhat.com>
40552
40553         init.sh: accommodate even those who specify bogus srcdir manually
40554         * tests/init.sh: Normally, srcdir is guaranteed by automake and
40555         configure-time tests to be sanitized, so that there is no need to
40556         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
40557         (with no double quotes) suffices.  However, since tests may be
40558         invoked manually, and since you may explicitly set srcdir to the
40559         name of a directory containing spaces, do quote its uses here.
40560         * tests/test-pread.sh: Likewise.
40561         Suggested by Bruno Haible.
40562
40563         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
40564         * tests/test-pread.sh: Write no data into the pipe, because
40565         test-pread actually reads none.  This avoids a diagnostic,
40566         "bash: echo: write error: Broken pipe", that arises in the unusual
40567         event something is ignoring SIGPIPE, and might be interpreted
40568         as some sort of failure.  Reported by Bruno Haible.
40569
40570 2009-11-25  Jim Meyering  <meyering@redhat.com>
40571
40572         test-pread: cover failure with ESPIPE and EINVAL
40573         * tests/test-pread.c (main): Test for failure, too.
40574         * tests/test-pread.sh: Invoke with stdin on a pipe.
40575         Suggested by Eric Blake.
40576
40577         pread: improvement and fix
40578         * modules/pread (Depends-on): Depend on lseek, for portability to
40579         e.g., mingw.  Suggested by Eric Blake.
40580         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
40581
40582         unistd.in.h: correct declaration of pread
40583         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
40584         Reported by Richard W.M. Jones.
40585
40586         test-pread.sh: distribute the test script
40587         * modules/pread-tests (Files): Include test-pread.sh.
40588
40589         test-pread.sh: clean up
40590         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
40591         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
40592         That is unnecessary, since it's always ".".
40593         Suggestion from Eric Blake.
40594
40595         test-pread.sh: make executable
40596         * tests/test-pread.sh: Set executable bit.
40597         Reported by Eric Blake.
40598
40599         correct typo in test-pread.sh
40600         * tests/test-pread.sh: Add #! line.
40601
40602         test pread
40603         * tests/test-pread.c: New file.
40604         * tests/test-pread.sh: Likewise.
40605         * modules/pread-tests: Likewise.
40606
40607         pread: new module
40608         * modules/pread: New file.
40609         * lib/unistd.in.h (pread): Define/declare.
40610         * lib/pread.c (pread): New file.
40611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
40612         * modules/unistd (Makefile.am): Substitute witnesses.
40613         * doc/posix-functions/pread.texi (pread): Update.
40614         * MODULES.html.sh: Add pread.
40615
40616 2009-11-25  Jim Meyering  <meyering@redhat.com>
40617
40618         tests/init.sh: new file to be used via most *.sh tests
40619         * tests/init.sh: New file.
40620
40621 2009-11-25  Eric Blake  <ebb9@byu.net>
40622
40623         utimens: work around older Linux failure with symlinks
40624         * lib/utimens.c (lutimensat_works_really): New variable.
40625         (fdutimens, lutimens): Use it to manage kernels that support
40626         nanosecond times on files, but not on symlinks.
40627         Reported by Ondřej Vašík.
40628
40629         utimes: fix configure grammar
40630         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
40631
40632 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
40633
40634         regex: Fix fastmap for multibyte character ranges.
40635         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
40636         characters when a multibyte character range is included.
40637
40638 2009-11-22  Andy Wingo  <wingo@pobox.com>
40639
40640         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
40641         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
40642
40643 2009-11-24  Bruno Haible  <bruno@clisp.org>
40644
40645         doc: Most *_l functions exist in MacOS X 10.5.
40646         * doc/posix-functions/duplocale.texi: Update platforms list.
40647         * doc/posix-functions/freelocale.texi: Likewise.
40648         * doc/posix-functions/newlocale.texi: Likewise.
40649         * doc/posix-functions/uselocale.texi: Likewise.
40650         * doc/posix-functions/isalnum_l.texi: Likewise.
40651         * doc/posix-functions/isalpha_l.texi: Likewise.
40652         * doc/posix-functions/isblank_l.texi: Likewise.
40653         * doc/posix-functions/iscntrl_l.texi: Likewise.
40654         * doc/posix-functions/isdigit_l.texi: Likewise.
40655         * doc/posix-functions/isgraph_l.texi: Likewise.
40656         * doc/posix-functions/islower_l.texi: Likewise.
40657         * doc/posix-functions/isprint_l.texi: Likewise.
40658         * doc/posix-functions/ispunct_l.texi: Likewise.
40659         * doc/posix-functions/isspace_l.texi: Likewise.
40660         * doc/posix-functions/isupper_l.texi: Likewise.
40661         * doc/posix-functions/iswalnum_l.texi: Likewise.
40662         * doc/posix-functions/iswalpha_l.texi: Likewise.
40663         * doc/posix-functions/iswblank_l.texi: Likewise.
40664         * doc/posix-functions/iswcntrl_l.texi: Likewise.
40665         * doc/posix-functions/iswctype_l.texi: Likewise.
40666         * doc/posix-functions/iswdigit_l.texi: Likewise.
40667         * doc/posix-functions/iswgraph_l.texi: Likewise.
40668         * doc/posix-functions/iswlower_l.texi: Likewise.
40669         * doc/posix-functions/iswprint_l.texi: Likewise.
40670         * doc/posix-functions/iswpunct_l.texi: Likewise.
40671         * doc/posix-functions/iswspace_l.texi: Likewise.
40672         * doc/posix-functions/iswupper_l.texi: Likewise.
40673         * doc/posix-functions/iswxdigit_l.texi: Likewise.
40674         * doc/posix-functions/isxdigit_l.texi: Likewise.
40675         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
40676         * doc/posix-functions/strcasecmp_l.texi: Likewise.
40677         * doc/posix-functions/strcoll_l.texi: Likewise.
40678         * doc/posix-functions/strfmon_l.texi: Likewise.
40679         * doc/posix-functions/strftime_l.texi: Likewise.
40680         * doc/posix-functions/strncasecmp_l.texi: Likewise.
40681         * doc/posix-functions/strxfrm_l.texi: Likewise.
40682         * doc/posix-functions/tolower_l.texi: Likewise.
40683         * doc/posix-functions/toupper_l.texi: Likewise.
40684         * doc/posix-functions/towctrans_l.texi: Likewise.
40685         * doc/posix-functions/towlower_l.texi: Likewise.
40686         * doc/posix-functions/towupper_l.texi: Likewise.
40687         * doc/posix-functions/wcscoll_l.texi: Likewise.
40688         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
40689         * doc/posix-functions/wctrans_l.texi: Likewise.
40690         * doc/posix-functions/wctype_l.texi: Likewise.
40691         * doc/glibc-functions/strptime_l.texi: Likewise.
40692         * doc/glibc-functions/strtod_l.texi: Likewise.
40693         * doc/glibc-functions/strtof_l.texi: Likewise.
40694         * doc/glibc-functions/strtol_l.texi: Likewise.
40695         * doc/glibc-functions/strtold_l.texi: Likewise.
40696         * doc/glibc-functions/strtoll_l.texi: Likewise.
40697         * doc/glibc-functions/strtoul_l.texi: Likewise.
40698         * doc/glibc-functions/strtoull_l.texi: Likewise.
40699         * doc/glibc-functions/wcsftime_l.texi: Likewise.
40700         * doc/glibc-functions/wcstod_l.texi: Likewise.
40701         * doc/glibc-functions/wcstof_l.texi: Likewise.
40702         * doc/glibc-functions/wcstol_l.texi: Likewise.
40703         * doc/glibc-functions/wcstold_l.texi: Likewise.
40704         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40705         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40706         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40707
40708 2009-11-24  Bruno Haible  <bruno@clisp.org>
40709
40710         duplocale: Fix logic bug.
40711         * lib/duplocale.c: Don't include <langinfo.h>.
40712         (_NL_LOCALE_NAME): Remove macro.
40713         (rpl_duplocale): Use setlocale instead of nl_langinfo.
40714         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
40715
40716 2009-11-23  Jim Meyering  <meyering@redhat.com>
40717
40718         test-update-copyright: don't hard-code /usr/bin/perl
40719         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
40720         perl to print the current year.  Gilles Espinasse reported that
40721         the replaced use of perl was hard-coded as /usr/bin/perl.
40722
40723 2009-11-23  Bruno Haible  <bruno@clisp.org>
40724
40725         duplocale: Add support for glibc 2.3.x.
40726         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
40727
40728 2009-11-22  Bruno Haible  <bruno@clisp.org>
40729
40730         vasnprintf: Tiny optimization.
40731         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
40732         MacOS X.
40733
40734 2009-11-22  Bruno Haible  <bruno@clisp.org>
40735
40736         Tests for module 'duplocale'.
40737         * modules/duplocale-tests: New file.
40738         * tests/test-duplocale.c: New file.
40739
40740         New module 'duplocale'.
40741         * m4/duplocale.m4: New file.
40742         * lib/locale.in.h (duplocale): New declaration.
40743         * lib/duplocale.c: New file.
40744         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
40745         gl_LOCALE_H_DEFAULTS): New macros.
40746         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
40747         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
40748         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
40749         REPLACE_DUPLOCALE.
40750         * modules/duplocale: New file.
40751         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
40752
40753 2009-11-22  Bruno Haible  <bruno@clisp.org>
40754
40755         * modules/locale-tests (configure.ac): Test for newlocale function.
40756         * tests/test-locale.c: When the system has extended locale functions,
40757         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
40758
40759         locale: Make locale_t available when possible.
40760         * lib/locale.in.h: Include <xlocale.h> when it exists.
40761         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
40762         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
40763         * modules/locale (Depends-on): Add extensions.
40764         (Makefile.am): Also substitute HAVE_XLOCALE_H.
40765         * doc/posix-headers/locale.texi: Document the problem with locale_t.
40766
40767 2009-11-22  Bruno Haible  <bruno@clisp.org>
40768
40769         Add comments.
40770         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
40771         invocation.
40772         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
40773         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
40774         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40775
40776 2009-11-22  Bruno Haible  <bruno@clisp.org>
40777
40778         error: account for the possibility of freopen (stdout).
40779         * lib/error.c: Include <unistd.h>.
40780         (flush_stdout): New function, extracted from error and error_at_line.
40781         Determine stdout's fd dynamically.
40782         (error, error_at_line): Invoke flush_stdout.
40783         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
40784         * modules/error (Depends-on): Add unistd.
40785
40786 2009-11-22  Bruno Haible  <bruno@clisp.org>
40787
40788         diffseq: Add comment.
40789         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
40790
40791 2009-11-22  Jim Meyering  <meyering@redhat.com>
40792
40793         c-stack: avoid defining an unused static function
40794         * lib/c-stack.c (find_stack_direction): Do not define this function
40795         when it will not be used.
40796
40797         diffseq: avoid spurious gcc warnings
40798         * lib/diffseq.h (IF_LINT2): Define.
40799         (compareseq): Use it to initialize two members of "part".
40800         This avoids two used-uninitialized warnings.
40801
40802 2009-11-21  Jim Meyering  <meyering@redhat.com>
40803
40804         c-stack: avoid "ignoring return value of `write'" warning
40805         * lib/c-stack.c: Include "ignore-value.h".
40806         (die): Explicitly ignore each write return value.
40807         * modules/c-stack (Depends-on): Add ignore-value.
40808
40809 2009-11-21  Bruno Haible  <bruno@clisp.org>
40810
40811         diffseq: reduce scope of variable 'best'.
40812         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
40813         variable, earlier used for two different purposes.
40814
40815 2009-11-21  Jim Meyering  <meyering@redhat.com>
40816
40817         diffseq: remove useless assignment to "best"
40818         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
40819         assignment.  At that point "best" is already guaranteed to be zero.
40820
40821 2009-11-20  Eric Blake  <ebb9@byu.net>
40822
40823         build: mention ftp redirector in release announcements
40824         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
40825         values that used to come from cfg.mk; mention FTP redirect URL.
40826         * build-aux/announce-gen: Mention the mirror list.
40827         Suggested by Karl Berry.
40828
40829         nanosleep: improve port to mingw
40830         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
40831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
40832         LIB_NANOSLEEP, but only when needed.
40833         * modules/select (Link): Document LIBSOCKET.
40834         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
40835         enough.
40836
40837         nanosleep: work around cygwin bug
40838         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
40839         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
40840         bug.
40841         (getnow): Delete, not needed.
40842         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
40843         LIB_CLOCK_GETTIME.
40844         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
40845         clock-time, gettime.
40846         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
40847         bug.
40848         * modules/nanosleep-tests: New test.
40849         * tests/test-nanosleep.c: New file.
40850
40851         sleep: work around cygwin bug
40852         * lib/sleep.c (rpl_sleep): Work around the bug.
40853         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
40854         (gl_PREREQ_SLEEP): Delete unused macro.
40855         * modules/sleep (Depends-on): Add verify.
40856         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40857         * modules/unistd (Makefile.am): Substitute witness.
40858         * lib/unistd.in.h (sleep): Update prototype.
40859         * doc/posix-functions/sleep.texi (sleep): Document the bug.
40860         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
40861         * modules/sleep-tests (Depends-on): Check for alarm.
40862
40863 2009-11-20  Jim Meyering  <meyering@redhat.com>
40864
40865         maint.mk: improve sc_prohibit_magic_number_exit
40866         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
40867         so it does not match uses like System.exit(1).
40868         Add comments showing how to correct all offenders.
40869
40870 2009-11-19  Eric Blake  <ebb9@byu.net>
40871
40872         xalloc-die-tests: add missing library
40873         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
40874
40875         test-xvasprintf: silence compiler warnings
40876         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
40877         empty string from gcc.
40878
40879 2009-11-19  Jim Meyering  <meyering@redhat.com>
40880
40881         xfreopen: new module, from coreutils
40882         * modules/xfreopen: New module.
40883         * lib/xfreopen.c: New file.
40884         * lib/xfreopen.h: New file.
40885         * MODULES.html.sh (File stream based Input/Output"): Add it.
40886
40887 2009-11-19  Eric Blake  <ebb9@byu.net>
40888
40889         manywarnings: depend on warnings
40890         * modules/manywarnings (Depends-on): Add warnings.
40891
40892         build: avoid compiler warnings
40893         * lib/select.c (rpl_select): Delete unused variable.
40894         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
40895
40896 2009-11-18  Eric Blake  <ebb9@byu.net>
40897
40898         tests: avoid false negative with --with-packager
40899         * tests/test-version-etc.sh: Discard packager information.
40900         * tests/test-argp-version-etc-1.sh: Likewise.
40901         Reported by Mike Frysinger.
40902
40903         utimens: fix regression on Solaris
40904         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
40905         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
40906         can only change fd timestamps via futimesat.  Instead, use an
40907         additional witness macro to avoid BSD bug.
40908         Reported by Jim Meyering.
40909
40910 2009-11-17  Eric Blake  <ebb9@byu.net>
40911
40912         usleep: use it to simplify tests
40913         * modules/stat-time-tests (Depends-on): Add usleep.
40914         (configure.ac): Drop usleep check.
40915         * modules/chown-tests (Depends-on, configure.ac): Likewise.
40916         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
40917         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
40918         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
40919         * modules/openat-tests (Depends-on, configure.ac): Likewise.
40920         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
40921         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
40922         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
40923         Likewise.
40924         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
40925         * tests/test-lchown.h (nap): Likewise.
40926         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
40927         * tests/test-stat-time.c (nap): Likewise.
40928         * tests/test-utimens-common.h (nap): Update comments.
40929
40930         usleep: new module
40931         * modules/usleep: New file.
40932         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
40933         * lib/usleep.c (usleep): Likewise.
40934         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40935         * modules/unistd (Makefile.am): Substitute witnesses.
40936         * lib/unistd.in.h (usleep): Add declaration.
40937         * doc/pastposix-functions/usleep.texi (usleep): Document this.
40938         * MODULES.html.sh (Date and time): Likewise.
40939         * modules/usleep-tests (Depends-on): New test.
40940         * tests/test-usleep.c: New file.
40941
40942         chown: work around OpenBSD bug
40943         * lib/chown.c (rpl_chown): Work around the bug.
40944         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
40945         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
40946         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
40947         * modules/chown (Depends-on): Add stdbool.
40948         * modules/lchown (Depends-on): Likewise.
40949         * doc/posix-functions/chown.texi (chown): Document the bug.
40950         * doc/posix-functions/lchown.texi (lchown): Likewise.
40951         * tests/test-lchown.h (test_chown): Relax test.
40952
40953         mkstemp: avoid conflict with C++ keyword template
40954         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
40955         * lib/mkostemp.c (mkostemp): Likewise.
40956         * lib/mkostemps.c (mkostemps): Likewise.
40957         * lib/mkstemp.c (mkstemp): Likewise.
40958         * lib/mkstemps.c (mkstemps): Likewise.
40959
40960         xalloc-die-tests: optimize
40961         * tests/test-xalloc-die.sh: Reduce number of processes.
40962
40963 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40964
40965         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
40966         patch from ludo@gnu.org (Ludovic Courtès).
40967
40968 2009-11-17  Jim Meyering  <meyering@redhat.com>
40969
40970         version-etc: use proper license string
40971         * modules/version-etc (License): Use LGPL, not LGPLv3+.
40972         * modules/version-etc-fsf: Likewise.
40973
40974 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40975
40976         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
40977         printed to stdout.  Deal with EOL differences.
40978
40979 2009-11-17  Eric Blake  <ebb9@byu.net>
40980
40981         unsetenv: work around Solaris bug
40982         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
40983         * lib/unsetenv.c (rpl_unsetenv): Work around it.
40984         Reported by Jim Meyering.
40985
40986         vasnprintf: avoid compiler warnings
40987         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
40988         variables.
40989         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
40990
40991 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40992
40993         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
40994         settings since xalloc-die is no longer the self test,
40995         xalloc-die.sh is.
40996
40997 2009-11-17  Jim Meyering  <meyering@redhat.com>
40998
40999         test-xalloc-die.sh: make the code agree with the commit log
41000         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
41001         at the end, just in case you happen to have a test-xalloc-die
41002         program in some other PATH directory.
41003
41004         test-xalloc-die.sh: fix a portability bug
41005         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
41006         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
41007         Otherwise, argv[0] (as often seen in diagnostics) would be too
41008         system-dependent, sometimes with, and sometimes without the leading "./".
41009
41010         version-etc-fsf: relax license to LGPLv3+
41011         * modules/version-etc-fsf (License): Relax license.
41012
41013 2009-11-16  Eric Blake  <ebb9@byu.net>
41014
41015         xalloc-die-tests: avoid printing null pointer
41016         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
41017         shell script.
41018         * tests/test-xalloc-die.c (program_name): Declare.
41019         * tests/test-xalloc-die.sh (tmpfiles): New file.
41020
41021         setenv, unsetenv: work around various bugs
41022         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
41023         (setenv) [HAVE_SETENV]: Work around bugs.
41024         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
41025         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
41026         for bugs.
41027         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
41028         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
41029         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
41030         * modules/stdlib (Makefile.am): Update substitutions.
41031         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
41032         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
41033         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41034         * modules/setenv-tests: New test.
41035         * modules/unsetenv-tests: Likewise.
41036         * tests/test-setenv.c: New file.
41037         * tests/test-unsetenv.c: Likewise.
41038
41039 2009-11-16  Jim Meyering  <meyering@redhat.com>
41040
41041         version-etc: relax license to LGPLv3+
41042         * modules/version-etc (License): Relax license.
41043
41044         better AC_REQUIRE expanded-before-required-warning avoidance
41045         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
41046         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
41047         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
41048         which is no longer needed.
41049
41050 2009-11-16  Eric Blake  <ebb9@byu.net>
41051
41052         test-freading: clean up temporary file
41053         * tests/test-freading.c (main): Remove file on success, and use
41054         ASSERT more liberally.
41055         Reported by Jim Meyering.
41056
41057 2009-11-16  Jim Meyering  <meyering@redhat.com>
41058
41059         avoid new AC_REQUIRE expanded-before-required warnings
41060         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
41061         merely using it.
41062         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
41063         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
41064
41065 2009-11-15  Simon Josefsson  <simon@josefsson.org>
41066
41067         * tests/test-xalloc-die.c: New file.
41068         * modules/xalloc-die-tests: New file.
41069         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
41070         XFAIL_TESTS so it can be appended by modules.
41071
41072 2009-11-15  Simon Josefsson  <simon@josefsson.org>
41073
41074         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
41075         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
41076
41077 2009-11-14  Eric Blake  <ebb9@byu.net>
41078
41079         fnmatch: avoid compiler warning
41080         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
41081         to silence compiler warning about mismatch signedness in ?:.
41082         Reported by Robert Millan.
41083
41084         intprops: add double-inclusion guard
41085         * lib/intprops.h: Allow idempotent includes.
41086         Suggested by Bruce Korb.
41087
41088         openat: detect Solaris fchownat bug
41089         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
41090         penalizing glibc chownat when only lchownat is broken.
41091         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
41092         trailing slash bugs.
41093         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
41094         * modules/openat-tests (Files): Include more files.
41095         (Depends-on): Add mgetgroups, sleep, stat-time.
41096         (configure.ac): Add additional checks.
41097         (Makefile.am): Build new test.
41098         * tests/test-fchownat.c: New file.
41099
41100         lchown: detect Solaris and FreeBSD bug
41101         * lib/lchown.c (rpl_lchown): Work around bug.
41102         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
41103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41104         * modules/unistd (Makefile.am): Populate it.
41105         * lib/unistd.in.h (lchown): Update declaration.
41106         * doc/posix-functions/lchown.texi (lchown): Document the bug.
41107         * modules/lchown-tests: New file.
41108         * tests/test-lchown.h (test_lchown): Likewise.
41109         * tests/test-lchown.c (main): Likewise.
41110
41111         chown: detect Solaris and FreeBSD bug
41112         * lib/chown.c (rpl_chown): Work around bug.
41113         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
41114         (gl_PREREQ_CHOWN): Delete.
41115         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41116         * modules/unistd (Makefile.am): Populate it.
41117         * lib/unistd.in.h (chown): Update declaration.
41118         * lib/lchown.c (chown): Update client.
41119         * modules/lchown (Depends-on): Add lstat.
41120         * doc/posix-functions/chown.texi (chown): Document the bug.
41121         * doc/posix-functions/getgroups.texi (getgroups): Document
41122         getgroups pitfall.
41123         * modules/chown-tests: New file.
41124         * tests/test-chown.h (test_chown): Likewise.
41125         * tests/test-chown.c (main): Likewise.
41126
41127 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
41128
41129         gnulib-tool: correctly detect absence of m4 directories
41130         * gnulib-tool: Avoid extra newline on data passed to wc -l.
41131
41132 2009-11-14  Jim Meyering  <meyering@redhat.com>
41133
41134         maint.mk: Prohibit inclusion of "xalloc.h" without use.
41135         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
41136
41137 2009-11-14  John W. Eaton  <jwe@gnu.org>
41138
41139         strftime.h: wrap function declaration in extern "C" block
41140         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
41141
41142 2009-11-13  Eric Blake  <ebb9@byu.net>
41143
41144         getgroups: avoid compiler warning
41145         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
41146
41147         getgroups: work around FreeBSD bug
41148         * lib/getgroups.c (rpl_getgroups): Work around the bug.
41149         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
41150         * doc/posix-functions/getgroups.texi (getgroups): Document it.
41151         * tests/test-getgroups.c (main): Fix buffer overrun.
41152
41153         getgroups: avoid compilation failure
41154         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
41155         * modules/getgroups (Depends-on): Add stdint.
41156
41157 2009-11-13  Jim Meyering  <meyering@redhat.com>
41158
41159         test-getgroups: avoid compilation failure
41160         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
41161
41162 2009-11-13  Eric Blake  <ebb9@byu.net>
41163
41164         mgetgroups: new module, taken from coreutils
41165         * modules/mgetgroups: New file.
41166         * lib/mgetgroups.h: Likewise.
41167         * lib/mgetgroups.c (mgetgroups): Likewise.
41168         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
41169         * MODULES.html.sh (Users and groups): Mention it.
41170
41171         getgroups: don't expose GETGROUPS_T to user
41172         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
41173         an element at a time if GETGROUPS_T is wrong size.
41174         * lib/getugroups.h (getugroups): Change signature.
41175         * lib/unistd.in.h (getgroups): Likewise.
41176         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
41177         signature needs fixing.
41178         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
41179         AC_TYPE_GETGROUPS.
41180         * modules/group-member (Depends-on): Add getgroups.
41181         * lib/group-member.c (group_info, get_group_info): Use gid_t.
41182         (group_member): Rely on getgroups replacement.
41183         * lib/getugroups.c (getugroups): Use gid_t.
41184         * tests/test-getgroups.c (main): Likewise.
41185         * NEWS: Mention the signature change.
41186         * doc/posix-functions/getgroups.texi (getgroups): Mention the
41187         problem with signature.
41188         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
41189         GETGROUPS_T is still useful for setgroups.
41190
41191         getgroups, getugroups: provide stubs for mingw
41192         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
41193         * lib/getugroups.c (getugroups): Likewise.
41194         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
41195         function.  Modernize replacement scheme.
41196         (gl_PREREQ_GETGROUPS): Delete.
41197         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
41198         * modules/getgroups (configure.ac): Declare witness.
41199         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
41200         * modules/unistd (Depends-on): Substitute witness.
41201         * lib/unistd.in.h (getgroups): Declare replacement.
41202
41203         getgroups: avoid calling exit
41204         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
41205         drop xalloc.
41206         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
41207         dependencies.
41208         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
41209         exiting, in the rare case of malloc failure.
41210
41211         getgroups: fix logic error
41212         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
41213         has more than 20 groups.
41214         * modules/getgroups-tests: New test.
41215         * tests/test-getgroups.c: New file.
41216
41217 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41218
41219         * tests/test-base64.c: Improve.
41220
41221 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41222
41223         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
41224         Blake <ebb9@byu.net>.
41225
41226 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41227
41228         * tests/test-xvasprintf.c: Add %s%s related checks.
41229
41230 2009-11-12  Eric Blake  <ebb9@byu.net>
41231
41232         version-etc: match standards.texi style
41233         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
41234         and use <> only for URLs.
41235
41236 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
41237
41238         fts: do not fail on a submount during traversal
41239         * lib/fts.c (fts_build): Read the stat info again after opening
41240         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
41241         Original report at http://bugzilla.redhat.com/501848.
41242
41243 2009-11-12  Jim Meyering  <meyering@redhat.com>
41244
41245         bootstrap: sync from coreutils
41246         * build-aux/bootstrap (bootstrap_epilogue): New function.
41247         Use git_modules_config in one more place.  This make bootstrap's
41248         --gnulib-srcdir option more useful for testing.
41249
41250         bootstrap: generalize autoheader check
41251         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
41252         AC_CONFIG_HEADERS.
41253
41254 2009-11-11  Eric Blake  <ebb9@byu.net>
41255
41256         mkfifoat: use new modules for Solaris and BSD bugs
41257         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
41258         * lib/mkfifoat.c (mknodat): Split...
41259         * lib/mknodat.c (mknodat): ...into new file.
41260         * modules/mkfifoat (Files): Ship new file.
41261         (Depends-on): Add mkfifo, mknod.
41262         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
41263         (Depends-on): Add symlink.
41264         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
41265         redundant with test_mkfifo.h.
41266         (do_mkfifoat, do_mknodat): New helpers.
41267
41268         mknod: new module
41269         * modules/mknod: New file.
41270         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
41271         * lib/mknod.c (mknod): Likewise.
41272         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
41273         defaults.
41274         * modules/sys_stat (Makefile.am): Substitute them.
41275         * lib/sys_stat.in.h (mknod): Declare replacement.
41276         * MODULES.html.sh (Support for systems lacking POSIX:2008):
41277         Document it.
41278         * doc/posix-functions/mknod.texi (mknod): Likewise.
41279         * modules/mknod-tests: New test.
41280         * tests/test-mknod.c: Likewise.
41281
41282         mkfifo: new module
41283         * modules/mkfifo: New file.
41284         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
41285         * lib/mkfifo.c (mkfifo): Likewise.
41286         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
41287         defaults.
41288         * modules/sys_stat (Makefile.am): Substitute them.
41289         * lib/sys_stat.in.h (mkfifo): Declare replacement.
41290         * MODULES.html.sh (Support for systems lacking POSIX:2008):
41291         Document it.
41292         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
41293         * modules/mkfifo-tests: New test.
41294         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
41295         from test-mkfifoat.c.
41296         * tests/test-mkfifo.c: New file.
41297
41298         readlink: detect FreeBSD bug
41299         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
41300         slash on symlink.
41301         * doc/posix-functions/readlink.texi (readlink): Document the bug.
41302         * tests/test-readlink.h (test_readlink): Enhance test.
41303
41304         symlink: detect FreeBSD bug
41305         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
41306         slash on symlink.
41307         * doc/posix-functions/symlink.texi (symlink): Document the bug.
41308         * tests/test-symlink.h (test_symlink): Enhance test.
41309
41310 2009-11-10  Eric Blake  <ebb9@byu.net>
41311
41312         link: detect FreeBSD bug
41313         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
41314         symlink.
41315         * doc/posix-functions/link.texi (link): Document the bug.
41316         * tests/test-link.h (test_link): Enhance test.
41317         * tests/test-linkat.c (main): Update caller.
41318
41319         unlink, remove: detect FreeBSD bug
41320         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
41321         slash on symlink.
41322         * doc/posix-functions/unlink.texi (unlink): Document the bug.
41323         * doc/posix-functions/remove.texi (remove): Likewise.
41324         * tests/test-unlink.h (test_unlink): Enhance test.
41325         * tests/test-remove.c (main): Likewise.
41326
41327 2009-11-09  Eric Blake  <ebb9@byu.net>
41328
41329         rename: detect FreeBSD bug
41330         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
41331         slash on symlink.
41332         * modules/renameat-tests (Depends-on): Add filenamecat.
41333         * tests/test-rename.h (test_rename): Allow one more errno.
41334         * tests/test-renameat.c (main): Likewise.
41335         * doc/posix-functions/rename.texi (rename): Document the bug.
41336
41337         open: detect FreeBSD bug
41338         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
41339         symlink.
41340         * doc/posix-functions/open.texi (open): Document the bug.
41341         * doc/posix-functions/utimes.texi (utimes): Likewise.
41342         * tests/test-open.h (test_open): Add parameters, and test symlink
41343         handling.
41344         * tests/test-open.c (main): Adjust caller.
41345         * tests/test-fcntl-safer.c (main): Likewise.
41346         * modules/open-tests (Depends-on): Add stdbool, symlink.
41347         * modules/fcntl-safer-tests (Depends-on): Likewise.
41348         * tests/test-openat.c (main): Add test-open tests.
41349
41350         stat: detect FreeBSD bug
41351         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
41352         symlink.
41353         * doc/posix-functions/stat.texi (stat): Document the bug.
41354         * tests/test-stat.h (test_stat_func): Add argument.
41355         * tests/test-stat.c (main): Adjust caller.
41356         * tests/test-fstatat.c (main): Likewise.
41357         * modules/stat-tests (Depends-on): Add stdbool, symlink.
41358         Reported by Jim Meyering.
41359
41360 2009-11-09  James Youngman  <jay@gnu.org>
41361
41362         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
41363         * lib/strftime.c: Correct placement of #include "ignore-value.h".
41364
41365 2009-11-08  Jim Meyering  <meyering@redhat.com>
41366
41367         utimens: remove invalid futimesat call
41368         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
41369         It used the file descriptor of the target file as the DIR_FD
41370         parameter and NULL as the file name.  That caused failure with
41371         errno == EFAULT on FreeBSD-8.0-rc2
41372
41373 2009-11-07  Eric Blake  <ebb9@byu.net>
41374
41375         fflush, freadseek: use fseeko, not fseek
41376         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
41377         (clear_ungetc_buffer): Avoid potential problems on large files.
41378         * lib/freadseek.c (freadseek): Likewise.
41379         * modules/freadseek (Depends-on): Add fseeko.
41380         * modules/fseek (configure.ac): Set a witness.
41381         * tests/test-fflush.c (main): Use fseeko.
41382         * tests/test-fpurge.c (fseek): Disable link warning.
41383         * tests/test-freadable.c (fseek): Likewise.
41384         * tests/test-freading.c (fseek): Likewise.
41385         * tests/test-fseeko.c (fseek): Likewise.
41386         * tests/test-ftell.c (fseek): Likewise.
41387         * tests/test-ftello.c (fseek): Likewise.
41388         * tests/test-fwritable.c (fseek): Likewise.
41389         * tests/test-fwriting.c (fseek): Likewise.
41390
41391 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41392
41393         * modules/memchr (Depends-on): Drop getpagesize dependency.
41394
41395 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41396
41397         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
41398         Reported by Ludovic Courtès.
41399         * build-aux/pmccabe2html: Improve example usage.
41400         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
41401
41402 2009-11-06  Jim Meyering  <meyering@redhat.com>
41403
41404         do-release-commit-and-tag: New module.
41405         Automate the release-commit and tag process.
41406         * build-aux/do-release-commit-and-tag: New script, from coreutils.
41407         * modules/do-release-commit-and-tag: New file.
41408         * MODULES.html.sh (Support for maintaining and releasing): Add it.
41409
41410 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41411
41412         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
41413         because test-select.c uses inet_pton.
41414
41415 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41416
41417         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
41418         GETADDRINFO_LIB.  Bump serial number.
41419         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
41420         Suggested by Eric Blake <ebb9@byu.net>.
41421
41422 2009-11-05  Eric Blake  <ebb9@byu.net>
41423
41424         strtod: detect darwin bug
41425         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
41426         Reported by Leo Davis.
41427
41428         freopen-safer: new module
41429         * modules/freopen-safer: New module.
41430         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
41431         * lib/freopen-safer.c (freopen_safer): New file.
41432         * lib/stdio-safer.h (freopen_safer): New declaration.
41433         * lib/stdio--.h (freopen): New override.
41434         * MODULES.html.sh (File stream based Input/Output): Mention it.
41435         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
41436         freopen-safer module.
41437         * doc/posix-functions/stderr.texi (stderr): Likewise.
41438         * doc/posix-functions/stdin.texi (stdin): Likewise.
41439         * doc/posix-functions/stdout.texi (stdout): Likewise.
41440         * modules/freopen-safer-tests: New test.
41441         * tests/test-reopen-safer.c: New file.
41442
41443 2009-11-05  Jim Meyering  <meyering@redhat.com>
41444
41445         maint.mk: Prohibit inclusion of "close-stream.h" without use.
41446         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
41447
41448 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41449
41450         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
41451
41452 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41453
41454         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
41455
41456 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41457
41458         Fix link error.
41459         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
41460         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41461
41462 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41463
41464         * tests/test-func.c: Also test value of __func__.
41465
41466 2009-11-05  Simon Josefsson  <simon@josefsson.org>
41467
41468         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
41469         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
41470
41471 2009-11-05  Bruno Haible  <bruno@clisp.org>
41472
41473         Fix link error.
41474         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
41475         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
41476         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
41477
41478 2009-11-05  Bruno Haible  <bruno@clisp.org>
41479
41480         Tests for module 'inet_pton'.
41481         * modules/inet_pton-tests: New file.
41482         * tests/test-inet_pton.c: New file.
41483
41484 2009-11-05  Bruno Haible  <bruno@clisp.org>
41485
41486         Tests for module 'inet_ntop'.
41487         * modules/inet_ntop-tests: New file.
41488         * tests/test-inet_ntop.c: New file.
41489
41490 2009-11-04  Eric Blake  <ebb9@byu.net>
41491
41492         stdlib-safer: wrap all mkstemp variants
41493         * modules/mkostemp (configure.ac): Set witness.
41494         * modules/mkostemps (configure.ac): Likewise.
41495         * modules/mkstemps (configure.ac): Likewise.
41496         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
41497         (mkstemps_safer): Wrap more functions.
41498         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
41499         wrapping.
41500         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
41501         (mkstemps_safer): Implement the wrappers.
41502
41503         mkstemps, mkostemps: new modules
41504         * modules/mkostemps: New module.
41505         * modules/mkstemps: Likewise.
41506         * lib/mkostemps.c (mkostemps): New file.
41507         * lib/mkstemps.c (mkstemps): Likewise.
41508         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
41509         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
41510         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
41511         * modules/stdlib (Makefile.am): Substitute them.
41512         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
41513         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
41514         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
41515         * doc/gnulib.texi (Glibc stdlib.h): Include them.
41516         * MODULES.html.sh (File system functions): Mention them.
41517
41518         tempname: resync from glibc
41519         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
41520         same values for __GT_FILE as glibc.  Abort even when assertions
41521         are disabled.
41522         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
41523         match its value otherwise.  Allow idempotent inclusion.
41524         * lib/mkdtemp.c (mkdtemp): Adjust caller.
41525         * lib/mkostemp.c (mkostemp): Likewise.
41526         * lib/mkstemp.c (mkstemp): Likewise.
41527         * lib/tmpfile.c (tmpfile): Likewise.
41528         * NEWS: Document this.
41529
41530         utimens: fix use of futimens on older Linux
41531         * lib/utimens.c (fdutimens): Use updated, rather than original,
41532         timespec to avoid bug in older Linux kernel.
41533         Reported by Simon Josefsson.
41534
41535 2009-11-04  Bruno Haible  <bruno@clisp.org>
41536
41537         Make num_processors more flexible and consistent.
41538         * lib/nproc.h (enum nproc_query): New type.
41539         (num_processors): Add a 'query' argument.
41540         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
41541         (num_processors): Add a 'query' argument. Test the value of the
41542         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
41543         mingw, count the number of CPUs available for the current process.
41544         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
41545         Check for sched_getaffinity and sched_getaffinity_np.
41546         * modules/nproc (Depends-on): Add c-ctype, extensions.
41547         * NEWS: Mention the change.
41548
41549 2009-11-03  Bruno Haible  <bruno@clisp.org>
41550
41551         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
41552
41553 2009-11-03  Jim Meyering  <meyering@redhat.com>
41554
41555         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
41556         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
41557         if it is defined.
41558
41559 2009-11-02  Eric Blake  <ebb9@byu.net>
41560
41561         mktime, timegm: share common declaration
41562         * lib/mktime-internal.h: New file.
41563         * lib/mktime.c: Use it rather than open-coding a declaration.
41564         * lib/timegm.c: Likewise.
41565         * modules/mktime (Files): Ship it.
41566         * modules/timegm (Files): Likewise.
41567         Suggested by Bruno Haible.
41568
41569         test-update-copyright: update test to match script changes
41570         * tests/test-update-copyright.sh: Avoid hard-coding perl
41571         location.  Don't update *.bak created by earlier runs.
41572
41573 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
41574             Simon Josefsson  <simon@josefsson.org>
41575             Bruno Haible  <bruno@clisp.org>
41576
41577         Fix link error on Solaris 8.
41578         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
41579         also in libnsl. Define also INET_PTON_LIB.
41580         * modules/inet_pton (Link): New section.
41581
41582 2009-11-02  Simon Josefsson  <simon@josefsson.org>
41583             Bruno Haible  <bruno@clisp.org>
41584
41585         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
41586         * modules/inet_ntop (Link): New section.
41587         Reported by Boyan Kasarov <bkasarov@gmail.com>.
41588
41589 2009-11-02  Eric Blake  <ebb9@byu.net>
41590
41591         maint: avoid compiler warnings in m4 macros
41592         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
41593         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
41594
41595 2009-11-02  Simon Josefsson  <simon@josefsson.org>
41596
41597         * m4/pmccabe2html.m4: Remove file.
41598         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
41599         function.  Change maintainer.
41600         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
41601         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
41602         Courtès).
41603
41604 2009-10-31  Eric Blake  <ebb9@byu.net>
41605
41606         fseeko: fix m4 regression
41607         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
41608         regression from 2009-10-27.
41609         Reported by Ralf Wildenhues.
41610
41611 2009-10-31  Jim Meyering  <meyering@redhat.com>
41612
41613         inttostr: aesthetics and improved (compile-time) safety
41614         Define inttype_is_signed rather than inttype_is_unsigned,
41615         since the sole use is via "#if inttype_is_signed".
41616         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
41617         inttype_is_unsigned.
41618         * lib/offtostr.c (inttype_is_signed): Likewise.
41619         * lib/uinttostr.c (inttype_is_signed): Likewise.
41620         * lib/umaxtostr.c (inttype_is_signed): Likewise.
41621         * lib/inttostr.c (inttostr): Use verify to cross-check the
41622         inttype_is_signed value and the signedness of the actual type.
41623         * modules/inttostr (Depends-on): Add verify.
41624
41625 2009-10-30  Eric Blake  <ebb9@byu.net>
41626
41627         build: avoid compiler warnings
41628         * lib/fchmodat.c (lchmod): Mark unused variables.
41629         * lib/getopt.c (_getopt_initialize): Likewise.
41630         * lib/mktime.c (__mktime_internal): Provide prototype.
41631         * lib/inttostr.c (inttostr): Avoid compiler warning even with
41632         older gcc that do not understand #pragma GCC diagnostic.
41633         * lib/uinttostr.c (inttype_is_unsigned): Define.
41634         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
41635
41636 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
41637
41638         stat: fix compilation on AIX
41639         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
41640         only see struct stat64.
41641
41642 2009-10-30  Eric Blake  <ebb9@byu.net>
41643
41644         exclude: make more robust
41645         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
41646         rather than masking a coding bug.
41647         Suggested by Bruno Haible.
41648
41649 2009-10-30  Jim Meyering  <meyering@redhat.com>
41650
41651         perl scripts: remove #!/usr/bin/perl in favor of more portable...
41652         Rather than putting #!/usr/bin/perl on the first line,
41653         start with a variant of what's recommended by "man perlrun" that
41654         invokes the first "perl" program from your shell's search path.
41655         * build-aux/gitlog-to-changelog: Replace #!... as above.
41656         Add a "Local Variables" perl mode setting.
41657         Prompted by a patch from Ludovic Courtès.
41658         Improved by Eric Blake.
41659         * build-aux/useless-if-before-free: Likewise.
41660         * build-aux/announce-gen: Likewise.
41661         * build-aux/update-copyright: Likewise.
41662
41663 2009-10-29  Eric Blake  <ebb9@byu.net>
41664
41665         filenamecat-lgpl: adjust clients
41666         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
41667         filenamecat.
41668         * modules/renameat (Depends-on): Likewise.
41669
41670         filenamecat: split into filenamecat-lgpl
41671         * modules/filenamecat-lgpl: New module.
41672         * modules/filenamecat (Files): Move library-safe files into
41673         filenamecat-lgpl.
41674         (Depends-on): Add filenamecat-lgpl.
41675         (configure.ac): Declare witness.
41676         * lib/filenamecat.h (file_name_concat): Only declare when using
41677         GPL module.
41678         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
41679         Move...
41680         * lib/filenamecat-lgpl.c: ...into new file.
41681         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
41682         (gl_FILE_NAME_CONCAT): Use it.
41683         * MODULES.html.sh (File system functions): Mention new module.
41684
41685         argp: avoid memory leak
41686         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
41687         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
41688         base_name, since the latter malloc()s and can call exit().
41689         Leak introduced 2006-07-03.
41690
41691         dirname-lgpl: adjust clients that don't need full dirname
41692         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
41693         * modules/filenamecat (Depends-on): Likewise.
41694         * modules/linkat (Depends-on): Likewise.
41695         * modules/mkancesdirs (Depends-on): Likewise.
41696         * modules/mkdir (Depends-on): Likewise.
41697         * modules/openat (Depends-on): Likewise.
41698         * modules/savewd (Depends-on): Likewise.
41699         * modules/rename (Depends-on): Likewise.
41700         (License): Relax license.
41701         * modules/mkdir-tests (Depends-on): Drop progname.
41702         (Makefile.am): Delete unneeded LDADD.
41703         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
41704
41705         dirname: split into dirname-lgpl
41706         * modules/dirname-lgpl: New module.
41707         * modules/dirname (Files): Move library-safe files into
41708         dirname-lgpl.
41709         (Depends-on): Add dirname-lgpl.
41710         (configure.ac): Declare witness.
41711         * modules/double-slash-root (License): Relax license.
41712         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
41713         module.
41714         * lib/dirname.c (dir_len, mdir_name): Move...
41715         * lib/dirname-lgpl.c: ...into new file.
41716         * lib/basename.c (last_component, base_len): Move...
41717         * lib/basename-lgpl.c: ...into new file.
41718         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
41719         (gl_DIRNAME): Use it.
41720         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
41721         Mention new module.
41722         * modules/dirname-tests (Depends-on): Add progname.
41723         * tests/test-dirname.c (program_name): Delete.
41724
41725         mkdir: make safe for libraries
41726         * modules/mkdir (Depends-on): Drop xalloc.
41727         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
41728         exit.
41729
41730         tests: avoid some compiler warnings
41731         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
41732         literals.
41733         * tests/test-memchr.c (main): Avoid type mismatch.
41734         * tests/test-arpa_inet.c (main): Avoid unused parameters.
41735         * tests/test-base64.c (main): Likewise.
41736         * tests/test-getdelim.c (main): Likewise.
41737         * tests/test-gethostname.c (main): Likewise.
41738         * tests/test-getline.c (main): Likewise.
41739         * tests/test-netinet_in.c (main): Likewise.
41740         * tests/test-select.c (open_server_socket, main): Likewise.
41741         * tests/test-select-stdin.c (main): Likewise.
41742         * tests/test-sockets.c (main): Likewise.
41743         * tests/test-strsignal.c (main): Likewise.
41744         * tests/test-sys_select.c (main): Likewise.
41745         * tests/test-sys_socket.c (main): Likewise.
41746         * tests/test-u64.c (main): Likewise.
41747         * tests/test-xfprintf-posix.c (main): Likewise.
41748         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
41749
41750         sockets: avoid compiler warning
41751         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
41752
41753         maint: detect usage(1) and other suspicious exits
41754         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
41755
41756 2009-10-29  Jim Meyering  <meyering@redhat.com>
41757
41758         timespec: long-to-int truncation could make timespec_cmp malfunction
41759         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
41760         a multiple of 2^32 nanoseconds as no difference.
41761
41762 2009-10-28  Jim Meyering  <meyering@redhat.com>
41763
41764         fprintftime: wrap macro code argument in "do {...} while(0)"
41765         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
41766         cpy macro must be a statement that can be followed by a semicolon.
41767         Now that the else clause contains a comment and is hence longer
41768         than one line, I require curly braces.  That in turn requires
41769         that we wrap this code block in the standard do...while(0).
41770
41771         fprintftime: remove stray semicolon from previous change
41772         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
41773
41774         fprintftime: avoid a warning about ignored fwrite return value
41775         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
41776         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
41777         that is unsafe.
41778         * modules/fprintftime (Depends-on): Add ignore-value.
41779
41780         exclude: avoid an unwarranted warning
41781         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
41782
41783 2009-10-27  Eric Blake  <ebb9@byu.net>
41784
41785         fseek: avoid compilation failure when fflush is replaced
41786         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
41787         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
41788         module is in use.
41789         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
41790         module is not in use; since REPLACE_FSEEK worked otherwise.
41791         (GNULIB_FTELLO): Likewise for ftell.
41792         Reported by Ian Beckwith and others.
41793
41794 2009-10-27  Bruno Haible  <bruno@clisp.org>
41795
41796         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
41797         Reported by Jim Meyering.
41798
41799 2009-10-27  Jim Meyering  <jim@meyering.net>
41800             Bruno Haible  <bruno@clisp.org>
41801
41802         Avoid warning despite dropping the return value of fwrite.
41803         * lib/unicodeio.c: Include ignore-value.h.
41804         (fwrite_success_callback): Explicitly ignore fwrite's return value.
41805         * modules/unicodeio (Depends-on): Add ignore-value.
41806
41807 2009-10-26  Eric Blake  <ebb9@byu.net>
41808
41809         areadlinkat: fix fallback path
41810         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
41811         pointer and zero.
41812
41813 2009-10-22  Pádraig Brady  <P@draigBrady.com>
41814
41815         Use a better IO block size for modern systems
41816         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
41817         * lib/md2.c: Likewise.
41818         * lib/md4.c: Likewise.
41819         * lib/md5.c: Likewise.
41820         * lib/sha1.c: Likewise.
41821         * lib/sha256.c: Likewise.
41822         * lib/sha512.c: Likewise.
41823
41824 2009-10-22  Eric Blake  <ebb9@byu.net>
41825
41826         tests: avoid several compiler warnings
41827         * tests/test-getcwd.c (main): Avoid buffer underflow.
41828         * tests/test-getdate.c (main): String literals are not safe with
41829         putenv, so use setenv.  Declare unused argument.
41830         * modules/getdate-tests (Depends-on): Add setenv.
41831         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
41832         problems with string literals in char *.
41833         * tests/test-hash.c (main): Avoid shadowing declaration.
41834         (insert_new): Treat string literals as char const *.
41835         * tests/test-getopt.h (test_getopt): Likewise.
41836         (getopt_loop): Alter types to minimize casting elsewhere.
41837         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
41838         (test_getopt_long_posix): Likewise.
41839         (do_getopt_long): Add wrapper to minimize casting.
41840         * tests/test-atexit.c (clear_temp_file): Use void.
41841         * tests/test-areadlink-with-size.c (main): Declare unused
41842         arguments.
41843         * tests/test-areadlink.c (main): Likewise.
41844         * tests/test-areadlinkat-with-size.c (main): Likewise.
41845         * tests/test-areadlinkat.c (main): Likewise.
41846         * tests/test-canonicalize-lgpl.c (main): Likewise.
41847         * tests/test-canonicalize.c (main): Likewise.
41848         * tests/test-dirent-safer.c (main): Likewise.
41849         * tests/test-dirname.c (main): Likewise.
41850         * tests/test-dup2.c (main): Likewise.
41851         * tests/test-fchdir.c (main): Likewise.
41852         * tests/test-fcntl-h.c (main): Likewise.
41853         * tests/test-fcntl-safer.c (main): Likewise.
41854         * tests/test-fdopendir.c (main): Likewise.
41855         * tests/test-fdutimensat.c (main): Likewise.
41856         * tests/test-fflush.c (main): Likewise.
41857         * tests/test-filenamecat.c (main): Likewise.
41858         * tests/test-filevercmp.c (main): Likewise.
41859         * tests/test-fopen-safer.c (main): Likewise.
41860         * tests/test-fopen.c (main): Likewise.
41861         * tests/test-fpending.c (main): Likewise.
41862         * tests/test-fpurge.c (main): Likewise.
41863         * tests/test-freading.c (main): Likewise.
41864         * tests/test-fstatat.c (main): Likewise.
41865         * tests/test-fsync.c (main): Likewise.
41866         * tests/test-futimens.c (main): Likewise.
41867         * tests/test-getndelim2.c (main): Likewise.
41868         * tests/test-gettimeofday.c (main): Likewise.
41869         * tests/test-getopt.c (main): Likewise.
41870         * tests/test-i-ring.c (main): Likewise.
41871         * tests/test-inttypes.c (main): Likewise.
41872         * tests/test-link.c (main): Likewise.
41873         * tests/test-lstat.c (main): Likewise.
41874         * tests/test-math.c (main): Likewise.
41875         * tests/test-md5.c (main): Likewise.
41876         * tests/test-memchr2.c (main): Likewise.
41877         * tests/test-memrchr.c (main): Likewise.
41878         * tests/test-mkdir.c (main): Likewise.
41879         * tests/test-mkdirat.c (main): Likewise.
41880         * tests/test-mkfifoat.c (main): Likewise.
41881         * tests/test-open.c (main): Likewise.
41882         * tests/test-openat-safer.c (main): Likewise.
41883         * tests/test-openat.c (main): Likewise.
41884         * tests/test-quotearg.c (main): Likewise.
41885         * tests/test-rawmemchr.c (main): Likewise.
41886         * tests/test-readlink.c (main): Likewise.
41887         * tests/test-remove.c (main): Likewise.
41888         * tests/test-rename.c (main): Likewise.
41889         * tests/test-renameat.c (main): Likewise.
41890         * tests/test-rmdir.c (main): Likewise.
41891         * tests/test-sha1.c (main): Likewise.
41892         * tests/test-signal.c (main): Likewise.
41893         * tests/test-sigaction.c (main): Likewise.
41894         * tests/test-stat.c (main): Likewise.
41895         * tests/test-stat-time.c (main): Likewise.
41896         * tests/test-stddef.c (main): Likewise.
41897         * tests/test-stdint.c (main): Likewise.
41898         * tests/test-stdio.c (main): Likewise.
41899         * tests/test-stdlib.c (main): Likewise.
41900         * tests/test-strchrnul.c (main): Likewise.
41901         * tests/test-strerror.c (main): Likewise.
41902         * tests/test-string.c (main): Likewise.
41903         * tests/test-strtod.c (main): Likewise.
41904         * tests/test-strverscmp.c (main): Likewise.
41905         * tests/test-symlink.c (main): Likewise.
41906         * tests/test-symlinkat.c (main): Likewise.
41907         * tests/test-sys_stat.c (main): Likewise.
41908         * tests/test-sys_time.c (main): Likewise.
41909         * tests/test-time.c (main): Likewise.
41910         * tests/test-unistd.c (main): Likewise.
41911         * tests/test-unlink.c (main): Likewise.
41912         * tests/test-unlinkat.c (main): Likewise.
41913         * tests/test-utimens.c (main): Likewise.
41914         * tests/test-utimensat.c (main): Likewise.
41915         * tests/test-version-etc.c (main): Likewise.
41916         * tests/test-wchar.c (main): Likewise.
41917         * tests/test-wctype.c (main): Likewise.
41918         * tests/test-xprintf-posix.c (main): Likewise.
41919         * tests/test-posixtm.c (main): Likewise.
41920         (STREQ): Delete unused macro.
41921         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
41922         shadowed variables.
41923         * tests/test-memchr.c (main): Likewise.
41924
41925 2009-10-21  Eric Blake  <ebb9@byu.net>
41926
41927         areadlinkat: avoid failure on older glibc
41928         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
41929         rather than mis-comparing 0 against FUNC_RESULT of char*.
41930
41931 2009-10-21  Bruno Haible  <bruno@clisp.org>
41932
41933         * modules/stpncpy (License): Relicense under LGPLv2+.
41934         Reported by David Lutterkort <lutter@redhat.com>.
41935
41936 2009-10-20  Eric Blake  <ebb9@byu.net>
41937
41938         utimensat: work around Solaris 9 bug
41939         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
41940         has trailing slash bugs.
41941         * tests/test-lutimens.h (test_lutimens): Enhance test.
41942         * tests/test-utimens.h (test_utimens): Likewise.
41943         * doc/posix-functions/utime.texi (utime): Enhance documentation.
41944         * doc/posix-functions/utimes.texi (utimes): Likewise.
41945         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41946         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
41947         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
41948         * doc/posix-functions/futimens.texi (futimens): Likewise.
41949
41950         fdutimensat: new module
41951         * modules/fdutimensat: New file.
41952         * lib/fdutimensat.c (fdutimensat): Likewise.
41953         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
41954         * MODULES.html.sh (File system functions): Mention module.
41955         * modules/fdutimensat-tests: New test.
41956         * tests/test-fdutimensat.c: Likewise.
41957
41958         doc: regenerate INSTALL
41959         * doc/INSTALL: Reflect recent autoconf update.
41960         * doc/INSTALL.ISO: Likewise.
41961         * doc/INSTALL.UTF-8: Likewise.
41962
41963 2009-10-20  Pádraig Brady  <P@draigBrady.com>
41964
41965         acl: warn if ACL support is not detected
41966         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
41967
41968 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
41969
41970         * lib/nproc.h: Add extern "C" block for C++.
41971
41972 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
41973             Bruno Haible  <bruno@clisp.org>
41974
41975         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
41976         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
41977         * doc/posix-functions/isalpha.texi: Likewise.
41978         * doc/posix-functions/isblank.texi: Likewise.
41979         * doc/posix-functions/iscntrl.texi: Likewise.
41980         * doc/posix-functions/isdigit.texi: Likewise.
41981         * doc/posix-functions/isgraph.texi: Likewise.
41982         * doc/posix-functions/islower.texi: Likewise.
41983         * doc/posix-functions/isprint.texi: Likewise.
41984         * doc/posix-functions/ispunct.texi: Likewise.
41985         * doc/posix-functions/isspace.texi: Likewise.
41986         * doc/posix-functions/isupper.texi: Likewise.
41987         * doc/posix-functions/isxdigit.texi: Likewise.
41988
41989 2009-10-18  Bruno Haible  <bruno@clisp.org>
41990
41991         Tests for module 'isblank'.
41992         * modules/isblank-tests: New file.
41993         * tests/test-isblank.c: New file.
41994
41995         New module 'isblank'.
41996         * lib/isblank.c: New file.
41997         * m4/isblank.m4: New file.
41998         * modules/isblank: New file.
41999         * doc/posix-functions/isblank.texi: Mention the new module.
42000
42001 2009-10-18  Bruno Haible  <bruno@clisp.org>
42002
42003         New module 'ctype'.
42004         * lib/ctype.in.h: New file.
42005         * m4/ctype.m4: New file.
42006         * modules/ctype: New file.
42007         * doc/posix-headers/ctype.texi: Mention the new module.
42008
42009 2009-10-18  Jim Meyering  <meyering@redhat.com>
42010
42011         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
42012         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
42013         right after its initialization, rather than farther down.
42014         Keeping these in close proximity makes it easier to ensure
42015         that each such variable is initialized.  E.g.,
42016
42017             LIB_CLOCK_GETTIME=
42018             AC_SUBST([LIB_CLOCK_GETTIME])
42019
42020         This change also increments these serial numbers.
42021         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
42022         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42023         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42024
42025 2009-10-18  Bruno Haible  <bruno@clisp.org>
42026
42027         Don't let environment variables perturb build.
42028         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
42029         (gl_PREREQ_GETHRXTIME): ... not here.
42030
42031 2009-10-18  Bruno Haible  <bruno@clisp.org>
42032
42033         Avoid symlink attack in localcharset module.
42034         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
42035         (O_NOFOLLOW): Define fallback.
42036         (get_charset_aliases): Don't open the file if it is a symbolic link.
42037         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
42038         gl_FCNTL_H.
42039         (gl_FCNTL_H): Require it.
42040         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
42041         * modules/localcharset (Files): Add m4/fcntl_h.m4.
42042         Reported by Fergal Glynn <fglynn@veracode.com>.
42043
42044 2009-10-18  Bruno Haible  <bruno@clisp.org>
42045
42046         Implement nproc for mingw.
42047         * lib/nproc.c: Include <windows.h>
42048         (num_processors): On native Windows platforms, try GetSystemInfo.
42049
42050 2009-10-18  Bruno Haible  <bruno@clisp.org>
42051
42052         Implement nproc for IRIX.
42053         * lib/nproc.c: Include <sys/sysmp.h>.
42054         (num_processors): On IRIX systems, try sysmp.
42055         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
42056
42057 2009-10-18  Bruno Haible  <bruno@clisp.org>
42058
42059         Implement nproc for HP-UX.
42060         * lib/nproc.c: Include <sys/pstat.h>
42061         (num_processors): On HP-UX systems, try pstat_getdynamic.
42062         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
42063         pstat_getdynamic.
42064
42065 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
42066             Bruno Haible  <bruno@clisp.org>
42067
42068         Implement nproc for NetBSD, OpenBSD.
42069         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
42070         (ARRAY_SIZE): New macro.
42071         (num_processors): On BSD systems, try sysctl of HW_NCPU.
42072         * m4/nproc.m4: New file.
42073         * modules/nproc (Files): Add m4/nproc.m4.
42074         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
42075         (Makefile.am): Instead, augment lib_SOURCES.
42076
42077 2009-10-18  Bruno Haible  <bruno@clisp.org>
42078
42079         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
42080         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
42081         sys/param.h.
42082
42083 2009-10-16  Eric Blake  <ebb9@byu.net>
42084
42085         utimensat: new module
42086         * modules/utimensat: New file.
42087         * lib/utimensat.c (utimensat): Likewise.
42088         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
42089         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
42090         so we can work around Linux bugs.
42091         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42092         * modules/sys_stat (Makefile.am): Substitute them.
42093         * lib/sys_stat.in.h (utimensat): Declare it.
42094         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42095         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42096         * modules/utimensat-tests: New test.
42097         * tests/test-utimensat.c: Likewise.
42098
42099         utimens: let lutimens work on non-symlinks
42100         * lib/utimens.c (lutimens): Fall back to utimens rather than
42101         failing with ENOSYS, when file is not a symlink.
42102         (utimens): Reduce redirection.
42103         * tests/test-lutimens.h (test_lutimens): Update test to cover
42104         non-symlinks.
42105         * tests/test-utimens.h (test_utimens): Update test to cover
42106         symlinks.
42107         * tests/test-utimens.c (main): Update caller.
42108
42109         utimens: cache whether utimensat syscall works
42110         * lib/utimens.c (utimensat_works_really): New cache variable.
42111         (fdutimens, lutimens): Use it to avoid failing syscall.
42112
42113         test-stat-time, test-utimens: improve portability
42114         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
42115         ext4 on alpha, and for cygwin.
42116         * tests/test-utimens-common.h: New file.
42117         (nap): Factor delays into single function.
42118         * tests/test-lutimens.h (test_lutimens): Use new header.
42119         * tests/test-futimens.h (test_futimens): Likewise.
42120         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
42121         timestamps to occur from same machine, as was done previously for
42122         test_utimens.
42123         * modules/utimens-tests (Files): Ship new file.
42124         * modules/futimens-tests (Files): Likewise.
42125         Reported in part by Jim Meyering.
42126
42127         sys_stat: sort replacement declarations
42128         * lib/sys_stat.in.h: Sort declarations.
42129         * lib/futimens.c (futimens): Fix typo.
42130
42131 2009-10-15  Jim Meyering  <meyering@redhat.com>
42132
42133         don't let environment settings perturb build
42134         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
42135         could cause a configure-time and/or build-time malfunction.
42136         Typically, a configure-time function-in-library test is performed
42137         via code like this:
42138
42139           LIB_VAR=
42140           AC_SUBST([LIB_VAR])
42141           prefix_saved_LIBS=$LIBS
42142             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
42143                        [test "$ac_cv_search_FUNC" = "none required" ||
42144                         LIB_VAR=$ac_cv_search_FUNC])
42145           LIBS=$prefix_saved_LIBS
42146
42147         However, in each of the files affected by this change, the LIB_VAR=
42148         initialization was omitted.  Thus, when set in the environment, its
42149         value would propagate into generated Makefiles when FUNC is not found
42150         in LIB_NAME.
42151         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
42152         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42153         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42154
42155 2009-10-14  Eric Blake  <ebb9@byu.net>
42156
42157         fchdir: avoid infinite recursion in mingw
42158         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
42159         recursing.
42160
42161         test-stat-time: port to mingw
42162         * tests/test-stat-time.c (force_unlink): Return a value.
42163         (test_ctime) [W32]: Fix compilation error.
42164         (nap): Don't call usleep with too large an argument.  Use
42165         force_unlink.
42166         * doc/pastposix-functions/usleep.texi (usleep): Document the
42167         portability issue.
42168
42169 2009-10-13  Jim Meyering  <meyering@redhat.com>
42170
42171         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
42172         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
42173         * modules/pipe-filter-ii: Likewise.
42174         * modules/sys_socket-tests: Likewise.
42175         * modules/tsearch-tests: Likewise.
42176         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
42177         (check): Depend on it.
42178
42179 2009-10-12  Eric Blake  <ebb9@byu.net>
42180
42181         utimens-tests: port to NFS file systems
42182         * tests/test-utimens.h (test_utimens): Refactor utimecmp
42183         comparisons to avoid spurious failures from timestamp drift
42184         between NFS machines.
42185
42186 2009-10-12  Eric Blake  <ebb9@byu.net>
42187
42188         stat-time-tests: minor cleanups
42189         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
42190         * tests/test-stat-time.c (nap): Separate assignment from call.
42191         Suggested by Paolo Bonzini and Bruno Haible.
42192
42193         sys_stat: guarantee struct timespec
42194         * lib/sys_stat.in.h (includes): Always include <time.h>
42195         * modules/sys_stat (Depends-on): Add time.
42196         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
42197         mode_t permission values.
42198         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
42199         get at subsecond timestamps.
42200
42201 2009-10-10  Eric Blake  <ebb9@byu.net>
42202
42203         futimens: new module
42204         * modules/futimens: New file.
42205         * lib/futimens.c (futimens): Likewise.
42206         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
42207         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
42208         we can work around Linux bugs.
42209         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42210         * modules/sys_stat (Makefile.am): Substitute them.
42211         * lib/sys_stat.in.h (futimens): Declare it.
42212         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42213         * doc/posix-functions/futimens.texi (futimens): Likewise.
42214         * modules/futimens-tests: New test.
42215         * tests/test-futimens.c: Likewise.
42216
42217         utimens: introduce fdutimens
42218         * lib/utimens.h (fdutimens): New prototype.
42219         * lib/utimens.c (gl_futimens): Move guts...
42220         (fdutimens): ...to new interface.
42221         * tests/test-utimens.c (do_fdutimens): Use it.
42222
42223         utimens: add UTIME_NOW and UTIME_OMIT support
42224         * lib/utimens.c (validate_timespec, update_timespec): New helper
42225         functions.
42226         (gl_futimens, lutimens): Use them.
42227         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
42228         stdbool, sys_stat.
42229         (Link): Mention resulting library dependency.
42230         * modules/utimecmp (Link): Likewise.
42231         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
42232         (Makefile.am): Pick up library dependency.
42233         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
42234         definition.
42235         * tests/test-sys_stat.c: Test the definitions.
42236         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
42237         * NEWS: Document library dependency.
42238
42239         utimecmp: support symlink timestamps
42240         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
42241         hashing when possible.  Use pathconf when available.
42242         (SYSCALL_RESOLUTION): Recognize tighter resolution.
42243         * modules/utimecmp (Depends-on): Add lstat.
42244
42245         utimens: add lutimens interface
42246         * lib/utimens.c (lutimens): New function.
42247         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
42248         * lib/utimens.h (lutimens): Declare new interface.
42249         * tests/test-utimens.c (main): Enhance test.
42250         * tests/test-lutimens.h (test_lutimens): New file.
42251         * modules/utimens-tests (Files): Distribute it.
42252         (Depends-on): Add symlink.
42253         (configure.ac): Check for usleep.
42254
42255         utimens: validate futimens usage
42256         * lib/utimens.c (gl_futimens): Require valid fd up front, using
42257         fewer syscalls on failure later on.  Avoid compiler warning on
42258         mingw.
42259         * modules/utimens (Depends-on): Add dup2.
42260
42261         utimens: add test
42262         * modules/utimens-tests: New test.
42263         * tests/test-utimens.h: New file.
42264         * tests/test-futimens.h: Likewise.
42265         * tests/test-utimens.c: Likewise.
42266
42267         doc: mention timestamp portability issues
42268         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
42269         instead.
42270         * doc/posix-functions/utime.texi (utime): Likewise.
42271         * doc/posix-functions/utimes.texi (utimes): Likewise.
42272         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
42273         instead.
42274         * doc/posix-functions/futimens.texi (futimens): Mention utimens
42275         module.
42276         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42277         Mention weakness with symlink timestamps.
42278         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
42279         to utimensat/futimens instead.
42280         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
42281
42282         test-dup2: enhance test
42283         * tests/test-dup2.c (main): Also check AT_FDCWD.
42284
42285         test-stat-time: avoid more spurious failures
42286         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
42287         xfs; and avoid race if the two timestamps cross quantization edge.
42288
42289         relocatable: prefer 'file system' over 'filesystem'
42290         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
42291         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
42292         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
42293         * doc/relocatable.texi (Enabling Relocatability): Likewise.
42294         * lib/relocatable.c (compute_curr_prefix): Likewise.
42295
42296 2009-10-10  Jim Meyering  <meyering@redhat.com>
42297
42298         stat-time-tests: check for the usleep function
42299         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
42300
42301 2009-10-10  Bruno Haible  <bruno@clisp.org>
42302
42303         * modules/xnanosleep: Put the Link section after the Include section.
42304
42305 2009-10-09  Eric Blake  <ebb9@byu.net>
42306
42307         dup2: work around FreeBSD 6.1 bug
42308         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
42309         * doc/posix-functions/dup2.texi (dup2): Document it.
42310         Reported by Nelson H. F. Beebe and Jim Meyering.
42311
42312         test-stat-time: port to buggy NFS clients
42313         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
42314         (test_ctime): Also skip test if mtime and ctime are skewed.
42315
42316         maint: prefer 'file system' over 'filesystem'
42317         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42318         * doc/posix-functions/lstat.texi (lstat): Likewise.
42319         * lib/file-has-acl.c (file_has_acl): Likewise.
42320         * lib/fwriteerror.c [TEST]: Likewise.
42321         * tests/test-areadlink.h (test_areadlink): Likewise.
42322         * tests/test-areadlinkat-with-size.c (main): Likewise.
42323         * tests/test-areadlinkat.c (main): Likewise.
42324         * tests/test-canonicalize-lgpl.c (main): Likewise.
42325         * tests/test-canonicalize.c (main): Likewise.
42326         * tests/test-fstatat.c (main): Likewise.
42327         * tests/test-linkat.c (main): Likewise.
42328         * tests/test-lstat.h (test_lstat_func): Likewise.
42329         * tests/test-mkdir.h (test_mkdir): Likewise.
42330         * tests/test-readlink.h (test_readlink): Likewise.
42331         * tests/test-remove.c (main): Likewise.
42332         * tests/test-rename.h (test_rename): Likewise.
42333         * tests/test-renameat.c (main): Likewise.
42334         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42335         * tests/test-symlink.h (test_symlink): Likewise.
42336         * tests/test-symlinkat.c (main): Likewise.
42337         * tests/test-unlink.h (test_unlink_func): Likewise.
42338         * tests/test-unlinkat.c (main): Likewise.
42339
42340         maint: make realtime library usage explicit
42341         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
42342         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
42343         * modules/settime (Link): Likewise.
42344         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
42345
42346         test-stat-time: speed up execution
42347         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
42348         warning on mingw.
42349         (nap): New helper function.
42350         (prepare_test): Use it to reduce sleep time.
42351         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
42352         execution.
42353         * modules/stat-time-tests (configure.ac): Check for usleep.
42354
42355 2009-10-09  Jim Meyering  <meyering@redhat.com>
42356
42357         selinux-h: always use getfilecon wrappers
42358         * lib/getfilecon.c: New file.
42359         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
42360         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
42361         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
42362         (fgetfilecon): Provide a stub.
42363         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
42364         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
42365         file unconditionally.
42366         When <selinux/selinux.h> is found, arrange to use wrappers.
42367         * modules/selinux-h (Files): Add getfilecon.c.
42368         (Makefile.am): Substitute include-next-related bits
42369         into the now-always-generated selinux/selinux.h file.
42370         * doc/glibc-functions/lgetfilecon.texi: New file.
42371         * doc/glibc-functions/fgetfilecon.texi: New file.
42372         * doc/glibc-functions/getfilecon.texi: New file.
42373         * doc/glibc-functions/getfilecon-desc.texi: New file.
42374         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
42375         which to pull in the new files.
42376         * MODULES.html.sh (Misc): Add selinux-h.
42377
42378 2009-10-08  Jim Meyering  <meyering@redhat.com>
42379
42380         unistd: fix comment typo
42381         * lib/unistd.in.h (euidaccess): Fix a comment typo.
42382
42383 2009-10-08  Eric Blake  <ebb9@byu.net>
42384
42385         areadlink: use SIZE_MAX consistently
42386         * modules/areadlink (Depends-on): Add stdint.
42387         * modules/areadlink-with-size (Depends-on): Likewise.
42388         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
42389         gives NULL; drop sys/types, since unistd gives size_t; and add
42390         stdint for SIZE_MAX.
42391         (SIZE_MAX): Rely on headers.
42392         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
42393         and add stdint.
42394         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
42395         (SIZE_MAX): Likewise.
42396         (INITIAL_BUF_SIZE): Turn into enum.
42397         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
42398
42399 2009-10-08  Jim Meyering  <meyering@redhat.com>
42400
42401         areadlinkat: avoid compilation failure
42402         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
42403         Fix typo in comment.
42404
42405 2009-10-07  Eric Blake  <ebb9@byu.net>
42406
42407         areadlinkat-with-size: new module
42408         * modules/areadlinkat-with-size: New module.
42409         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
42410         * lib/areadlink.h (areadlinkat): Declare it.
42411         * MODULES.html.sh (File system functions): Mention it.
42412         * modules/areadlinkat-with-size-tests: New test.
42413         * tests/test-areadlinkat-with-size.c: New file.
42414
42415         xreadlinkat: new module
42416         * modules/xreadlinkat: New module.
42417         * lib/xreadlinkat.c (xreadlinkat): New file.
42418         * lib/xreadlink.h (xreadlinkat): Declare it.
42419         * MODULES.html.sh (File system functions): Mention it.
42420
42421         areadlinkat: new module
42422         * lib/at-func.c (FUNC_FAIL): New define.
42423         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
42424         * modules/areadlinkat: New module.
42425         * lib/linkat.c (areadlinkat): Move...
42426         * lib/areadlinkat.c (areadlinkat): ...to new file.
42427         * lib/areadlink.h (areadlinkat): Declare it.
42428         * modules/linkat (Depends-on): Add areadlinkat.
42429         * MODULES.html.sh (File system functions): Mention it.
42430         * modules/areadlinkat-tests: New test.
42431         * tests/test-areadlinkat.c: New file.
42432
42433         areadlink, areadlink-with-size: add tests
42434         * modules/areadlink-tests: New test.
42435         * modules/areadlink-with-size-tests: Likewise.
42436         * tests/test-areadlink.h: New file.
42437         * tests/test-areadlink.c: Likewise.
42438         * tests/test-areadlink-with-size.c: Likewise.
42439
42440         maint: minor cleanups
42441         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
42442         _UNUSED_PARAMETER_ instead.
42443         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
42444         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
42445         * modules/linkat-tests (Files): Distribute test-link.h.
42446
42447         openat, utimens: whitespace cleanup
42448         * lib/openat.c: Prefer space throughout, rather than mix of 8
42449         spaces vs. tabs.
42450         * lib/at-func.c: Likewise.
42451         * lib/utimens.c: Likewise.
42452
42453         openat: avoid using wrong fd
42454         * lib/openat.c (openat_permissive): Reject user's fd if saving the
42455         working directory chooses same fd.
42456         * lib/at-func.c (AT_FUNC_NAME): Likewise.
42457
42458         mkdir, mkdirat: fix cygwin 1.5.x bug
42459         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
42460         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
42461         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
42462         bug.
42463         (gl_PREREQ_MKDIR): Delete unused macro.
42464         * modules/mkdir (Files): Track file rename.
42465         (configure.ac): Update macro name.
42466         * modules/openat (Depends-on): Add mkdir.
42467         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
42468
42469         mkdir, mkdirat: add tests
42470         * modules/mkdir-tests: New test.
42471         * tests/test-mkdir.h: New file.
42472         * tests/test-mkdir.c: Likewise.
42473         * tests/test-mkdirat.c: Likewise.
42474         * modules/openat-tests (Files): Add new files.
42475         (Makefile.am): Run new test.
42476
42477 2009-10-06  Eric Blake  <ebb9@byu.net>
42478
42479         doc: tweak *at function documentation
42480         * doc/posix-functions/faccessat.texi (faccessat): Mention
42481         known issue with replacement.
42482         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
42483         * doc/posix-functions/linkat.texi (linkat): Likewise.
42484         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
42485         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
42486         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42487         * doc/posix-functions/renameat.texi (renameat): Likewise.
42488         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
42489
42490         openat: fix GNU/Hurd bug in unlinkat
42491         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
42492         broken.
42493         * doc/posix-functions/unlink.texi (unlink): Document this.
42494         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
42495
42496         fdopendir: fix GNU/Hurd bug
42497         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
42498         allowing non-directory fds.
42499         * lib/fdopendir.c (rpl_fdopendir): Work around it.
42500         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
42501         * modules/dirent (Makefile.am): Substitute it.
42502         * lib/dirent.in.h (fdopendir): Declare replacement.
42503         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
42504         * tests/test-fdopendir.c (main): Test something other than
42505         /dev/null, since on Hurd that behaves like a directory.
42506
42507         test-symlink: port to GNU/Hurd
42508         * tests/test-symlink.h (test_symlink): Relax expected errno.
42509
42510         doc: tweak more cygwin information
42511         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
42512         now compatible with glibc.
42513         * doc/posix-functions/getopt.texi (getopt): Likewise.
42514
42515         getopt-gnu: add another test
42516         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
42517         guarantee behavior relied on by m4.
42518         * tests/test-getopt.c (main): Use it.
42519         * modules/getopt-posix-tests (Depends-on): Add setenv.
42520         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
42521
42522         getopt: fix compilation on darwin
42523         * lib/getopt.in.h (includes): Leave breadcrumbs during system
42524         include.
42525         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
42526         Reported by Ludovic Courtès.
42527
42528 2009-10-06  Bruno Haible  <bruno@clisp.org>
42529
42530         * modules/size_max (Description): Discourage its use.
42531         Reported by Simon Josefsson.
42532
42533 2009-10-06  Jim Meyering  <meyering@redhat.com>
42534
42535         linkat: avoid compilation failure
42536         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
42537
42538 2009-10-05  Eric Blake  <ebb9@byu.net>
42539
42540         linkat: support Linux 2.6.17
42541         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
42542         linkat on Linux, but allow cache variable override.
42543         * lib/linkat.c (rpl_linkat): Define override.
42544         * modules/linkat (Depends-on): Add symlinkat.
42545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
42546         * modules/unistd (Makefile.am): Substitute it.
42547         * lib/unistd.in.h (linkat): Declare replacement.
42548         Reported by Pádraig Brady.
42549
42550         quotearg: port test to systems with C.UTF-8 locale
42551         * tests/test-quotearg.c (struct result_strings): Add another
42552         member, differentiating between C.ASCII and C.UTF-8 handling.
42553         (compare_strings): Add parameter.
42554         (main): Adjust all callers.
42555
42556         getopt: avoid clash with FreeBSD _getopt_internal
42557         * lib/getopt.in.h (_getopt_internal): Override the name.
42558         * lib/getopt_int.h (includes): Pick up any overrides.
42559         Reported by Reuben Thomas.
42560
42561         hash: allow C89 compilation
42562         * lib/hash.c (check_tuning): Move declaration before statement.
42563         Reported by Reuben Thomas.
42564
42565 2009-10-05  Karl Berry  <karl@gnu.org>
42566
42567         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
42568
42569 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
42570             Bruno Haible  <bruno@clisp.org>
42571
42572         * lib/uname.c (uname): Use a table-driven algorithm to compute
42573         Windows NT versions.
42574
42575 2009-10-04  Bruno Haible  <bruno@clisp.org>
42576
42577         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
42578         program_invocation_short_name.
42579         * modules/progname (configure.ac): Test for presence of
42580         program_invocation_short_name.
42581         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
42582
42583 2009-10-04  Bruno Haible  <bruno@clisp.org>
42584
42585         * lib/progname.c (set_program_name): Fix comment.
42586         Reported by Jim Meyering.
42587
42588 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
42589             Bruno Haible  <bruno@clisp.org>
42590
42591         * lib/uname.c: Include <string.h>.
42592         (uname): Do only one call to GetVersionEx in the common case.
42593
42594 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
42595             Bruno Haible  <bruno@clisp.org>
42596
42597         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
42598         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
42599         (uname): Add support for Windows CE and various non-x86 CPU types.
42600
42601 2009-10-03  Bruno Haible  <bruno@clisp.org>
42602
42603         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
42604         invocation to tests/configure.ac.
42605         Reported by Ian Beckwith <ianb@erislabs.net>.
42606
42607 2009-10-02  Eric Blake  <ebb9@byu.net>
42608
42609         fchdir: avoid compiler warning
42610         * lib/fchdir.c (canonicalize_file_name)
42611         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
42612
42613         test-open: support mingw errno values
42614         * tests/test-open.h (test_open): Relax test.
42615         * tests/test-fopen.h (test_fopen): Likewise.
42616         * tests/test-openat-safer.c (main): Likewise.
42617
42618         open: fix opening directory on mingw
42619         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
42620
42621         test-open: on GNU/Hurd, /dev/null is a directory
42622         * tests/test-fopen.h (main): Rename...
42623         (test_fopen): ...to this.  Use a guaranteed non-directory when
42624         confirming open behavior on trailing slash.
42625         * tests/test-openat-safer.c (main): Likewise.
42626         * tests/test-open.h (main): Likewise....
42627         (test_open): ...to this.
42628         * tests/test-fopen.c (main): Adjust caller.
42629         * tests/test-fopen-safer.c (main): Likewise.
42630         * tests/test-open.c (main): Likewise.
42631         * tests/test-fcntl-safer.c (main): Likewise.
42632         Reported by Samuel Thibault.
42633
42634         rename, fchdir: don't ignore chdir failure
42635         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
42636         * lib/rename.c (rpl_rename) [W32]: Likewise.
42637         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
42638         an empty destination directory if source cannot be renamed,
42639         although there is still possibility for failure.
42640         * doc/posix-functions/rename.texi (rename): Document the race.
42641         Reported by Jim Meyering.
42642
42643         maint: cleanup whitespace in recent commits
42644         * lib/rename.c (rpl_rename): Remove tabs.
42645         * tests/test-link.h (test_link): Likewise.
42646         * lib/fchdir.c (get_name): Likewise.
42647         Reported by Jim Meyering.
42648
42649 2009-10-02  Ben Pfaff  <blp@gnu.org>
42650
42651         relocatable-prog-wrapper: Add missing dependency on
42652         double-slash-root.
42653         * modules/relocatable-prog-wrapper: Add dependency.
42654         Reported by Ian Beckwith <ianb@erislabs.net>.
42655
42656 2009-10-02  Eric Blake  <ebb9@byu.net>
42657
42658         renameat: fix Solaris bugs
42659         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
42660         needed fixing.
42661         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
42662         * modules/stdio (Makefile.am): Substitute it.
42663         * lib/stdio.in.h (renameat): Declare replacement.
42664         * lib/renameat.c (rpl_renameat): Implement fix.
42665
42666         renameat: new module
42667         * modules/renameat: New file.
42668         * lib/renameat.c (renameat): Likewise.
42669         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
42670         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42671         * modules/stdio (Makefile.am): Substitute them.
42672         * lib/stdio.in.h (renameat): Declare it.
42673         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42674         * doc/posix-functions/renameat.texi (renameat): Likewise.
42675         * modules/renameat-tests: New test.
42676         * tests/test-renameat.c: Likewise.
42677
42678         rename: fix mingw bugs
42679         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
42680         directory overwrite bugs.
42681
42682         rename: fix another cygwin 1.5 bug
42683         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
42684         checks.
42685         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
42686         unnecessary cygwin workarounds.  Also work around bug with moving
42687         full directory onto an empty one.
42688         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
42689
42690         rename-dest-slash: merge into rename module
42691         * modules/rename-dest-slash (Status): Mark obsolete.
42692         (Depends-on): Add rename.
42693         (Files): Let rename do it all.
42694         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
42695         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
42696         * m4/rename-dest-slash.m4: ...so this file can be deleted.
42697         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
42698         * lib/rename.c (rpl_rename): Update comments.
42699
42700         rename: fix cygwin 1.5.x bugs
42701         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
42702         * lib/rename.c (rpl_rename): Work around them.
42703         * modules/rename (Depends-on): Add same-inode.
42704
42705         rename: fix Solaris 10 bug
42706         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42707         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
42708         was the only bug.
42709
42710         rename: fix Solaris 9 bug
42711         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
42712         on non-directory.  Avoid calling exit.
42713         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
42714         strdup.
42715         * modules/rename-tests (Depends-on): Drop lstat.
42716         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42717         (gl_PREREQ_RENAME): Delete unused macro.
42718
42719         rename-dest-slash: fix NetBSD bug
42720         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
42721         links.
42722         * modules/rename-dest-slash (Depends-on): Add same-inode.
42723
42724         rename-tests: new test, exposes several platform bugs
42725         * modules/rename-tests: New file.
42726         * tests/test-rename.h: Likewise.
42727         * tests/test-rename.c: Likewise.
42728         * doc/posix-functions/rename.texi (rename): Improve documentation,
42729         including bugs that will eventually be fixed in gnulib.
42730
42731 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
42732
42733         * lib/uname.c: Include <stdlib.h>
42734         (uname): Assume version info is available.
42735
42736 2009-10-02  Jim Meyering  <meyering@redhat.com>
42737
42738         gnu-web-doc-update: correct --help output
42739         * build-aux/gnu-web-doc-update: Make --help output relevant.
42740
42741         gnu-web-doc-update: add standard options
42742         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
42743
42744         gnu-web-doc-update: New module.
42745         Use this script to automatically update the on-line web documentation
42746         for your GNU project at http://www.gnu.org/software/$pkg/manual/
42747         * modules/gnu-web-doc-update: New file, from coreutils.
42748         * build-aux/gnu-web-doc-update: New script.
42749
42750 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
42751
42752         link: LoadLibrary is not needed.
42753         * lib/link.c: Use GetModuleHandle.
42754
42755 2009-10-01  Eric Blake  <ebb9@byu.net>
42756
42757         getopt: bump serial number
42758         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
42759         change.
42760
42761         tests: tighten link, rmdir, and remove tests
42762         * tests/test-link.h (includes): No need to use <config.h> here.
42763         Clean up if directory hard link was created, otherwise test for
42764         trailing '.'.
42765         * tests/test-linkat.c (main): Simplify.
42766         * tests/test-remove.c (main): Enhance test for trailing '.'.
42767         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42768
42769 2009-10-01  Jim Meyering  <meyering@redhat.com>
42770
42771         maint.mk: requiring "make major" was annoying, for a "minor" release.
42772         What is intended is "stable", to contrast with alpha and beta,
42773         so require "make stable", not "make major".
42774         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
42775         (get_tool_versions): Likewise.
42776         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
42777
42778 2009-09-30  Ben Pfaff  <blp@gnu.org>
42779
42780         Fix broken build of replacement for Windows tmpfile().
42781         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
42782         flags argument added along with the 'mkostemp' module.
42783
42784 2009-09-28  Bruno Haible  <bruno@clisp.org>
42785
42786         Avoid identifier clash with POSIX function 'remove' defined as a macro.
42787         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
42788         to 'remove_elt'.
42789         (gl_list_remove): Update.
42790         * lib/gl_list.c (gl_list_remove): Update.
42791         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
42792         to 'remove_elt'.
42793         (gl_oset_remove): Update.
42794         * lib/gl_list.c (gl_oset_remove): Update.
42795         Reported by Eric Blake.
42796
42797 2009-09-28  Eric Blake  <ebb9@byu.net>
42798
42799         doc: mention yet more cygwin 1.7 status
42800         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
42801         cygwin.
42802         * doc/glibc-functions/execvpe.texi (execvpe): New file.
42803         * doc/gnulib.texi (Glibc unistd.h): Mention it.
42804
42805         argp: fix test failure
42806         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
42807         that are not upper-case.  Pass correct range to tolower.
42808
42809 2009-09-27  Jim Meyering  <meyering@redhat.com>
42810
42811         test-yesno: work around sparc-dash here-document infelicity
42812         Without this change, the literal \177 byte in a here document
42813         would make dash 0.5.5.1-3 access uninitialized memory.
42814         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
42815         Instead, use a marker, "@", and filter through tr to create the desired
42816         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
42817
42818 2009-09-27  Bruno Haible  <bruno@clisp.org>
42819
42820         Disable untested support for new flavours of ACLs on AIX.
42821         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
42822         progress.
42823         * lib/set-mode-acl.c (qset_acl): Likewise.
42824
42825 2008-12-07  Bruno Haible  <bruno@clisp.org>
42826
42827         Add support for new flavours of ACLs on AIX. (Untested.)
42828         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
42829         (file_has_acl): Add support for newer AIX.
42830         * lib/set-mode-acl.c (qset_acl): Likewise.
42831         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
42832         Rainer Tammer <tammer@tammer.net>.
42833
42834 2009-09-26  Eric Blake  <ebb9@byu.net>
42835
42836         argp: fix compilation of getopt
42837         * lib/getopt.in.h (includes): Use different guard than glibc.
42838         Reported by Sergey Poznyakoff.
42839
42840         doc: mention more cygwin 1.7 status
42841         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
42842         bug.
42843         * doc/posix-functions/execl.texi (execl): Likewise.
42844         * doc/posix-functions/execle.texi (execle): Likewise.
42845         * doc/posix-functions/execlp.texi (execlp): Likewise.
42846         * doc/posix-functions/execv.texi (execv): Likewise.
42847         * doc/posix-functions/execve.texi (execve): Likewise.
42848         * doc/posix-functions/execvp.texi (execvp): Likewise.
42849         * doc/glibc-functions/canonicalize_file_name.texi
42850         (canonicalize_file_name): Cygwin 1.7 now provides this.
42851         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
42852         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
42853         on AT_SYMLINK_NOFOLLOW.
42854
42855 2009-09-24  Eric Blake  <ebb9@byu.net>
42856
42857         test-linkat: make test more robust
42858         * tests/test-linkat.c (main): Avoid collision with EEXIST.
42859
42860         getopt: fix inclusion guards for cygwin
42861         * modules/getopt-posix (Depends-on): Add include-next.
42862         (Makefile.am): Substitute more items in replacement header.
42863         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
42864         <getopt.h>.
42865         * lib/getopt.in.h (includes): Use split inclusion guard, and
42866         prefer <getopt.h> over include <unistd.h> when one is present.
42867         (option): Also override name of 'struct option'.
42868
42869         same-inode: revert prior change; it is not yet ready
42870         * NEWS: Undo mention of this change.
42871         * lib/same-inode.h (same-inode.h): Undo tri-state change.
42872         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42873         * lib/cycle-check.c (cycle_check): Likewise.
42874         * lib/same.c (same_name): Likewise.
42875         * lib/at-func2.c (at_func2): Likewise.
42876
42877 2009-09-23  Eric Blake  <ebb9@byu.net>
42878
42879         linkat: new module
42880         * modules/linkat: New file.
42881         * lib/at-func2.c (at_func2): Likewise.
42882         * lib/linkat.c (linkat): Likewise.
42883         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
42884         * lib/openat-priv.h (at_func2): Add declaration.
42885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42886         * modules/unistd (Makefile.am): Substitute them.
42887         * lib/unistd.in.h (linkat): Declare it.
42888         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42889         * doc/posix-functions/linkat.texi (linkat): Likewise.
42890         * doc/posix-functions/link.texi (link): Tweak wording.
42891         * tests/test-link.c (main): Move guts...
42892         * tests/test-link.h (test_link): ...into new file.
42893         * modules/linkat-tests: New test.
42894         * tests/test-linkat.c: Likewise.
42895         * modules/link-tests (Files): Ship new file.
42896         (Depends-on): Add stdbool.
42897
42898         dirname: add library-safe mdir_name
42899         * lib/dirname.h (mdir_name): New prototype.
42900         * lib/dirname.c (dir_name): Move guts...
42901         (mdir_name): ...to new function that avoids xalloc_die.
42902
42903         fchdir: another mingw fix
42904         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
42905         * lib/fchdir.c (get_name): New helper method; skips canonicalize
42906         on mingw (where it has not yet been ported), and make it optional
42907         elsewhere.
42908         (_gl_register_fd): Use it.
42909
42910         same-inode: make SAME_INODE tri-state, to port to mingw
42911         * NEWS: Mention this change.
42912         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
42913         st_ino always being 0.
42914         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42915         * lib/cycle-check.c (cycle_check): Likewise.
42916         * lib/same.c (same_name): Likewise.
42917
42918         lstat: avoid mingw compilation error
42919         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
42920         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
42921         lstat ourselves.
42922         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
42923         was adequate.
42924         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
42925         the checks for lstat.
42926         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
42927
42928         link: fix test failure on Solaris 9
42929         * lib/link.c (rpl_link): Don't assume link will catch bogus
42930         trailing slash on source.
42931
42932         test-symlinkat: enhance test
42933         * tests/test-readlink.c (main): Move guts...
42934         * tests/test-readlink.h (test_readlink): ...into new file.
42935         * tests/test-symlink.c (main): Move guts...
42936         * tests/test-symlink.h (test_symlink): ...into new file.
42937         * tests/test-symlinkat.c (main): Use new files for further
42938         coverage.
42939         (do_symlink, do_readlink): New helper functions.
42940         * modules/symlink-tests (Files): Ship new file.
42941         (Depends-on): Add stdbool.
42942         * modules/readlink-tests (Files): Ship new file.
42943         (Depends-on): Add stdbool.
42944         * modules/symlinkat-tests (Files): Use new files.
42945
42946 2009-09-23  Eric Blake  <ebb9@byu.net>
42947
42948         readlink: document portability issue with symlink length
42949         * doc/posix-functions/lstat.texi (lstat): Mention that some file
42950         systems have bogus st_size on symlinks, and mention the
42951         areadlink-with-size module.
42952         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42953         * doc/posix-functions/readlink.texi (readlink): Mention the
42954         areadlink module, and ERANGE failure.
42955         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42956         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
42957
42958         readlink: fix Solaris 9 bug with trailing slash
42959         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
42960         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
42961         * doc/posix-functions/readlink.texi (readlink): Document this.
42962         * modules/readlink-tests: New test.
42963         * tests/test-readlink.c: Likewise.
42964
42965         readlink: fix cygwin 1.5.x bug with return type
42966         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
42967         * lib/unistd.in.h (readlink): Use ssize_t.
42968         * lib/readlink.c (readlink): Likewise.
42969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42970         * modules/unistd (Makefile.am): Substitute it.
42971         * lib/unistd.in.h (readlink): Declare replacement.
42972         * doc/posix-functions/readlink.texi (readlink): Document this.
42973
42974         symlink: use throughout gnulib
42975         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
42976         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
42977         symlink is not used.
42978         * modules/symlinkat (Depends-on): Add symlink.
42979         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42980         * modules/canonicalize-tests (Depends-on): Likewise.
42981         * modules/lstat-tests (Depends-on): Likewise.
42982         * modules/openat-tests (Depends-on): Likewise.
42983         * modules/remove-tests (Depends-on): Likewise.
42984         * modules/rmdir-tests (Depends-on): Likewise.
42985         * modules/unlink-tests (Depends-on): Likewise.
42986         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
42987         * tests/test-canonicalize.c (symlink): Likewise.
42988         * tests/test-fstatat.c (symlink): Likewise.
42989         * tests/test-lstat.c (symlink): Likewise.
42990         * tests/test-remove.c (symlink): Likewise.
42991         * tests/test-rmdir.c (symlink): Likewise.
42992         * tests/test-unlink.c (symlink): Likewise.
42993         * tests/test-unlinkat.c (symlink): Likewise.
42994
42995         symlink: new module, for Solaris 9 bug
42996         * modules/symlink: New file.
42997         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
42998         * lib/symlink.c: Likewise.
42999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43000         * modules/unistd (Makefile.am): Substitute them.
43001         * lib/unistd.in.h (symlink): Declare replacement.
43002         * MODULES.html.sh (File system functions): Mention it.
43003         * doc/posix-functions/symlink.texi (symlink): Likewise.
43004         * modules/symlink-tests: New test.
43005         * tests/test-symlink.c: Likewise.
43006
43007 2009-09-23  Bruno Haible  <bruno@clisp.org>
43008
43009         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
43010         when needed.
43011         Test case: gnulib-tool --import --with-tests atexit inttypes.
43012         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
43013
43014 2009-09-23  Bruno Haible  <bruno@clisp.org>
43015
43016         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
43017         subcommand, not in a subshell.
43018
43019 2009-09-22  Eric Blake  <ebb9@byu.net>
43020
43021         unistd: sort replacement declarations
43022         * lib/unistd.in.h: Sort declarations.
43023
43024         open, openat: minor optimization
43025         * lib/open.c (open): If open succeeded, len is non-zero.
43026         * lib/openat.c (rpl_openat): Likewise.
43027
43028         link-follow: ensure correct result
43029         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
43030         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
43031         distinguish between possible failures.
43032
43033 2009-09-21  Eric Blake  <ebb9@byu.net>
43034
43035         fts: avoid compiler warning
43036         * lib/fts.c (dirent_inode_sort_may_be_useful)
43037         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
43038
43039 2009-09-19  Bruno Haible  <bruno@clisp.org>
43040
43041         * lib/progreloc.c (canonicalize_file_name): New declaration.
43042
43043 2009-09-19  Eric Blake  <ebb9@byu.net>
43044
43045         link: fix quoting
43046         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
43047
43048         openat: fix openat bugs on Solaris 9
43049         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
43050         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
43051         * modules/openat (Depends-on): Add open.
43052         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
43053         * modules/fcntl-h (Makefile.am): Substitute it.
43054         * lib/fcntl.in.h (openat): Declare replacement.
43055         * doc/posix-functions/openat.texi (openat): Document this.
43056
43057         openat: move fstatat and unlinkat into correct files
43058         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
43059         compiled.
43060         * lib/openat.c (fstatat, unlinkat): Move...
43061         * lib/fstatat.c (fstatat): ...into correct files.
43062         * lib/unlinkat.c (unlinkat): Likewise.
43063
43064         openat: fix unlinkat bugs on Solaris 9
43065         * lib/unlinkat.c (unlinkat): New file.
43066         * modules/openat (Depends-on): Add unlink.
43067         (Files): Distribute it.
43068         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
43069         trailing slash behavior is broken.
43070         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43071         * modules/unistd (Makefile.am): Substitute it.
43072         * lib/unistd.in.h (unlinkat): Declare replacement.
43073         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
43074
43075         openat: fix fstatat bugs on Solaris 9
43076         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
43077         stat.
43078         * doc/posix-functions/fstatat.texi (fstatat): Document this.
43079
43080         test-unlinkat: enhance test, to expose Solaris 9 bug
43081         * tests/test-unlink.c (main): Factor guts...
43082         * tests/test-unlink.h (test_rmdir_func): ...into new file.
43083         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
43084         * tests/test-rmdir.c (main): Adjust caller.
43085         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
43086         (unlinker): New helper function.
43087         (rmdirat): Enhance check.
43088         * modules/rmdir-tests (Depends-on): Add stdbool.
43089         * modules/unlink-tests (Depends-on): Likewise.
43090         (Files): Add test-unlink.h.
43091         * modules/openat-tests (Files): Likewise.
43092         (Depends-on): Add unlinkdir.
43093
43094         test-fstatat: new test, to expose Solaris 9 bugs
43095         * tests/test-stat.c (main): Factor guts...
43096         * tests/test-stat.h (test_stat_func): ...into new file.
43097         * tests/test-lstat.c (main): Factor guts...
43098         * tests/test-lstat.h (test_lstat_func): ...into new file.
43099         * tests/test-fstatat.c: New file.
43100         * modules/stat-tests (Files): Add test-stat.h.
43101         * modules/lstat-tests (Files): Add test-lstat.h.
43102         (Depends-on): Add stdbool.
43103         * modules/openat-tests (Depends-on): Add pathmax.
43104         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
43105         (Makefile.am): Run new test.
43106
43107         remove: new module, for mingw and Solaris 9 bugs
43108         * modules/remove: New file.
43109         * lib/remove.c: Likewise.
43110         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
43111         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
43112         * modules/stdio (Makefile.am): Use them.
43113         * lib/stdio.in.h (remove): Declare replacement.
43114         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43115         * doc/posix-functions/remove.texi (remove): Likewise.
43116         * modules/remove-tests: New test.
43117         * tests/test-remove.c: Likewise.
43118
43119         unlink: new module, for Solaris 9 bug
43120         * modules/unlink: New file.
43121         * lib/unlink.c: Likewise.
43122         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
43123         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43124         * modules/unistd (Makefile.am): Use them.
43125         * lib/unistd.in.h (stat): Declare replacement.
43126         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43127         * doc/posix-functions/unlink.texi (unlink): Likewise.
43128         * modules/unlink-tests: New test.
43129         * tests/test-unlink.c: Likewise.
43130
43131         lstat: fix Solaris 9 bug
43132         * lib/lstat.c (lstat): Also check for trailing slash on
43133         non-symlink, non-directories.  Use stat module to simplify logic.
43134         * doc/posix-functions/lstat.texi (lstat): Document it.
43135         * modules/lstat-tests (Depends-on): Add errno, same-inode.
43136         (configure.ac): Check for symlink.
43137         * tests/test-lstat.c (main): Add more tests.
43138
43139         stat: add as dependency to other modules
43140         * modules/chown (Depends-on): Add stat.
43141         * modules/euidaccess (Depends-on): Likewise.
43142         * modules/fchdir (Depends-on): Likewise.
43143         * modules/isdir (Depends-on): Likewise.
43144         * modules/link (Depends-on): Likewise.
43145         * modules/lstat (Depends-on): Likewise.
43146         * modules/mkdir-p (Depends-on): Likewise.
43147         * modules/modechange (Depends-on): Likewise.
43148         * modules/open (Depends-on): Likewise.
43149         * modules/readlink (Depends-on): Likewise.
43150         * modules/same (Depends-on): Likewise.
43151
43152         stat: fix Solaris 9 bug
43153         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
43154         slash.
43155         * lib/stat.c (rpl_stat): Work around it.
43156         * doc/posix-functions/stat.texi (stat): Update documentation.
43157
43158         stat: new module, for mingw bug
43159         * modules/stat: New file.
43160         * lib/stat.c: Likewise.
43161         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
43162         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43163         * modules/sys_stat (Makefile.am): Use them.
43164         * lib/sys_stat.in.h (stat): Declare replacement.
43165         * lib/openat.c (fstatat): Deal with lstat and stat being function
43166         macros.
43167         * modules/openat (Depends-on): Add inline.
43168         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43169         * doc/posix-functions/stat.texi (stat): Likewise.
43170         * modules/stat-tests: New test.
43171         * tests/test-stat.c: Likewise.
43172
43173 2009-09-19  Jim Meyering  <meyering@redhat.com>
43174
43175         syntax-check: detect unnecessary inclusion of canonicalize.h
43176         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
43177
43178 2009-09-19  Eric Blake  <ebb9@byu.net>
43179
43180         canonicalize-lgpl: adjust clients to use correct header
43181         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
43182         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
43183         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
43184         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
43185         * lib/progreloc.c (includes): Likewise.
43186
43187 2009-09-19  Jim Meyering  <meyering@redhat.com>
43188
43189         test-posixtm.c: correct a comment
43190         * tests/test-posixtm.c: Correct first-line comment.
43191         Spotted by Eric Blake.
43192
43193 2009-09-16  Jim Meyering  <meyering@redhat.com>
43194
43195         posixtm-tests: make T const-correct; add a test case
43196         * tests/test-posixtm.c (T): Declare const.
43197         Add a test for -(2^31+1).
43198         Remove useless can-succeed-only-in-2002 test.
43199
43200         posixtm-tests: adjust the sole failing test
43201         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
43202         expected output matches what mktime now produces.  Cross-checked via
43203         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
43204
43205         posixtm: move #ifdef'd tests into a new module
43206         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
43207         * tests/test-posixtm.c: ... this new file.
43208         * modules/posixtm-tests: New module.
43209
43210 2009-09-19  Eric Blake  <ebb9@byu.net>
43211
43212         openat: simplify use of at-func.c
43213         * lib/at-func.c (includes): Include prerequisites here, to
43214         simplify requirements on client files.
43215         * lib/openat-priv.h: Add double-inclusion guard.
43216         * lib/faccessat.c (includes): Simplify.
43217         * lib/fchmodat.c (includes): Likewise.
43218         * lib/fchownat.c (includes): Likewise.
43219         * lib/mkdirat.c (includes): Likewise.
43220         * lib/mkfifoat.c (includes): Likewise.
43221         * lib/symlinkat.c (includes): Likewise.
43222
43223         openat: allow return of fd 0
43224         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
43225         * modules/save-cwd (Depends-on): Replace fcntl-safer with
43226         unistd-safer.
43227         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
43228         <fcntl.h>; this module does not leak fds.
43229         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
43230         must be allowed to return 0, leaving openat_safer to add the
43231         safety.
43232         (openat_permissive): Avoid writing to just-opened fd 2 if
43233         restoring the current directory fails.
43234         * lib/openat-die.c (openat_restore_fail): Add comment.
43235         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
43236         (save_cwd): Guarantee safe fd, but without use of open_safer.
43237         * tests/test-openat.c: New test.
43238         * modules/openat-tests (Files, Makefile.am): Distribute and build
43239         new file.
43240
43241         relocatable-prog-wrapper: fix build
43242         * modules/relocatable-prog-wrapper (Files): Update name of
43243         canonicalize m4 file, broken on 2009-09-17.
43244         Reported by emad hajjar <aleppos@hotmail.com>.
43245
43246 2009-09-19  Bruno Haible  <bruno@clisp.org>
43247
43248         * lib/safe-alloc.h: Use the standard header with GPL copyright.
43249         * lib/safe-alloc.c: Likewise.
43250         Reported by Ian Beckwith <ianb@erislabs.net>.
43251
43252 2009-09-18  Bruno Haible  <bruno@clisp.org>
43253
43254         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
43255         Reported by <erobles@sensacd.com.mx>.
43256
43257 2009-09-17  Eric Blake  <ebb9@byu.net>
43258
43259         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
43260         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
43261         slashes when checking if last component is missing.
43262         * tests/test-canonicalize.c (main): Test this.
43263
43264         canonicalize, canonicalize-lgpl: honor // if distinct from /
43265         * modules/canonicalize (Files): Add double-slash-root.m4.
43266         * modules/canonicalize-lgpl (Files): Likewise.
43267         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
43268         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
43269         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
43270         fallback definition.
43271         (canonicalize_filename_mode): Use it to protect //.
43272         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
43273         (__realpath): Likewise.
43274         * tests/test-canonicalize.c (main): Test this.
43275         * tests/test-canonicalize-lgpl.c (main): Likewise.
43276         * modules/canonicalize-tests (Depends-on): Add same-inode.
43277         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
43278
43279         canonicalize-lgpl: fix glibc bug with trailing slash
43280         * m4/canonicalize-lgpl.m4: Move contents...
43281         * m4/canonicalize.m4: ...here.
43282         (gl_CANONICALIZE_LGPL): Factor realpath check...
43283         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
43284         glibc 2.3.5 bug, fixed 2005-04-27.
43285         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
43286         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
43287         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
43288         * modules/canonicalize-lgpl (Files): Manage file rename.
43289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
43290         * modules/stdlib (Makefile.am): Substitute witness.
43291         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
43292         is needed.
43293         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
43294         replacement is required.
43295         * lib/canonicalize.c (canonicalize_file_name): Likewise.
43296         * doc/glibc-functions/canonicalize_file_name.texi
43297         (canonicalize_file_name): Document this.
43298         * doc/posix-functions/realpath.texi (realpath): Likewise.
43299
43300         canonicalize-lgpl: reject non-directory with trailing slash
43301         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
43302         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
43303         catches failures in glibc 2.3.5.
43304         * tests/test-canonicalize.c (main): Likewise.
43305
43306         canonicalize-lgpl: use native realpath if it works
43307         * lib/canonicalize-lgpl.c (realpath): Guard with
43308         FUNC_REALPATH_WORKS.
43309         * lib/stdlib.in.h (realpath): Make declaration optional based on
43310         HAVE_REALPATH.
43311         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
43312         native realpath works.
43313         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
43314         * modules/stdlib (Makefile.am): Substitute witness.
43315
43316         canonicalize, canonicalize-lgpl: use <stdlib.h>
43317         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
43318         (Include): Mention <stdlib.h>.
43319         (configure.ac): Mention functions we provide.
43320         * modules/canonicalize (configure.ac): Likewise.
43321         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
43322         realpath if canonicalize_file_name is missing.
43323         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
43324         * modules/stdlib (Makefile.am): Substitute witnesses.
43325         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
43326         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
43327         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
43328         * NEWS: Document this.
43329         * doc/glibc-functions/canonicalize_file_name.texi
43330         (canonicalize_file_name): Likewise.
43331         * doc/posix-functions/realpath.texi (realpath): Likewise.
43332         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
43333
43334         test-canonicalize: consolidate into single C program
43335         * tests/test-canonicalize.sh: Delete; move setup into...
43336         * tests/test-canonicalize.c (main): ...the program, making it
43337         easier to run in debugger.  Add some tests.
43338         * modules/canonicalize-tests (Files): Remove unused file.
43339         (Depends-on): Add progname.
43340         (configure.ac, Makefile.am): Simplify.
43341
43342         test-canonicalize-lgpl: consolidate into single C program
43343         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
43344         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
43345         easier to run in debugger.  Add some tests.
43346         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
43347         (configure.ac, Makefile.am): Simplify.
43348
43349         canonicalize: avoid resolvepath
43350         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
43351         unnecessary checks.
43352         * lib/canonicalize.c (includes): Simplify.
43353         (canonicalize_file_name): Drop resolvepath implementation.
43354         * modules/canonicalize (Depends-on): Drop filenamecat.
43355
43356         canonicalize: don't lose errno
43357         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
43358         over calls to free.
43359
43360         canonicalize: simplify errno handling
43361         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
43362         assignment.
43363
43364         canonicalize, canonicalize-lgpl: update module dependencies
43365         * modules/canonicalize (Depends-on): Add extensions, lstat,
43366         pathmax, stdlib.
43367         (Files): Drop pathmax.h.
43368         (configure.ac): Adjust macro name.
43369         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
43370         lstat, stdlib, sys_stat.
43371         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
43372         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
43373         extensions.
43374         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
43375         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
43376         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
43377         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
43378         declaration, if available.
43379         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
43380         we can rely on the readlink module.
43381         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
43382         (includes): Use <unistd.h> unconditionally.
43383
43384 2009-09-17  Eric Blake  <ebb9@byu.net>
43385
43386         maint: make Include sections of modules consistent
43387         * modules/alloca: Use only header name; no need to list #include.
43388         * modules/alloca-opt: Likewise.
43389         * modules/arpa_inet: Likewise.
43390         * modules/canon-host: Likewise.
43391         * modules/configmake: Likewise.
43392         * modules/dirent: Likewise.
43393         * modules/eealloc: Likewise.
43394         * modules/environ: Likewise.
43395         * modules/fchdir: Likewise.
43396         * modules/fcntl: Likewise.
43397         * modules/fcntl-h: Likewise.
43398         * modules/gethrxtime: Likewise.
43399         * modules/gettime: Likewise.
43400         * modules/ignore-value: Likewise.
43401         * modules/inet_ntop: Likewise.
43402         * modules/inet_pton: Likewise.
43403         * modules/inttypes: Likewise.
43404         * modules/isnand-nolibm: Likewise.
43405         * modules/isnanf-nolibm: Likewise.
43406         * modules/mbchar: Likewise.
43407         * modules/mbfile: Likewise.
43408         * modules/mbiter: Likewise.
43409         * modules/mbuiter: Likewise.
43410         * modules/netdb: Likewise.
43411         * modules/netinet_in: Likewise.
43412         * modules/nproc: Likewise.
43413         * modules/pagealign_alloc: Likewise.
43414         * modules/poll: Likewise.
43415         * modules/printf-frexp: Likewise.
43416         * modules/pthread: Likewise.
43417         * modules/putenv: Likewise.
43418         * modules/random_r: Likewise.
43419         * modules/relocatable-prog: Likewise.
43420         * modules/search: Likewise.
43421         * modules/select: Likewise.
43422         * modules/selinux-h: Likewise.
43423         * modules/settime: Likewise.
43424         * modules/signal: Likewise.
43425         * modules/size_max: Likewise.
43426         * modules/socklen: Likewise.
43427         * modules/ssize_t: Likewise.
43428         * modules/stdarg: Likewise.
43429         * modules/stdbool: Likewise.
43430         * modules/stddef: Likewise.
43431         * modules/stdint: Likewise.
43432         * modules/stdio: Likewise.
43433         * modules/stdlib: Likewise.
43434         * modules/string: Likewise.
43435         * modules/strings: Likewise.
43436         * modules/sys_file: Likewise.
43437         * modules/sys_ioctl: Likewise.
43438         * modules/sys_select: Likewise.
43439         * modules/sys_socket: Likewise.
43440         * modules/sys_stat: Likewise.
43441         * modules/sys_time: Likewise.
43442         * modules/sys_times: Likewise.
43443         * modules/sys_utsname: Likewise.
43444         * modules/sys_wait: Likewise.
43445         * modules/sysexits: Likewise.
43446         * modules/time: Likewise.
43447         * modules/times: Likewise.
43448         * modules/tmpfile: Likewise.
43449         * modules/trim: Likewise.
43450         * modules/unistd: Likewise.
43451         * modules/wchar: Likewise.
43452         * modules/wctype: Likewise.
43453
43454 2009-09-17  Bruno Haible  <bruno@clisp.org>
43455
43456         Make getdate.y compile on QNX and NetBSD 5 / i386.
43457         * m4/getdate.m4 (gl_GETDATE): Conditionally define
43458         TIME_T_FITS_IN_LONG_INT.
43459         * lib/getdate.y (long_time_t): New type.
43460         (relative_time): Change type of 'seconds' field to long_time_t.
43461         (get_date): Update types of local variables. Check against overflow
43462         during conversion from long_time_t to time_t.
43463         Reported by Matt Kraai <kraai@ftbfs.org>
43464         and Hasso Tepper <hasso@netbsd.org>.
43465
43466 2009-09-17  Bruno Haible  <bruno@clisp.org>
43467
43468         * modules/COPYING: Update copyright years.
43469         * modules/README: Likeiwse.
43470         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
43471         Reported by Ian Beckwith <ianb@erislabs.net>.
43472
43473 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
43474
43475         * users.txt: Update references for gnuit package.
43476
43477 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
43478
43479         * m4/getdelim.m4: Fix typo in copyright line.
43480
43481 2009-09-17  Bruno Haible  <bruno@clisp.org>
43482
43483         * lib/atoll.c: Use the standard header with GPL copyright.
43484         * lib/argz.in.h: Likewise.
43485         * lib/glob.c: Likewise.
43486         * lib/glob-libc.h: Likewise.
43487         * lib/random_r.c: Likewise.
43488         * lib/siglist.h: Likewise.
43489         * lib/strsignal.c: Likewise.
43490         Reported by Ian Beckwith <ianb@erislabs.net>.
43491
43492 2009-09-17  Eric Blake  <ebb9@byu.net>
43493
43494         rmdir: ensure correct dependency order
43495         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
43496
43497 2009-09-17  Bruno Haible  <bruno@clisp.org>
43498
43499         Disable assertion that fails on NetBSD 5 / i386.
43500         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
43501         Reported by Sam Steingold <sds@gnu.org>
43502         and Hasso Tepper <hasso@netbsd.org>.
43503
43504 2009-09-16  Eric Blake  <ebb9@byu.net>
43505
43506         unlinkdir: port to mingw
43507         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
43508         on which no one can unlink a directory.
43509
43510         stdlib: sort witness names
43511         * modules/stdlib (Makefile.am): Sort replacements.
43512         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
43513         * lib/stdlib.in.h: Likewise.
43514
43515         parse-duration-tests: avoid link failure
43516         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
43517         LIBINTL.
43518         Reported by Tom G. Christensen.
43519
43520         openat-tests: ensure unlinkat behaves like rmdir
43521         * tests/test-rmdir.c (main): Factor guts...
43522         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
43523         * modules/rmdir-tests (Files): Ship new file.
43524         * modules/openat-tests: New test.
43525         * tests/test-unlinkat.c: Likewise.
43526
43527         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
43528         * modules/rmdir-errno (Status, Notice): Now obsolete.
43529
43530         rmdir: work around cygwin 1.5.x and mingw bugs
43531         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
43532         * lib/rmdir.c (rmdir): Work around it.
43533         * modules/rmdir (Status, Notice): No longer obsolete.
43534         (Files): Add dos.m4.
43535         (Depends-on): Add unistd.
43536         (configure.ac): Set witnesses.
43537         (License): Relax to LGPLv2+.
43538         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
43539         * modules/unistd (Makefile.am): Substitute witnesses.
43540         * lib/unistd.in.h (rmdir): Declare replacement.
43541         * doc/posix-functions/rmdir.texi (rmdir): Document this.
43542         * modules/rmdir-tests: New tests.
43543         * tests/test-rmdir.c: Likewise.
43544
43545 2009-09-15  Eric Blake  <ebb9@byu.net>
43546
43547         fchdir: improve use of replacement functions
43548         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
43549         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
43550         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
43551         REPLACE_CLOSEDIR.
43552         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
43553         * modules/sys_stat (Makefile.am): Substitute correct witness.
43554         * modules/dirent (Makefile.am): Likewise.
43555         * modules/unistd (Makefile.am): Likewise.
43556         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
43557         * lib/unistd.in.h (dup): Likewise.
43558         * lib/sys_stat.in.h (fstat): Likewise.
43559
43560         maint: ignore gnulib-tool temp files
43561         * .gitignore: Ignore files created during gnulib-tool --test.
43562
43563 2009-09-13  Jim Meyering  <meyering@redhat.com>
43564
43565         posixtm: don't reject a time that specify "60" as the number of seconds
43566         * lib/posixtm.c (posixtime): The code to reject invalid dates
43567         would also reject a time specified with the .60 suffix.
43568         But POSIX allows that, in order to accommodate leap seconds.
43569         So don't reject it.
43570         (main): Adjust tests accordingly.
43571         * modules/posixtm (Depends-on): Add stpcpy.
43572
43573 2009-09-11  Jim Meyering  <meyering@redhat.com>
43574
43575         announce-gen: include [$release_type] in emitted Subject:
43576         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
43577         e.g., [stable] in the emitted Subject: line.
43578
43579 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43580
43581         Remove obsolete macros from several modules.
43582         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
43583         obsolete Autoconf macros with their modern counterparts.
43584         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
43585         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
43586         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
43587         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
43588         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
43589         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
43590         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
43591         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
43592         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
43593         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
43594         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
43595         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
43596         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
43597         * m4/sockets.m4 (gl_SOCKETS): Likewise.
43598         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
43599         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
43600         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
43601         * m4/time_r.m4 (gl_TIME_R): Likewise.
43602         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
43603         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
43604         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
43605
43606         Fix copyright header in build-aux scripts.
43607         * build-aux/git-version-gen: Fix copyright header to match GPLv3
43608         recommendation.
43609         * build-aux/ncftpput-ftp: Likewise.
43610         * build-aux/update-copyright: Likewise.
43611
43612 2009-09-09  Eric Blake  <ebb9@byu.net>
43613
43614         test-link: allow Linux choice of errno
43615         * tests/test-link.c (main): Relax test for alternate error.
43616
43617         strndup: fix improper m4 caching
43618         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
43619         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
43620         (gl_PREREQ_STRNDUP): Delete.
43621         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
43622         * modules/string (Makefile.am): Substitute it.
43623         * lib/string.in.h (strndup): Modernize prototype.
43624
43625         getcwd: port to mingw
43626         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
43627         different from the POSIX assumptions made throughout the getcwd
43628         module; fortunately, the mingw getcwd does not need replacement.
43629         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
43630         * modules/getcwd-tests: New test.
43631         * tests/test-getcwd.c: Likewise.
43632
43633         link: fix platform bugs
43634         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
43635         * lib/link.c (link): Work around them.  Fix related mingw bug.
43636         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
43637         * modules/unistd (Makefile.am): Substitute it.
43638         * lib/unistd.in.h (link): Declare replacement.
43639         * doc/posix-functions/link.texi (link): Document this.
43640         * modules/link (Depends-on): Add strdup-posix, sys_stat.
43641
43642         test-link: consolidate into single C program, test more cases
43643         * tests/test-link.sh: Delete.
43644         * tests/test-link.c: Test more error conditions.  Exposes bugs on
43645         at least Cygwin and Solaris.
43646         * modules/link-tests (Files): Remove unused file.
43647         (Depends-on): Add errno, sys_stat.
43648         (Makefile.am): Simplify.
43649
43650 2009-09-08  Bruno Haible  <bruno@clisp.org>
43651
43652         Work around towlower, towupper bug on mingw.
43653         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
43654         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
43655         * doc/posix-functions/towlower.texi: Mention the mingw bug.
43656         * doc/posix-functions/towupper.texi: Likewise.
43657         Reported by Eric Blake.
43658
43659 2009-09-08  Jim Meyering  <meyering@redhat.com>
43660
43661         build: don't try to run autoheader if we don't use it
43662         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
43663         is not used in configure.ac.
43664
43665 2009-09-08  Eric Blake  <ebb9@byu.net>
43666
43667         euidaccess: fix compilation error
43668         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
43669
43670         rawmemchr: relax license
43671         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
43672         okay.
43673         Reported by Jim Meyering.
43674
43675         mkfifoat: new module
43676         * modules/mkfifoat: New file.
43677         * lib/mkfifoat.c: Likewise.
43678         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
43679         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43680         * modules/sys_stat (Makefile.am): Use them.
43681         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
43682         * MODULES.html.sh (File system functions): Mention module.
43683         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43684         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43685         * modules/mkfifoat-tests: New test.
43686         * tests/test-mkfifoat.c: Likewise.
43687
43688         strchrnul: relax license
43689         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
43690         okay.
43691         Reported by Jim Meyering.
43692
43693 2009-09-08  Eric Blake  <ebb9@byu.net>
43694
43695         fstatat: fix compilation on Solaris
43696         * lib/fstatat.c (includes): Add fcntl.h.
43697         Reported by Pádraig Brady.
43698
43699 2009-09-07  Eric Blake  <ebb9@byu.net>
43700
43701         rename: modernize replacement
43702         * modules/rename (Depends-on): Add stdio.
43703         (configure.ac): Declare witness.
43704         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
43705         stdio take care of replacement.
43706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43707         * modules/stdio (Makefile.am): Substitute them.
43708         * lib/stdio.in.h (rename): Declare replacement.
43709         * lib/rename.c (includes): Allow cross-compilation to non-windows
43710         machines.
43711         * doc/posix-functions/rename.texi (rename): Improve
43712         documentation.
43713
43714         stdio: sort witness names
43715         * modules/stdio (Makefile.am): Sort replacements.
43716         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43717         * lib/stdio.in.h: Likewise.
43718
43719         getcwd: minor cleanups
43720         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
43721         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
43722
43723         openat: provide more convenience names
43724         * modules/faccessat (configure.ac): Add C witness.
43725         * lib/unistd.in.h (readlinkat): Fix typo.
43726         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
43727         convenience wrappers.
43728         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
43729         wrappers in syntax checks.
43730
43731 2009-09-06  Eric Blake  <ebb9@byu.net>
43732
43733         doc: fix comments in recent patches
43734         * lib/faccessat.c: Mention correct function.
43735         * lib/fchmodat.c: Likewise.
43736         * lib/fchownat.c: Likewise.
43737         * lib/symlinkat.c: Likewise.
43738         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
43739         constants.
43740
43741         faccessat, symlinkat: continue cleanup of previous patch
43742         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
43743         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43744         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
43745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
43746         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
43747         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
43748         set.
43749
43750 2009-09-06  Bruno Haible  <bruno@clisp.org>
43751
43752         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
43753         (fstatat): Declare if GNULIB_FSTATAT is set.
43754         (mkdirat): Declare if GNULIB_MKDIRAT is set.
43755         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
43756         (unlinkat): Declare if GNULIB_UNLINKAT is set.
43757         * modules/fcntl-h (Files): Remove m4/openat.m4.
43758         * modules/sys_stat (Files): Remove m4/openat.m4.
43759         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
43760         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
43761         * modules/unistd (Files): Remove m4/openat.m4.
43762         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
43763         GNULIB_OPENAT.
43764         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
43765         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
43766         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
43767         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
43768         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
43769         gl_OPENAT_DEFAULTS.
43770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
43771         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
43772         Don't require gl_OPENAT_DEFAULTS.
43773         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
43774         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
43775         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
43776         (gl_OPENAT_DEFAULTS): Remove macro.
43777
43778 2009-09-06  Bruno Haible  <bruno@clisp.org>
43779
43780         * modules/openat (configure.ac): Remove unneeded witness.
43781
43782 2009-09-06  Bruno Haible  <bruno@clisp.org>
43783
43784         Set errno to ENOSYS when a function is entirely unsupported.
43785         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
43786         EOPNOTSUPP.
43787         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43788         * modules/chown (Depends-on): Remove errno.
43789
43790 2009-09-06  Bruno Haible  <bruno@clisp.org>
43791
43792         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
43793
43794 2009-09-06  Bruno Haible  <bruno@clisp.org>
43795
43796         * lib/sys_stat.in.h: Fix preprocessor command indentation.
43797
43798 2009-09-06  Ben Pfaff  <blp@gnu.org>
43799             Bruno Haible  <bruno@clisp.org>
43800
43801         Work around a glibc bug in strtok_r.
43802         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
43803         Undefine if UNDEFINE_STRTOK_R is set.
43804         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
43805         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43806         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
43807         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
43808         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
43809         UNDEFINE_STRTOK_R.
43810         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
43811
43812 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
43813
43814         exclude: minor fix
43815         * lib/exclude.c: Include wctype.h
43816
43817 2009-09-06  Akim Demaille  <demaille@gostai.com>
43818
43819         bootstrap: improve error message
43820         * build-aux/bootstrap (find_tool): Upon failure, report the list
43821         of candidates.
43822         Honor the initial value of the envvar.
43823
43824 2009-09-05  Eric Blake  <ebb9@byu.net>
43825
43826         symlinkat: new module
43827         * modules/symlinkat: New file.
43828         * lib/symlinkat.c: Likewise.
43829         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
43830         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43831         * modules/unistd (Makefile.am): Use them.
43832         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
43833         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
43834         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
43835         * MODULES.html.sh (File system functions): Mention module.
43836         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43837         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43838         * modules/symlinkat-tests: New test.
43839         * tests/test-symlinkat.c: Likewise.
43840
43841         test-openat-safer: add more checks
43842         * tests/test-openat-safer.c (main): Check more code paths.
43843
43844 2009-09-05  Jim Meyering  <meyering@redhat.com>
43845
43846         syntax-check: detect unnecessary inclusion of openat.h
43847         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
43848
43849 2009-09-05  Bruno Haible  <bruno@clisp.org>
43850
43851         Support towlower, towupper.
43852         * doc/posix-functions/towlower.texi: Mention module wctype.
43853         * doc/posix-functions/towupper.texi: Likewise.
43854         * lib/wctype.in.h (towlower, towupper): New functions.
43855         * tests/test-wctype.c: Include stdio.h, stdlib.h.
43856         (ASSERT): New macro.
43857         (e): New variable.
43858         (main): Test also towlower, towupper. Test WEOF argument.
43859         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43860
43861 2009-09-05  Bruno Haible  <bruno@clisp.org>
43862
43863         Fix conversion behaviour when the input is invalid.
43864         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
43865         mark occurring in first pass of indirect conversion.
43866         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
43867         input.
43868         Found by clang's static analyzer.
43869
43870 2009-09-05  Bruno Haible  <bruno@clisp.org>
43871
43872         * tests/test-striconveh.c (main): Test indirect conversion on platforms
43873         where direct conversion is possible.
43874
43875 2009-09-04  Eric Blake  <ebb9@byu.net>
43876
43877         openat: fail with ENOENT on empty name
43878         * lib/openat-proc.c (openat_proc_name): Special-case the empty
43879         buffer.
43880
43881         link-follow: fix logic bug in prior patch
43882         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
43883         reversed sense of yes and no in prior patch.  Avoid confusing
43884         compilation failure with desired semantics.
43885
43886         link-follow: accommodate mingw and cross-compilation
43887         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
43888         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
43889         cross-compilation results to -1, to make linkat easier to
43890         implement when cross-compiling.  Trivially support mingw.
43891         * modules/link-follow (configure.ac): Call new name.
43892         * NEWS: Mention this.
43893
43894 2009-09-03  Eric Blake  <ebb9@byu.net>
43895
43896         faccessat: compile replacement
43897         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
43898         needed.
43899
43900         fts: fix compilation error
43901         * lib/fts.c (includes): Re-add "openat.h", for
43902         openat_needs_fchdir.
43903
43904         faccessat: new module
43905         * modules/faccessat: New file.
43906         * lib/faccessat.c: Likewise.
43907         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43908         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43909         * modules/unistd (Makefile.am): Use it.
43910         * lib/unistd.in.h (faccessat): Declare it.
43911         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
43912         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
43913         * MODULES.html.sh (File system functions): Mention it.
43914         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
43915         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
43916
43917         euidaccess: prefer POSIX over non-standard implementation
43918         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
43919         * lib/euidaccess.c (euidaccess): Use it if available.
43920
43921         openat: make template easier to use
43922         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
43923         AT_FUNC_F2 to be undefined.
43924         (VALIDATE_FLAG): New macro; use it to reject bad flags.
43925         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
43926         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
43927         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
43928         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
43929         Likewise.
43930         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
43931         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
43932         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
43933         Likewise.
43934
43935         openat: declare in POSIX headers
43936         * NEWS: Mention this.
43937         * modules/openat (configure.ac): Declare witnesses.
43938         (Depends-on): Add fcntl-h, sys_stat, unistd.
43939         (Include): Mention correct headers.
43940         * modules/fcntl-h (Depends-on): Add link-warning.
43941         (Files): Add openat.m4.
43942         (Makefile.am): Substitute witnesses.
43943         * modules/sys_stat (Files, Makefile.am): Likewise.
43944         * modules/unistd (Files, Makefile.am): Likewise.
43945         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
43946         (gl_OPENAT_DEFAULTS): New macro.
43947         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
43948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
43949         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
43950         (SYS_STAT_H): Remove unused variable.
43951         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
43952         * lib/fcntl--.h (includes): Remove unneeded header.
43953         * lib/openat-safer.c (includes): Likewise.
43954         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
43955         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
43956         appropriate headers.
43957         (__OPENAT_PREFIX): Delete.
43958         * lib/fcntl.in.h (openat): Provide declaration.
43959         (AT_FDCWD): Fix Solaris bug.
43960         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
43961         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
43962         * lib/fchmodat.c (includes):  Adjust to find declaration.
43963         * lib/fchownat.c (includes): Likewise.
43964         * lib/mkdirat.c (includes): Likewise.
43965         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
43966         still visible.
43967
43968 2009-09-02  Eric Blake  <ebb9@byu.net>
43969
43970         errno: use consistently
43971         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
43972         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
43973         * lib/canonicalize.c (ELOOP): Likewise.
43974         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
43975         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
43976         * lib/lchown.c (EOPNOTSUPP): Likewise.
43977         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
43978         * lib/savewd.c (ESTALE): Likewise.
43979         * lib/settime.c (ENOSYS): Likewise.
43980         * lib/utimens.c (ENOSYS): Likewise.
43981         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
43982         * lib/chdir-safer.c (ELOOP): Likewise.
43983         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
43984         * modules/c-stack (Depends-on): Add errno.
43985         * modules/canonicalize (Depends-on): Likewise.
43986         * modules/chdir-safer (Depends-on): Likewise.
43987         * modules/fdopendir (Depends-on): Likewise.
43988         * modules/inet_ntop (Depends-on): Likewise.
43989         * modules/inet_pton (Depends-on): Likewise.
43990         * modules/lchown (Depends-on): Likewise.
43991         * modules/openat (Depends-on): Likewise.
43992         * modules/savewd (Depends-on): Likewise.
43993         * modules/settime (Depends-on): Likewise.
43994         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
43995
43996         fts: avoid leaking fds
43997         * modules/fts (Depends-on): Add cloexec.
43998         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
43999         flag.
44000
44001         fts: make directory fds more robust
44002         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
44003         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
44004
44005         backupfile, chdir-long, fts, savedir: make safer
44006         * lib/backupfile.c (includes): Use "dirent--.h", since
44007         numbered_backup can write to stderr during readdir.
44008         * lib/savedir.c (includes): Likewise.
44009         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
44010         emulation can write to stderr on failure.
44011         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
44012         * lib/getcwd.c: Document why opendir_safer is unused.
44013         * lib/glob.c: Likewise.
44014         * lib/scandir.c: Likewise.
44015         * lib/openat-proc.c: Likewise, for open_safer.
44016         * modules/backupfile (Depends-on): Add dirent-safer.
44017         * modules/savedir (Depends-on): Likewise.
44018         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
44019         * modules/chdir-long (Depends-on): Add openat-safer.
44020
44021         openat-safer: new module
44022         * modules/openat-safer: New file.
44023         * lib/openat-safer.c: Likewise.
44024         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
44025         * lib/fcntl-safer.h (openat_safer): Declare.
44026         * lib/fcntl--.h (openat): Override.
44027         * MODULES.html.sh (File descriptor based I/O): Mention it.
44028         * lib/openat.h: Add double-inclusion guards.
44029         * lib/openat.c (includes): Only include "fcntl-safer.h", not
44030         "fcntl--.h", so we can implement openat.
44031         * modules/openat-safer-tests: New test.
44032         * tests/test-openat-safer.c: New file.
44033
44034         dirent-safer: new module
44035         * modules/dirent-safer: New file.
44036         * lib/dirent--.h: Likewise.
44037         * lib/dirent-safer.h: Likewise.
44038         * lib/opendir-safer.c: Likewise.
44039         * m4/dirent-safer.m4: Likewise.
44040         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
44041         * modules/dirent-safer-tests: New test.
44042         * tests/test-dirent-safer.c: New file.
44043         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
44044
44045         fdopendir: optimize on mingw
44046         * lib/unistd.in.h (_gl_directory_name): New prototype.
44047         * lib/fchdir.c (_gl_directory_name): Implement it.
44048         (fchdir): Use it to simplify implementation.
44049         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
44050         fchdir, when available, to avoid calling [f]chdir().
44051
44052         fdopendir: split into its own module
44053         * lib/openat.c (fdopendir): Move...
44054         * lib/fdopendir.c: ...into new file.
44055         * modules/fdopendir: New module.
44056         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
44057         * modules/openat (Depends-on): Add fdopendir.
44058         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
44059         fdopendir here.
44060         * modules/savedir (Depends-on): Only need fdopendir, not full
44061         openat.
44062         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
44063         * lib/openat.h (fdopendir): Drop prototype.
44064         * lib/dirent.in.h (fdopendir): Provide prototype.
44065         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
44066         * modules/dirent (Makefile.am): Substitute them.
44067         * MODULES.html.sh (File system functions): Mention it.
44068         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
44069         * modules/fdopendir-tests: New file.
44070         * tests/test-fdopendir.c: Likewise.
44071
44072         fchdir: use more consistent macro convention
44073         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
44074         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
44075         REPLACE_FCHDIR, rather than relying on config.h macros.
44076         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
44077         inside a single make-time REPLACE_FCHDIR block, rather than using
44078         the config.h FCHDIR_REPLACEMENT.
44079         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
44080         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
44081         Manage fstat replacement.
44082         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
44083         REPLACE_FCHDIR.
44084         * modules/sys_stat (Files): Add m4/unistd_h.m4.
44085         (Makefile.am): Substitute REPLACE_FCHDIR.
44086         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
44087         FCHDIR_REPLACEMENT.
44088         * lib/dup-safer.c (dup_safer): Likewise.
44089         * lib/dup2.c (rpl_dup2): Likewise.
44090         * lib/dup3.c (rpl_dup3): Likewise.
44091         * lib/open.c (rpl_open): Likewise.
44092
44093         fchdir: simplify error handling, and support dup3
44094         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
44095         stdbool, malloc-posix, realloc-posix.
44096         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
44097         (ensure_dirs_slot): Return false on allocation failure.
44098         (rpl_dup2): Delete.
44099         (_gl_register_dup): New function.
44100         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
44101         (_gl_register_fd): Close fd on allocation failure.
44102         * lib/fcntl.in.h (_gl_register_fd): Update signature.
44103         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
44104         prototype.
44105         (rpl_dup2_fchdir): Delete prototype.
44106         * lib/open.c (open): Update caller.
44107         * lib/dup2.c (dup2): Track fchdir metadata.
44108         * lib/dup3.c (dup3): Likewise.
44109         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
44110         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
44111
44112 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44113
44114         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
44115         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
44116         don't pass arguments to AC_OUTPUT.
44117
44118 2009-09-02  Bruno Haible  <bruno@clisp.org>
44119
44120         * modules/mkdtemp (License): Relicense under LGPLv2+.
44121         Reported by Paolo Bonzini.
44122
44123 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44124
44125         Replace uses of obsolete autoconf macros in Jim's modules.
44126         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
44127         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
44128         can evoke a warning from autoconf when run with -Wobsolete
44129         enabled.  They were declared obsolete for good reasons (see
44130         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
44131         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
44132         should not continue using the deprecated macros.
44133         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
44134         obsolete Autoconf macros with modern counterparts.
44135         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
44136         * m4/dos.m4 (gl_AC_DOS): Likewise.
44137         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
44138         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
44139         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
44140         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
44141         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
44142         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
44143         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
44144         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
44145         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
44146         Likewise.
44147         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
44148         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
44149         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
44150         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
44151         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
44152         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
44153
44154 2009-09-01  Eric Blake  <ebb9@byu.net>
44155
44156         fchdir: fix off-by-one bug in previous patch
44157         * lib/fchdir.c (rpl_fstat): Use correct bounds.
44158         (_gl_unregister_fd): Delete useless if.
44159
44160 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
44161
44162         maint.mk: sort the list of syntax-check rules
44163         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
44164         easier to get a sense of progress when the rules are run sequentially
44165         and take a long time.
44166
44167 2009-09-01  Simon Josefsson  <simon@josefsson.org>
44168
44169         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
44170         * modules/netinet_in: Likewise.
44171         * modules/sys_file: Likewise.
44172         * modules/sys_ioctl: Likewise.
44173         * modules/sys_select: Likewise.
44174         * modules/sys_socket: Likewise.
44175         * modules/sys_stat: Likewise.
44176         * modules/sys_time: Likewise.
44177         * modules/sys_times: Likewise.
44178         * modules/sys_utsname: Likewise.
44179         * modules/sys_wait: Likewise.
44180
44181 2009-09-01  Jim Meyering  <meyering@redhat.com>
44182
44183         fts: help ensure that return values are not ignored
44184         * lib/fts_.h (__GNUC_PREREQ): Define.
44185         (__attribute_warn_unused_result__): Define.
44186         (fts_children, fts_close, fts_open, fts_read): Declare with
44187         __attribute_warn_unused_result__.
44188
44189         fts: fts_close now fails also when closing a dir file descriptor fails
44190         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
44191         and propagate to caller, along with errno.
44192
44193         announce-gen: correct formatting in --help output
44194         * build-aux/announce-gen (usage): Move the one-line description in
44195         --help output "up", to where it belongs, just after Usage:.
44196
44197 2009-08-31  Eric Blake  <ebb9@byu.net>
44198
44199         fchdir: port to mingw
44200         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
44201         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
44202         opened, then use a substitute.
44203         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
44204         replacement.
44205         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
44206         (_gl_register_fd): No need to check stat if open already filters
44207         all directories.
44208         (fchdir): Fix error condition to match POSIX.
44209         * modules/fchdir (Depends-on): Add sys_stat.
44210         * doc/posix-functions/open.texi (open): Document the limitation.
44211         * modules/fchdir-tests: New file.
44212         * tests/test-fchdir.c: Likewise.
44213
44214         canonicalize: allow cross-testing from cygwin to mingw
44215         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
44216         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
44217         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
44218         Likewise.
44219         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
44220         target does not support symlinks.
44221         * tests/test-canonicalize-lgpl.sh: Likewise.
44222
44223         chown: avoid compilation warning on mingw
44224         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
44225         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
44226         mingw.
44227         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
44228         * modules/chown (Depends-on): Add errno.
44229
44230 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
44231
44232         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
44233         command.
44234
44235 2009-08-31  Jim Meyering  <meyering@redhat.com>
44236
44237         canonicalize: remove useless initialization
44238         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
44239         initialization of local, "end".
44240
44241 2009-08-30  Bruno Haible  <bruno@clisp.org>
44242
44243         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
44244         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
44245         ENOSYS.
44246
44247 2009-08-30  Bruno Haible  <bruno@clisp.org>
44248
44249         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
44250         /usr/xpg4/bin/tr when it exists.
44251         * tests/test-pipe-filter-gi1.sh: Likewise.
44252
44253 2009-08-30  Bruno Haible  <bruno@clisp.org>
44254
44255         Work around deficient /usr/bin/id program on Solaris.
44256         * tests/test-file-has-acl.sh (ID): New variable.
44257         * tests/test-set-mode-acl.sh (ID): Likewise.
44258         * tests/test-copy-acl.sh (ID): Likewise.
44259         * tests/test-copy-file.sh (ID): Likewise.
44260
44261 2009-08-30  Bruno Haible  <bruno@clisp.org>
44262
44263         New module 'xstriconveh'.
44264         * lib/xstriconveh.h: New file.
44265         * lib/xstriconveh.c: New file.
44266         * modules/xstriconveh: New file.
44267
44268 2009-08-30  Bruno Haible  <bruno@clisp.org>
44269
44270         Make it easier to use mem_cd_iconveh.
44271         * lib/striconveh.h (iconveh_t): New type.
44272         (iconveh_open, iconveh_close): New declarations.
44273         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
44274         with a single 'const iconveh_t *' argument.
44275         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
44276         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
44277         with a single 'const iconveh_t *' argument.
44278         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
44279         * tests/test-striconveh.c (main): Update.
44280         * NEWS: Mention the change.
44281
44282 2009-08-30  Bruno Haible  <bruno@clisp.org>
44283
44284         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
44285         problem.
44286
44287 2009-08-30  Bruno Haible  <bruno@clisp.org>
44288
44289         Work around iconv_open problem on Solaris.
44290         * lib/iconv_open-solaris.gperf: New file.
44291         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
44292         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
44293         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
44294         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
44295         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
44296         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
44297
44298 2009-08-29  Jim Meyering  <meyering@redhat.com>
44299
44300         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
44301         * top/maint.mk (cvs-check): Remove target; it was just an alias
44302         to the better-named vc-diff-check.
44303         (maintainer-distcheck): Remove rule.  It was used only from
44304         the (alpha/beta/major) target, and all of its commands but one
44305         were coreutils-specific.
44306         (vc-dist): Remove rule.
44307         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
44308         Run vc-diff-check, not vc-dist.
44309         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
44310
44311 2009-08-27  Bruno Haible  <bruno@clisp.org>
44312
44313         * tests/test-bitrotate.c (main): Remove test that uses a shift count
44314         of 0.
44315
44316 2009-08-27  Bruno Haible  <bruno@clisp.org>
44317
44318         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
44319         compilers.
44320         * doc/func.texi: Document the SunPRO C bug.
44321
44322 2009-08-27  Bruno Haible  <bruno@clisp.org>
44323
44324         Fix link error on Solaris.
44325         * tests/test-parse-duration.c (xstrdup): Remove function.
44326
44327 2009-08-26  Pádraig Brady  <P@draigbrady.com>
44328
44329         ignore-value: handle pointer types, too
44330         * lib/ignore-value.h (__attribute__): Remove definition.
44331         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
44332         of a more concise and more-often effective "(void) i" statement.
44333         (ignore_ptr): New function to suppress warnings from functions that
44334         return pointers, and to make it explicit that one function doesn't
44335         handle all cases.
44336
44337 2009-08-25  Bruno Haible  <bruno@clisp.org>
44338
44339         dup2: work around a Linux bug.
44340         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
44341         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
44342         * doc/posix-functions/dup2.texi: Mention the Linux bug.
44343         Reported by Simon Josefsson.
44344
44345 2009-08-25  Jim Meyering  <meyering@redhat.com>
44346
44347         libguestfs uses gnulib
44348         * users.txt: Add libguestfs.
44349
44350 2009-08-24  Eric Blake  <ebb9@byu.net>
44351
44352         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
44353         * lib/pipe2.c (includes): Add binary-io.h.
44354         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
44355
44356 2009-08-24  Bruno Haible  <bruno@clisp.org>
44357
44358         Tolerate declared but missing accept4 syscall.
44359         * lib/accept4.c (accept4): Invoke original accept4 function first, if
44360         available.
44361         * lib/sys_socket.in.h (accept4): If the function is already present,
44362         override it.
44363         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
44364         * modules/accept4 (Makefile.am): Compile accept4.c always.
44365         Reported by Paolo Bonzini and Eric Blake.
44366
44367 2009-08-23  Bruno Haible  <bruno@clisp.org>
44368
44369         New module 'accept4'.
44370         * lib/sys_socket.in.h (accept4): New declaration.
44371         * lib/accept4.c: New file.
44372         * m4/accept4.m4: New file.
44373         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
44374         GNULIB_ACCEPT4, HAVE_ACCEPT4.
44375         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
44376         HAVE_ACCEPT4.
44377         * modules/accept4: New file.
44378         * doc/glibc-functions/accept4.texi: Mention the new module.
44379
44380 2009-08-24  Jim Meyering  <meyering@redhat.com>
44381
44382         progname: also set global program_invocation_name, when possible
44383         Before this change, a libtool-enabled program that calls glibc's
44384         error function would report the program name as
44385         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
44386         * modules/progname (configure.ac): Check for a declaration of
44387         program_invocation_name.
44388         * lib/progname.c:  Include <errno.h>.
44389         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
44390         Set program_invocation_name.
44391
44392 2009-08-23  Bruno Haible  <bruno@clisp.org>
44393
44394         * lib/dup3.c: Include <string.h>.
44395
44396 2009-08-23  Bruno Haible  <bruno@clisp.org>
44397
44398         * lib/dup3.c (dup3): Test only once whether the system actually exists.
44399         * lib/pipe2.c (pipe2): Likewise.
44400         Suggested by Eric Blake.
44401
44402 2009-08-23  Bruno Haible  <bruno@clisp.org>
44403
44404         Tolerate declared but missing dup3 syscall.
44405         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
44406         * lib/unistd.in.h (dup3): If the function is already present,
44407         override it.
44408         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
44409         * modules/dup3 (Makefile.am): Compile dup3.c always.
44410         Reported by Paolo Bonzini.
44411
44412 2009-08-23  Bruno Haible  <bruno@clisp.org>
44413
44414         Tolerate declared but missing pipe2 syscall.
44415         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
44416         available.
44417         * lib/unistd.in.h (pipe2): If the function is already present,
44418         override it.
44419         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
44420         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
44421         Reported by Paolo Bonzini.
44422
44423 2009-08-23  Bruno Haible  <bruno@clisp.org>
44424
44425         * lib/pipe2.c (pipe2): Move #ifs inside function.
44426
44427 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
44428
44429         quotearg: document limitations of quote_these_too
44430         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
44431         those limitations are created.
44432         * lib/quotearg.h (set_char_quoting): Document that digits and
44433         letters that are special after backslash are not permitted.
44434         (quotearg_char): Cross-reference set_char_quoting documentation.
44435
44436 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
44437
44438         quotearg: implement custom_quoting_style
44439         * lib/quotearg.c: (struct quoting_options): Add left_quote and
44440         right_quote fields.
44441         (set_custom_quoting): New public function.
44442         (quotearg_buffer_restyled): Add left_quote and right_quote
44443         arguments, handle them very much like locale quoting, and update
44444         all uses.
44445         (quotearg_n_custom): New public function.
44446         (quotearg_n_custom_mem): New public function.
44447         (quotearg_custom): New public function.
44448         (quotearg_custom_mem): New public function.
44449         * lib/quotearg.h: Prototype and document new public functions.
44450         (enum quoting_style): For escape_quoting_style and
44451         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
44452         ignored even though they're otherwise like c_quoting_style.
44453         Add custom_quoting_style member and document with comparison to
44454         clocale_quoting_style.
44455         * tests/test-quotearg.c (custom_quotes): New array.
44456         (custom_results): New array.
44457         (main): Extend to test custom quoting.
44458
44459 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
44460
44461         quotearg: fix right quote escaping when it's in quote_these_too
44462         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
44463         quote, be sure to prepend only one backslash.
44464         * tests/test-quotearg.c (use_quote_double_quotes): New function.
44465         (main): Test it.
44466
44467 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
44468
44469         quotearg-tests: test escaping of embedded locale quotes
44470         * tests/test-quotearg.c (struct result_strings): Add member for
44471         new input.
44472         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
44473         (inputs): Add new input.
44474         (results_g): Add expected results.
44475         (flag_results): Likewise.
44476         (locale_results): Likewise.
44477         (compare_strings): Check those.
44478
44479 2009-08-23  Bruno Haible  <bruno@clisp.org>
44480
44481         Tests for module 'dup3'.
44482         * modules/dup3-tests: New file.
44483         * tests/test-dup3.c: New file.
44484
44485         New module 'dup3'.
44486         * lib/unistd.in.h (dup3): New declaration.
44487         * lib/dup3.c: New file.
44488         * m4/dup3.m4: New file.
44489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
44490         HAVE_DUP3.
44491         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
44492         * modules/dup3: New file.
44493         * doc/glibc-functions/dup3.texi: Mention the new module.
44494
44495 2009-08-23  Bruno Haible  <bruno@clisp.org>
44496
44497         Tweak the dup2 test.
44498         * tests/test-dup2.c (main): Create the test file empty. Verify that an
44499         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
44500         the test file is still empty. Fix argument order of lseek.
44501
44502 2009-08-23  Bruno Haible  <bruno@clisp.org>
44503
44504         Avoid test link errors when the modules getopt-gnu, gettext are used.
44505         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
44506         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44507
44508 2009-08-23  Bruno Haible  <bruno@clisp.org>
44509
44510         Fix getdtablesize() on mingw.
44511         * lib/getdtablesize.c (getdtablesize): Implement differently.
44512         * lib/unistd.in.h (getdtablesize): Improve comment.
44513
44514 2009-08-23  Bruno Haible  <bruno@clisp.org>
44515
44516         New module 'mkostemp'.
44517         Based on Ulrich Drepper's 2007-08-10 change in glibc.
44518         * lib/stdlib.in.h (mksotemp): New declaration.
44519         * lib/mkostemp.c: New file, from glibc with modifications.
44520         * lib/tempname.h (GT_FILE): Remove outdated comment.
44521         (gen_tempname): Add flags argument.
44522         * lib/tempname.c (__GT_BIGFILE): Remove macro.
44523         (__GT_FILE): Map to 1.
44524         (small_open, large_open): Remove macros.
44525         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
44526         * lib/mkstemp.c (mkstemp): Update.
44527         * lib/mkdtemp.c (mkdtemp): Likewise.
44528         * m4/mkostemp.m4: New file.
44529         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
44530         HAVE_MKOSTEMP.
44531         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
44532         HAVE_MKOSTEMP.
44533         * modules/mkostemp: New file, based on modules/mkstemp.
44534         * doc/glibc-functions/mkostemp.texi: Mention the new module.
44535         * NEWS: Mention the change.
44536
44537 2009-08-23  Bruno Haible  <bruno@clisp.org>
44538
44539         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
44540         Reported by Eric Blake.
44541
44542 2009-08-23  Bruno Haible  <bruno@clisp.org>
44543
44544         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
44545         Reported by Eric Blake.
44546
44547 2009-08-23  Bruno Haible  <bruno@clisp.org>
44548
44549         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
44550         * modules/pipe2 (Depends-on): Likewise.
44551
44552 2009-08-23  Eric Blake  <ebb9@byu.net>
44553
44554         fcntl-h: add O_TTY_INIT support
44555         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
44556         * tests/test-fcntl-h.c (o): Test it.
44557         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
44558
44559         fcntl-h: rename from fcntl, in preparation for fcntl(2)
44560         * modules/fcntl: Move <fcntl.h> header replacement...
44561         * modules/fcntl-h: ...to new name, so as not to collide with
44562         like-named function.
44563         * tests/test-fcntl.c: Rename...
44564         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
44565         * modules/fcntl-tests: Rename...
44566         * modules/fcntl-h-tests: ...to this.  Update test file name.
44567         * modules/chdir-long (Depends-on): Update clients.
44568         * modules/chdir-safer (Depends-on): Likewise.
44569         * modules/fcntl-safer (Depends-on): Likewise.
44570         * modules/fts (Depends-on): Likewise.
44571         * modules/mkancesdirs (Depends-on): Likewise.
44572         * modules/mkdir-p (Depends-on): Likewise.
44573         * modules/open (Depends-on): Likewise.
44574         * modules/savewd (Depends-on): Likewise.
44575         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
44576         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
44577
44578 2009-08-22  Bruno Haible  <bruno@clisp.org>
44579
44580         * modules/binary-io (License): Relicense under LGPL.
44581         * modules/pipe2 (License): Likewise.
44582
44583 2009-08-22  Bruno Haible  <bruno@clisp.org>
44584
44585         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
44586         return value.
44587         * lib/pipe-filter-gi.c (filter_init): Likewise.
44588         Reported by Eric Blake.
44589
44590 2009-08-22  Bruno Haible  <bruno@clisp.org>
44591
44592         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
44593         * modules/pipe (Depends-on): Add pipe2.
44594
44595 2009-08-22  Bruno Haible  <bruno@clisp.org>
44596
44597         Tests for module 'pipe2'.
44598         * modules/pipe2-tests: New file.
44599         * tests/test-pipe2.c: New file.
44600
44601         New module 'pipe2'.
44602         * lib/unistd.in.h (pipe2): New declaration.
44603         * lib/pipe2.c: New file.
44604         * m4/pipe2.m4: New file.
44605         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
44606         HAVE_PIPE2.
44607         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
44608         * modules/pipe2: New file.
44609         * doc/glibc-functions/pipe2.texi: Mention the new module.
44610
44611 2009-08-22  Bruno Haible  <bruno@clisp.org>
44612
44613         Reference some new glibc functions.
44614         * doc/glibc-functions/accept4.texi: New file.
44615         * doc/glibc-functions/dup3.texi: New file.
44616         * doc/glibc-functions/mkostemp.texi: New file.
44617         * doc/glibc-functions/pipe2.texi: New file.
44618         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
44619         (Glibc sys/socket.h): Refer to accept4.
44620         (Glibc unistd.h): Refer to dup3, pipe2.
44621         Reported by Eric Blake.
44622
44623 2009-08-22  Jim Meyering  <meyering@redhat.com>
44624             Bruno Haible  <bruno@clisp.org>
44625
44626         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
44627         This makes it so packages using automake-1.11's silent-rules option
44628         can print e.g., a single "GEN    configmake.h" line, rather than
44629         the 30+ statements that perform the job.  If you want to see the
44630         actual commands, you can still run "make V=1".
44631         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
44632         so that make output is abbreviated when those variables are defined
44633         appropriately.
44634         * modules/argz: Likewise.
44635         * modules/arpa_inet: Likewise.
44636         * modules/byteswap: Likewise.
44637         * modules/configmake: Likewise.
44638         * modules/dirent: Likewise.
44639         * modules/errno: Likewise.
44640         * modules/fcntl: Likewise.
44641         * modules/float: Likewise.
44642         * modules/fnmatch: Likewise.
44643         * modules/getopt-posix: Likewise.
44644         * modules/glob: Likewise.
44645         * modules/iconv_open: Likewise.
44646         * modules/inttypes: Likewise.
44647         * modules/localcharset: Likewise.
44648         * modules/locale: Likewise.
44649         * modules/math: Likewise.
44650         * modules/netdb: Likewise.
44651         * modules/netinet_in: Likewise.
44652         * modules/poll: Likewise.
44653         * modules/posix_spawnp-tests: Likewise.
44654         * modules/sched: Likewise.
44655         * modules/search: Likewise.
44656         * modules/selinux-h: Likewise.
44657         * modules/signal: Likewise.
44658         * modules/spawn: Likewise.
44659         * modules/stdarg: Likewise.
44660         * modules/stdbool: Likewise.
44661         * modules/stddef: Likewise.
44662         * modules/stdint: Likewise.
44663         * modules/stdio: Likewise.
44664         * modules/stdlib: Likewise.
44665         * modules/string: Likewise.
44666         * modules/strings: Likewise.
44667         * modules/sys_file: Likewise.
44668         * modules/sys_ioctl: Likewise.
44669         * modules/sys_select: Likewise.
44670         * modules/sys_socket: Likewise.
44671         * modules/sys_stat: Likewise.
44672         * modules/sys_time: Likewise.
44673         * modules/sys_times: Likewise.
44674         * modules/sys_utsname: Likewise.
44675         * modules/sys_wait: Likewise.
44676         * modules/sysexits: Likewise.
44677         * modules/time: Likewise.
44678         * modules/unistd: Likewise.
44679         * modules/wchar: Likewise.
44680         * modules/wctype: Likewise.
44681
44682 2009-08-22  Jim Meyering  <meyering@redhat.com>
44683
44684         announce-gen: detect write failure
44685         * build-aux/announce-gen: Add Coda at end.
44686         Remove equivalent-but-more-verbose block at top.
44687
44688 2009-08-19  Akim Demaille  <demaille@gostai.com>
44689
44690         bootstrap: --help to stdout.
44691         * bootstrap (usage): Don't send --help to stderr.
44692         Use a here doc instead of a long string.
44693
44694 2009-08-21  Eric Blake  <ebb9@byu.net>
44695
44696         test-popen-safer: split from test-popen
44697         * tests/test-popen.c (main): Move...
44698         * tests/test-popen.h: ...into new file.
44699         * tests/test-popen-safer2.c: New file.
44700         * modules/popen-tests (Files): Add test-popen.h.
44701         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
44702         Suggested by Bruno Haible.
44703
44704         test-fcntl-safer: split from test-open
44705         * tests/test-open.c (main): Move...
44706         * tests/test-open.h: ...into new file.
44707         * tests/test-fcntl-safer.c: New file.
44708         * modules/open-tests (Files): Add test-open.h.
44709         * modules/fcntl-safer-tests: New file.
44710         Suggested by Bruno Haible.
44711
44712         test-fopen-safer: split from test-fopen
44713         * tests/test-fopen.c (main): Move...
44714         * tests/test-fopen.h: ...into new file.
44715         * tests/test-fopen-safer.c: New file.
44716         * modules/fopen-tests (Files): Add test-fopen.h.
44717         * modules/fopen-safer-tests: New file.
44718         Suggested by Bruno Haible.
44719
44720 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44721
44722         popen-safer: test O_CLOEXEC at run-time.
44723         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
44724
44725 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44726
44727         fcntl: move more flags to the header
44728         * lib/cloexec.c: Do not define FD_CLOEXEC here.
44729         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
44730         * lib/fcntl.in.h: Do both things here.
44731
44732 2009-08-21  Jim Meyering  <meyering@redhat.com>
44733
44734         consistently remove $@-t before redirecting to it
44735         * modules/argz: Remove $@-t and $@ before redirecting to the former.
44736         * modules/alloca-opt: Likewise.
44737         * modules/byteswap: Likewise.
44738         * modules/fnmatch: Likewise.
44739         * modules/getopt-posix: Likewise.
44740         * modules/glob: Likewise.
44741         * modules/poll: Likewise.
44742         * modules/posix_spawnp-tests: Likewise.
44743         * modules/sys_socket: Likewise.
44744         * modules/sysexits: Likewise.
44745
44746 2009-08-21  Eric Blake  <ebb9@byu.net>
44747
44748         popen: simplify access to original popen
44749         * lib/popen.c (rpl_popen): No need to worry about popen being a
44750         macro.
44751         Reported by Bruno Haible.
44752
44753 2009-08-20  Eric Blake  <ebb9@byu.net>
44754
44755         build: avoid some compiler warnings
44756         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
44757         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
44758         type.
44759         (new_exclude_segment, excluded_file_pattern_p)
44760         (excluded_file_name_p): Reduce scope.
44761         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
44762         old-style declaration.
44763
44764 2009-08-20  Simon Josefsson  <simon@josefsson.org>
44765
44766         * tests/test-exclude1.sh: Handle Windows EOL.
44767         * tests/test-exclude2.sh: Likewise.
44768         * tests/test-exclude3.sh: Likewise.
44769         * tests/test-exclude4.sh: Likewise.
44770         * tests/test-exclude5.sh: Likewise.
44771         * tests/test-exclude6.sh: Likewise.
44772         * tests/test-exclude7.sh: Likewise.
44773
44774 2009-08-19  Akim Demaille  <demaille@gostai.com>
44775
44776         bootstrap: find sha1sum when named gsha1sum.
44777         * bootstrap (find_tool): New.
44778         ($SHA1SUM): New.
44779         Use it.
44780
44781 2009-08-20  Jim Meyering  <meyering@redhat.com>
44782
44783         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
44784         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
44785         expression that converts "." in a file name to "\." in the resulting
44786         regexp.  Start with a dummy statement, so that prior shell variable
44787         definitions are expanded portably.  Reported by Simon Josefsson.
44788
44789 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
44790
44791         Fix polling for writeability of a screen buffer.
44792         * lib/poll.c: Distinguish input and screen buffers for the
44793         Win32 implementation.
44794         * lib/select.c: Likewise.
44795
44796 2009-08-19  Eric Blake  <ebb9@byu.net>
44797
44798         popen-safer: prevent popen from clobbering std descriptors
44799         * modules/popen-safer: New file.
44800         * lib/popen-safer.c: Likewise.
44801         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
44802         * lib/stdio--.h (popen): Provide override.
44803         * lib/stdio-safer.h (popen_safer): Provide declaration.
44804         * tests/test-popen.c (includes): Partially test this.
44805         * modules/popen-safer-tests: New file, for more tests.
44806         * tests/test-popen-safer.c: Likewise.
44807         * MODULES.html.sh (file stream based Input/Output): Mention it.
44808
44809         tests: test some of the *-safer modules
44810         * modules/fopen-safer (Depends-on): Add fopen.
44811         * modules/fcntl-safer (Depends-on): Add fcntl.
44812         * modules/stdlib-safer (Depends-on): Add stdlib.
44813         (configure.ac): Set indicator.
44814         * modules/unistd-safer (configure.ac): Likewise.
44815         * modules/tmpfile-safer (configure.ac): Likewise.
44816         (Depends-on): Add tmpfile.
44817         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
44818         active.
44819         * tests/test-fopen.c (includes): Test safer versions when they are
44820         in use.
44821         * tests/test-open.c (includes): Likewise.
44822
44823         popen: fix cygwin 1.5 bug when stdin closed
44824         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
44825         * modules/popen: New file.
44826         * modules/popen-tests: Likewise.
44827         * tests/test-popen.c: Likewise.
44828         * m4/popen.m4: Likewise.
44829         * lib/popen.c: Likewise.
44830         * lib/stdio.in.h (popen): New declaration.
44831         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
44832         * modules/stdio (Makefile.am): Likewise.
44833         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
44834
44835 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
44836
44837         maint.mk: give full control over update-copyright exclusions
44838         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
44839         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
44840         (update-copyright): Don't force inclusion of top-level
44841         ChangeLog.  Don't force exclusion of all COPYING files, but make
44842         them the default exclusion instead.
44843
44844 2009-08-16  Bruno Haible  <bruno@clisp.org>
44845
44846         Fix test failures on Solaris 10.
44847         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
44848         tests when Solaris iconv() is used.
44849         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
44850         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
44851         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
44852         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
44853         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
44854
44855 2009-08-16  Bruno Haible  <bruno@clisp.org>
44856
44857         Fix test failures on Solaris 10.
44858         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
44859         'tr' program and pass it as first argument.
44860         * tests/test-pipe-filter-gi1.sh: Likewise.
44861         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
44862         program as first argument.
44863         * tests/test-pipe-filter-gi1.c (main): Likewise.
44864
44865 2009-08-16  Eric Blake  <ebb9@byu.net>
44866
44867         fpurge: fix previous commits
44868         * modules/fpurge (Makefile.am): Make replacement conditional,
44869         partially reverting 2007-04-29 change; missed in previous
44870         attempt.
44871         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
44872         is missing.
44873
44874 2009-08-16  Bruno Haible  <bruno@clisp.org>
44875
44876         Clarify fpurge's effect on the file position.
44877         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
44878         * tests/test-fpurge.c (main): Make a second pass for checking the file
44879         position.
44880
44881 2009-08-16  Bruno Haible  <bruno@clisp.org>
44882
44883         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
44884         declaration of fpurge is missing.
44885         * tests/test-fpurge.c (main): Check that the file has not more contents
44886         than expected. Close the file before removing it.
44887
44888 2009-08-15  Eric Blake  <ebb9@byu.net>
44889
44890         fpurge: don't wrap working cygwin implementation
44891         * lib/fpurge.c (fpurge): Fix comment typo.
44892         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
44893         1.7 to avoid replacement.
44894         * tests/test-fpurge.c (main): Enhance test.
44895
44896 2009-08-15  Eric Blake  <ebb9@byu.net>
44897         and Jim Meyering  <meyering@redhat.com>
44898
44899         test-update-copyright: skip if perl is insufficient
44900         * tests/test-update-copyright.sh: Failure to run maintainer tool
44901         should not cause testsuite failure on cygwin 1.5.
44902
44903 2009-08-14  Eric Blake  <ebb9@byu.net>
44904
44905         doc: mention more functions added in cygwin 1.7.0
44906         * doc/posix-headers/limits.texi (limits.h): Update for recent
44907         cygwin additions.
44908         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
44909         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
44910         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
44911         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
44912         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
44913
44914 2009-08-14  Eric Blake  <ebb9@byu.net>
44915
44916         maint.mk: simplify update-copyright rule
44917         * top/maint.mk (update-copyright-local): Delete, and document how
44918         to do it in cfg.mk instead.
44919         (update-copyright-exclude-regexp): Delete, and document how to do
44920         it in .x-update-copyright instead.
44921         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
44922         exclude ChangeLog.
44923
44924 2009-08-14  Bruno Haible  <bruno@clisp.org>
44925
44926         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
44927
44928 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44929
44930         maint.mk: support update-copyright-env
44931         * top/maint.mk (update-copyright-env): Define place-holder.
44932         (update-copyright): Expand $(update-copyright-env) before
44933         invoking update-copyright.
44934
44935 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44936
44937         update-copyright: implement forced reformatting
44938         * build-aux/update-copyright: Implement and document
44939         UPDATE_COPYRIGHT_FORCE.
44940         * tests/test-update-copyright.sh: Test it.
44941
44942 2009-08-14  Eric Blake  <ebb9@byu.net>
44943         and Bruno Haible  <bruno@clisp.org>
44944
44945         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
44946         * tests/test-locale.c: Revert previous patch related to NULL.
44947         * tests/test-stdio.c: Likewise.
44948         * tests/test-stdlib.c: Likewise.
44949         * tests/test-string.c: Likewise.
44950         * tests/test-unistd.c: Likewise.
44951         * modules/time-tests (Depends-on): Add verify.
44952         * modules/wchar-tests (Depends-on): Likewise.
44953         * tests/test-time.c: Test for NULL compliance.
44954         * tests/test-wchar.c: Likewise.
44955         * modules/locale (Depends-on): Add stddef.
44956         * modules/stdio (Depends-on): Likewise.
44957         * modules/stdlib (Depends-on): Likewise.
44958         * modules/string (Depends-on): Likewise.
44959         * modules/time (Depends-on): Likewise.
44960         * modules/unistd (Depends-on): Likewise.
44961         * modules/wchar (Depends-on): Likewise.
44962         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
44963         * lib/stdlib.in.h (includes): Likewise.
44964         * lib/string.in.h (includes): Likewise.
44965         * lib/time.in.h (includes): Likewise.
44966         * lib/unistd.in.h (includes): Likewise.
44967         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
44968         replaced.
44969         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44970         * m4/stddef_h.m4: New file.
44971         * modules/stddef: Likewise.
44972         * lib/stddef.in.h: Likewise.
44973         * modules/stddef-tests: Likewise.
44974         * tests/test-stddef.c: Likewise.
44975         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
44976         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
44977         * doc/posix-headers/locale.texi (locale.h): Likewise.
44978         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
44979         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
44980         * doc/posix-headers/string.texi (string.h): Likewise.
44981         * doc/posix-headers/time.texi (time.h): Likewise.
44982         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
44983         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
44984
44985 2009-08-14  Eric Blake  <ebb9@byu.net>
44986
44987         doc: improve git diff of texinfo files
44988         * .gitattributes: Add rule for *.texi files, with hint on how to
44989         use it.
44990         Copied from m4, and based on a report by Bruno Haible.
44991
44992 2009-08-14  Bruno Haible  <bruno@clisp.org>
44993
44994         Disable multithread support by default on Cygwin 1.5.x for real.
44995         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
44996
44997 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44998
44999         update-copyright: much ado about intervals
45000         * build-aux/update-copyright: Implement and document
45001         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
45002         of copyright year intervals.
45003         Also, document UPDATE_COPYRIGHT_YEAR.
45004         * tests/test-update-copyright.sh: Test it.
45005
45006         update-copyright: convert 2-digit to 4-digit years
45007         * build-aux/update-copyright: Implement and document.
45008         * tests/test-update-copyright.sh: Update.
45009
45010 2009-08-14  Jim Meyering  <meyering@redhat.com>
45011
45012         test-exclude: avoid coreutils "make check" failure
45013         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
45014         just as in test-argmatch.c.
45015
45016 2009-08-13  Eric Blake  <ebb9@byu.net>
45017
45018         test-dup2: fix bad assumption
45019         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
45020         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
45021
45022         test-version-etc: fix CRLF portability issue
45023         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
45024         recognize \r.
45025         * tests/test-argp-version-etc-1.sh: Likewise.
45026
45027         getopt: update client modules
45028         * modules/argp (Depends-on): Use getopt-gnu.
45029         * modules/git-merge-changelog (Depends-on): Likewise.
45030         * modules/long-options (Depends-on): Likewise.
45031         * modules/xstrtol (Depends-on): Likewise.
45032
45033 2009-08-13  Simon Josefsson  <simon@josefsson.org>
45034
45035         * tests/test-version-etc.sh: Don't fail on different
45036         project/version.  Don't fail on CRLF differences.  Rewrite to use
45037         multiple -e instead of multiple sed forks, suggested by Eric Blake
45038         <ebb9@byu.net>.
45039         * tests/test-argp-version-etc-1.sh: Likewise.
45040
45041 2009-08-13  Simon Josefsson  <simon@josefsson.org>
45042
45043         * tests/test-version-etc.sh: Don't fail on different
45044         project/version.
45045
45046 2009-08-12  Bruno Haible  <bruno@clisp.org>
45047
45048         Tests for modules 'getopt-posix', 'getopt-gnu'.
45049         * modules/getopt-posix-tests: New file.
45050         * tests/test-getopt.c: New file.
45051         * tests/test-getopt.h: New file.
45052         * tests/test-getopt_long.h: New file.
45053
45054         New modules 'getopt-posix', 'getopt-gnu'.
45055         * modules/getopt-gnu: New file, renamed from modules/getopt.
45056         * modules/getopt-posix: New file.
45057         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
45058         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
45059         (gl_GETOPT): Remove macro.
45060         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
45061         Disable the test against BSD systems that declare optreset. Test
45062         against mingw bug. Test against lack of support of optional arguments
45063         on many platforms.
45064         * doc/glibc-headers/getopt.texi: Update module name and list of
45065         relevant platforms.
45066         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
45067         'getopt-gnu' and more portability problems.
45068         * NEWS: Mention the changes.
45069
45070 2009-08-12  Bruno Haible  <bruno@clisp.org>
45071
45072         Ensure that optarg etc. get declared by <unistd.h>.
45073         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
45074         AC_USE_SYSTEM_EXTENSIONS.
45075         * modules/getopt (Depends-on): Add 'extensions'.
45076
45077 2009-08-12  Bruno Haible  <bruno@clisp.org>
45078
45079         Avoid test link errors.
45080         * modules/pipe-filter-ii-tests (Makefile.am): Define
45081         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
45082         * modules/pipe-filter-gi-tests (Makefile.am): Define
45083         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
45084         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45085
45086 2009-08-12  Bruno Haible  <bruno@clisp.org>
45087
45088         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
45089         gl_GETOPT_SUBSTITUTE before.
45090         (gl_GETOPT): Use it.
45091         * m4/argp.m4 (gl_ARGP): Update.
45092         Reported by Sergey Poznyakoff.
45093
45094         * m4/getopt.m4: Reorder macros.
45095         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
45096         (gl_GETOPT_SUBSTITUTE): Remove macro.
45097
45098 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45099
45100         Minor improvement in gitlog-to-changelog
45101
45102         * build-aux/gitlog-to-changelog: New option `--format' makes
45103         output format string configurable.
45104
45105 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45106
45107         Optimize exclude: use hash tables for non-wildcard patterns.
45108
45109         * lib/exclude.c: Include hash.h and mbuiter.h
45110         (struct exclude_pattern, exclude_segment): New data types.
45111         (struct exclude): Rewrite.
45112         (fnmatch_pattern_has_wildcards): New function.
45113         (new_exclude_segment, free_exclude_segment): New functions.
45114         (excluded_file_pattern_p, excluded_file_name_p): New functions.
45115         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
45116         * lib/exclude.h (is_fnmatch_pattern): New prototype.
45117         * modules/exclude: Depend on hash and mbuiter.
45118
45119         * modules/exclude-tests: New file.
45120         * tests/test-exclude.c: New file.
45121         * tests/test-exclude1.sh: New file.
45122         * tests/test-exclude2.sh: New file.
45123         * tests/test-exclude3.sh: New file.
45124         * tests/test-exclude4.sh: New file.
45125         * tests/test-exclude5.sh: New file.
45126         * tests/test-exclude6.sh: New file.
45127         * tests/test-exclude7.sh: New file.
45128
45129 2009-08-12  Bruno Haible  <bruno@clisp.org>
45130
45131         Ensure that getopt() gets declared by <unistd.h>.
45132         * lib/unistd.in.h: Conditionally include getopt.h.
45133         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
45134         Set GNULIB_UNISTD_H_GETOPT.
45135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45136         GNULIB_UNISTD_H_GETOPT.
45137         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
45138
45139 2009-08-12  Bruno Haible  <bruno@clisp.org>
45140
45141         Clarify logic.
45142         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
45143         gl_replace_getopt instead of GETOPT_H.
45144
45145 2009-08-12  Bruno Haible  <bruno@clisp.org>
45146
45147         * m4/getopt.m4: Add comments.
45148
45149 2009-08-12  Bruno Haible  <bruno@clisp.org>
45150
45151         Disable multithread support by default on Cygwin 1.5.x.
45152         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
45153         set gl_use_threads=no if not specified otherwise.
45154
45155 2009-08-11  Bruno Haible  <bruno@clisp.org>
45156
45157         Avoid compilation error on NetBSD 5.0.
45158         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
45159         * tests/test-stdio.c: Likewise.
45160         * tests/test-stdlib.c: Likewise.
45161         * tests/test-string.c: Likewise.
45162         * tests/test-unistd.c: Likewise.
45163         Reported by Greg Troxel <gdt@ir.bbn.com>
45164         at <https://savannah.gnu.org/support/?106973>.
45165
45166 2009-08-11  Bruno Haible  <bruno@clisp.org>
45167
45168         * modules/dup2-tests (Depends-on): Remove close.
45169
45170         Undo 2009-07-19 commit.
45171         * modules/acl-tests (Depends-on): Remove close.
45172         * modules/binary-io-tests (Depends-on): Likewise.
45173         * modules/closein-tests (Depends-on): Likewise.
45174         * modules/flock-tests (Depends-on): Likewise.
45175         * modules/fsync-tests (Depends-on): Likewise.
45176         * modules/lseek-tests (Depends-on): Likewise.
45177         * modules/pipe-tests (Depends-on): Likewise.
45178         * modules/posix_spawn-tests (Depends-on): Likewise.
45179         * modules/posix_spawnp-tests (Depends-on): Likewise.
45180         * modules/stat-time-tests (Depends-on): Likewise.
45181         * modules/yesno-tests (Depends-on): Likewise.
45182
45183 2009-08-10  Bruno Haible  <bruno@clisp.org>
45184
45185         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
45186
45187 2009-08-10  Bruno Haible  <bruno@clisp.org>
45188
45189         Fix a gcc warning.
45190         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
45191
45192 2009-08-10  Bruno Haible  <bruno@clisp.org>
45193
45194         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
45195         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
45196         not only the first time.
45197         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
45198         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
45199         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
45200         is 1, not only the the first time.
45201
45202 2009-08-10  Bruno Haible  <bruno@clisp.org>
45203
45204         Make it possible to use module 'gethostname' without module 'close'.
45205         * lib/unistd.in.h (close): Evoke a link error only if
45206         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
45207         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45208         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45209         * modules/unistd (Makefile.am): Substitute
45210         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45211         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
45212         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
45213         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
45214         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45215         * modules/sys_ioctl (Makefile.am): Substitute
45216         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45217         * modules/socket (configure.ac): On native Windows, set
45218         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
45219         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45220         Reported by Sam Steingold <sds@gnu.org>.
45221
45222 2009-08-10  Bruno Haible  <bruno@clisp.org>
45223
45224         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
45225         * modules/ioctl (configure.ac): Likewise.
45226
45227 2009-08-10  Bruno Haible  <bruno@clisp.org>
45228
45229         Avoid collision between gnulib wrapper and libintl wrapper.
45230         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
45231         already defined in intl/printf.c.
45232         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
45233         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
45234
45235 2009-08-09  Bruno Haible  <bruno@clisp.org>
45236
45237         Make <sys/select.h> really self-contained, also on Solaris 10.
45238         * lib/sys_select.in.h: Include <string.h>.
45239         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
45240         Solaris 10 problem.
45241         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
45242         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
45243         Reported by Jim Meyering.
45244
45245 2009-08-09  Bruno Haible  <bruno@clisp.org>
45246
45247         Avoid warnings from 'aclocal' that are due to a use of macro name
45248         AM_XGETTEXT_OPTION that is not defined in automake.
45249         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
45250         automake.
45251         * modules/error (configure.ac): Likewise.
45252         * modules/propername (configure.ac): Likewise.
45253         * modules/vasprintf (configure.ac): Likewise.
45254         * modules/verror (configure.ac): Likewise.
45255         * modules/xprintf (configure.ac): Likewise.
45256         * modules/xvasprintf (configure.ac): Likewise.
45257
45258 2009-08-08  Bruno Haible  <bruno@clisp.org>
45259
45260         Avoid compilation error in C++ mode.
45261         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
45262         Reported by Sam Steingold <sds@gnu.org>.
45263
45264 2009-08-08  Bruno Haible  <bruno@clisp.org>
45265
45266         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
45267         for the various Unix platforms.
45268         * doc/posix-headers/limits.texi: Update platforms list regarding
45269         HOST_NAME_MAX.
45270         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45271
45272 2009-08-07  Jim Meyering  <meyering@redhat.com>
45273
45274         selinux-at: fix typo in a comment
45275         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
45276         Spotted by Paolo Bonzini.
45277
45278         selinux-at: remove redundant m4 code, add documentation
45279         * modules/selinux-at (configure.ac): Remove redundant code.
45280         LIB_SELINUX is already set via the dependent module, selinux-h.
45281         (Include): Add quotes around selinux-at.h.
45282         * lib/selinux-at.h: Add documentation.
45283         Reported by Bruno Haible in
45284         http://marc.info/?l=gnulib-bug&m=124958988300749
45285
45286 2009-08-07  Bruno Haible  <bruno@clisp.org>
45287
45288         Avoid link error on MacOS X 10.3 and 10.4.
45289         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
45290         on non-ELF systems.
45291         * lib/argp-pv.c (argp_program_version): Likewise.
45292         Reported by Simon Josefsson.
45293
45294 2009-08-07  Simon Josefsson  <simon@josefsson.org>
45295
45296         * tests/test-version-etc.sh: Use $EXEEXT.
45297
45298 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
45299
45300         update-copyright: update documentation to point to maint.mk
45301         * build-aux/update-copyright: Here.
45302
45303 2009-08-06  Jim Meyering  <meyering@redhat.com>
45304
45305         maint.mk: support update-copyright-local
45306         * top/maint.mk (update-copyright-local): Define place-holder.
45307         (update-copyright): Depend on $(update-copyright-local).
45308
45309 2009-08-06  Jim Meyering  <meyering@redhat.com>
45310
45311         selinux-at: new module
45312         Initially written for coreutils, this module will soon be
45313         used by findutils, too.
45314         * MODULES.html.sh [Misc]: Add selinux-at.
45315         * lib/selinux-at.h: New file, from coreutils.
45316         * lib/selinux-at.c: Likewise.
45317         * modules/selinux-at: Likewise.
45318         (License): Change from LGPL to GPL, since it depends
45319         on the GPL'd openat module.
45320
45321         doc: update README
45322         * README: Remove references to cogito.
45323         Remove cvs-repo-updating instructions from 2007.
45324         Don't imply that CVS is better if you have limited disk space.
45325
45326 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45327
45328         update-copyright: support C-style comments
45329         * build-aux/update-copyright: Implement and document.
45330         * tests/test-update-copyright.sh: Test.
45331
45332 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45333
45334         update-copyright: support omitted "(C)"
45335         * build-aux/update-copyright: Implement and document.  Also,
45336         allow variable whitespace before "(C)".
45337         * tests/test-update-copyright.sh: Test.
45338
45339 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45340
45341         update-copyright: don't trip on non-FSF copyright statements
45342         * build-aux/update-copyright: Fix so that the first correctly
45343         formatted FSF copyright statement is recognized no matter what
45344         appears before it.  Update documentation.
45345         * tests/test-update-copyright.sh: Test that.
45346
45347 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45348
45349         update-copyright: clean up code a little
45350         * build-aux/update-copyright: Append "_re" to the name of any
45351         variable holding a regular expression.
45352         Replace "old" and "new" with "stmt" in variable names.
45353         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
45354         handled correctly.
45355         Format code more consistently.
45356
45357 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45358
45359         update-copyright-tests: improve portability
45360         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
45361         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
45362
45363 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
45364
45365         update-copyright: support @copyright{} and &copy;
45366         * build-aux/update-copyright: Implement and document.
45367         * tests/test-update-copyright.sh: Test.
45368
45369 2009-08-04  Jim Meyering  <meyering@redhat.com>
45370
45371         update-copyright-tests: correctly test EOL=\r\n handling
45372         * tests/test-update-copyright.sh: Put \r at the end of some lines
45373         for the dos-eol tests.  Based on a patch by Joel E. Denny.
45374
45375         maint.mk: make update-copyright exclusion list more configurable
45376         * top/maint.mk (update-copyright): Default to excluding COPYING,
45377         but allow an override, in case someone does want to update that file.
45378
45379         maint.mk: don't update copyright date in COPYING
45380         * top/maint.mk (update-copyright): Exclude COPYING.
45381
45382         maint.mk: add a copyright-updating rule
45383         * top/maint.mk (update-copyright): New rule.
45384         Derived from coreutils/Makefile.am.
45385
45386         update-copyright: rename some variables
45387         * build-aux/update-copyright: Rename a few variables for clarity.
45388         Tweak syntax.  List Joel E. Denny as coauthor.
45389
45390 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
45391
45392         update-copyright: fix bug for 2-digit last year and add tests
45393         * build-aux/update-copyright: Fix bug.
45394         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
45395         specified.
45396         * modules/update-copyright-tests: New
45397         * tests/test-update-copyright.sh: New.
45398
45399 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45400
45401         update-copyright: handle leading tabs in line prefix
45402         * build-aux/update-copyright: Count leading tabs as 8 spaces
45403         when computing margin.  This helps with the formatting of
45404         ChangeLogs, for example.
45405         Fix documentation a little.
45406
45407 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45408
45409         update-copyright: support EOL=\r\n
45410         * build-aux/update-copyright: Implement that.
45411
45412 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45413
45414         update-copyright: automatically format copyright statements
45415         * build-aux/update-copyright: Implement that.
45416         Also, be a little more predictable and safer by always failing
45417         when the full copyright format is not perfectly recognized as an
45418         unbroken whole.  Discussed at
45419         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
45420         Rewrite documentation.
45421
45422 2009-08-03  Bruno Haible  <bruno@clisp.org>
45423
45424         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
45425
45426 2009-08-02  Bruno Haible  <bruno@clisp.org>
45427
45428         Tests for module 'uname'.
45429         * modules/uname-tests: New file.
45430         * tests/test-uname.c: New file.
45431
45432         New module 'uname'.
45433         * lib/uname.c: New file.
45434         * m4/uname.m4: New file.
45435         * modules/uname: New file.
45436         * doc/posix-functions/uname.texi: Mention the new module.
45437
45438 2009-08-02  Bruno Haible  <bruno@clisp.org>
45439
45440         Tests for module 'sys_utsname'.
45441         * modules/sys_utsname-tests: New file.
45442         * tests/test-sys_utsname.c: New file.
45443
45444         New module 'sys_utsname'.
45445         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
45446         * m4/sys_utsname_h.m4: New file.
45447         * modules/sys_utsname: New file.
45448         * doc/posix-headers/sys_utsname.texi: Mention the new module.
45449
45450 2009-08-02  Bruno Haible  <bruno@clisp.org>
45451
45452         Implicitly initialize the sockets library.
45453         * lib/gethostname.c: Include sockets.h.
45454         (rpl_gethostname): Invoke gl_sockets_startup.
45455         * lib/socket.c: Include sockets.h.
45456         (rpl_socket): Invoke gl_sockets_startup.
45457         * modules/gethostname (Depends-on): Add sockets.
45458         * modules/socket (Depends-on): Likewise.
45459         * tests/test-poll.c: Don't include sockets.h.
45460         (main): Don't invoke gl_sockets_startup.
45461         * tests/test-select.c: Don't include sockets.h.
45462         (main): Don't invoke gl_sockets_startup.
45463
45464 2009-08-02  Bruno Haible  <bruno@clisp.org>
45465
45466         Allow multiple calls to gl_sockets_startup.
45467         * lib/sockets.c (initialized_sockets_version): New variable.
45468         (gl_sockets_startup): Do nothing if already called for this or a higher
45469         version.
45470         (gl_sockets_cleanup): Reset initialized_sockets_version.
45471
45472 2009-08-03  Simon Josefsson  <simon@josefsson.org>
45473
45474         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
45475         different project/version.
45476
45477 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
45478             Bruno Haible  <bruno@clisp.org>
45479
45480         Tests for module 'pipe-filter-gi'.
45481         * modules/pipe-filter-gi-tests: New file.
45482         * tests/test-pipe-filter-gi1.sh: New file.
45483         * tests/test-pipe-filter-gi1.c: New file.
45484         * tests/test-pipe-filter-gi2.sh: New file.
45485         * tests/test-pipe-filter-gi2-main.c: New file.
45486         * tests/test-pipe-filter-gi2-child.c: New file.
45487
45488         New module 'pipe-filter-gi'.
45489         * lib/pipe-filter-gi.c: New file.
45490         * modules/pipe-filter-gi: New file.
45491
45492 2009-08-02  Bruno Haible  <bruno@clisp.org>
45493             Paolo Bonzini  <bonzini@gnu.org>
45494
45495         Tests for module 'pipe-filter-ii'.
45496         * modules/pipe-filter-ii-tests: New file.
45497         * tests/test-pipe-filter-ii1.sh: New file.
45498         * tests/test-pipe-filter-ii1.c: New file.
45499         * tests/test-pipe-filter-ii2.sh: New file.
45500         * tests/test-pipe-filter-ii2-main.c: New file.
45501         * tests/test-pipe-filter-ii2-child.c: New file.
45502
45503         New module 'pipe-filter-ii'.
45504         * lib/pipe-filter.h: New file.
45505         * lib/pipe-filter-ii.c: New file.
45506         * lib/pipe-filter-aux.h: New file.
45507         * modules/pipe-filter-ii: New file.
45508
45509 2009-08-02  Simon Josefsson  <simon@josefsson.org>
45510
45511         * lib/gc-libgcrypt.c: Change copyright to FSF.
45512         * lib/gc-gnulib.c: Likewise.
45513
45514 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
45515
45516         * lib/gethostname.c: Include limits.h.
45517
45518 2009-08-02  Simon Josefsson  <simon@josefsson.org>
45519             Bruno Haible  <bruno@clisp.org>
45520
45521         Ensure HOST_NAME_MAX as part of the gethostname module.
45522         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
45523         define also HOST_NAME_MAX.
45524         * tests/test-gethostname.c: Include <limits.h>.
45525         (main): Check also HOST_NAME_MAX.
45526         * doc/posix-headers/limits.texi: Document the mingw problem.
45527
45528 2009-08-02  Bruno Haible  <bruno@clisp.org>
45529
45530         * lib/gethostname.c (gethostname): Fix handling of large len argument.
45531         Add comments.
45532
45533 2009-03-31  Simon Josefsson  <simon@josefsson.org>
45534
45535         * lib/gethostname.c: Add Windows wrapper.
45536         * m4/gethostname.m4: Look for gethostname in -lws2_32.
45537         * modules/gethostname: Depend on sys_socket & errno, for also
45538         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
45539         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
45540
45541 2009-07-31  Jim Meyering  <meyering@redhat.com>
45542
45543         getloadavg: fix symbol name in comment
45544         * lib/getloadavg.c: Correct a typo I introduced when adding
45545         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
45546         Matt Kraai spotted the problem.
45547
45548 2009-07-29  Matt Kraai  <mkraai@beckman.com>
45549
45550         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
45551         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
45552         code also if ! defined N_NAME_POINTER.
45553         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
45554         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
45555         but the n_name member is a 12-byte array.
45556
45557 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
45558
45559         update-copyright: generalize comment handling
45560         * build-aux/update-copyright: Handle copyright statements
45561         within more comment styles.
45562         Document usage.
45563         Report any file with an external copyright holder or parse failure.
45564
45565 2009-07-29  Jim Meyering  <meyering@redhat.com>
45566
45567         mktime: correct setting of REPLACE_MKTIME
45568         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
45569
45570         update-copyright: new module
45571         * modules/update-copyright: New file.
45572         * build-aux/update-copyright: New file.
45573         * MODULES.html.sh (maint+release support): Add update-copyright.
45574
45575 2009-07-27  Bruno Haible  <bruno@clisp.org>
45576
45577         Fix compilation error when <ctime> is used and mktime is replaced.
45578         * lib/time.in.h (mktime): New declaration.
45579         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
45580         REPLACE_MKTIME instead of defining mktime in config.h.
45581         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
45582         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
45583         Reported by Ross McFarland <rwmcfa1@neces.com>.
45584
45585 2009-07-27  Bruno Haible  <bruno@clisp.org>
45586
45587         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
45588         Reported by Matt Kraai <mkraai@beckman.com>.
45589
45590 2009-07-25  Jim Meyering  <meyering@redhat.com>
45591
45592         maint.mk: avoid warnings about missing files
45593         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
45594         diagnostic when .prev-version does not exist.
45595         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
45596         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
45597         nonexistent cfg.mk.
45598         Suggestions from Simon Josefsson.
45599
45600 2009-07-25  Bruno Haible  <bruno@clisp.org>
45601
45602         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
45603         defined as macros. Needed on QNX 6.4.1.
45604         Reported by Matt Kraai <mkraai@beckman.com>.
45605
45606 2009-07-23  Jim Meyering  <meyering@redhat.com>
45607
45608         maint.mk: invoke "make dist" with a working value of XZ_OPT
45609         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
45610
45611 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
45612
45613         Make fseeko.c compile on QNX.
45614         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
45615
45616 2009-07-22  Peter Simons  <simons@cryp.to>
45617
45618         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
45619         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
45620         * lib/md4.h: Likewise.
45621         * lib/md5.h: Likewise.
45622         * lib/sha1.h: Likewise.
45623         * lib/sha256.h: Likewise.
45624         * lib/sha512.h: Likewise.
45625
45626         tests-sha1: don't assign literal string to 'char *' variable
45627         * tests/test-sha1.c (main): Declare locals with "const" to match
45628         attributes of the right hand side.
45629
45630 2009-07-21  Eric Blake  <ebb9@byu.net>
45631
45632         dup2: fix more mingw problems
45633         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
45634         fd to itself.
45635         * doc/posix-functions/dup2.texi (dup2): Document the bug.
45636         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
45637         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
45638         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
45639         care of mingw bugs.
45640
45641 2009-07-21  Jim Meyering  <meyering@redhat.com>
45642
45643         vc-list-files: avoid failure when /bin/sh is dash
45644         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
45645         On some Debian based systems, /bin/sh is a symlink to dash, and running
45646         this command would omit the "/" following each 'tests' prefix:
45647           dash -x build-aux/vc-list-files -C . tests
45648         That is because bash and dash work differently:
45649           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
45650           bash ok
45651           dash odd
45652
45653 2009-07-21  Eric Blake  <ebb9@byu.net>
45654
45655         dup2-tests: test previous patch
45656         * modules/dup2-tests: New file.
45657         * tests/test-dup2.c: Likewise.
45658         * tests/test-open.c (main): Avoid unspecified behavior.
45659         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
45660         test.
45661
45662         dup2: work around mingw and cygwin 1.5 bug
45663         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
45664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45665         * modules/unistd (Makefile.am): Substitute it.
45666         * lib/unistd.in.h (dup2): Declare the replacement.
45667         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
45668         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
45669         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
45670         * modules/execute (Depends-on): Add dup2.
45671         * modules/fseterr (Depends-on): Likewise.
45672         * modules/pipe (Depends-on): Likewise.
45673         * modules/posix_spawn-internal (Depends-on): Likewise.
45674
45675 2009-07-21  Bruno Haible  <bruno@clisp.org>
45676
45677         * modules/.gitattributes: New file.
45678
45679 2009-07-20  Bruno Haible  <bruno@clisp.org>
45680
45681         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
45682         (main): Use it.
45683
45684 2009-07-20  Eric Blake  <ebb9@byu.net>
45685
45686         test-pipe: make a bit more robust.
45687         * tests/test-pipe.c (myerr): Allow error messages regardless of
45688         what we do to stderr.
45689         (test_pipe): Rearrange to avoid deadlock.
45690         (child_main): Try a larger read, to ensure we avoided deadlock.
45691         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
45692         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
45693         if misused.
45694
45695 2009-07-19  Jim Meyering  <meyering@redhat.com>
45696
45697         fts: avoid false-positive cycle-detection
45698         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
45699         for each new command line argument.
45700
45701 2009-07-19  Bruno Haible  <bruno@clisp.org>
45702
45703         Fix build error on mingw with the modules sys_select and unistd.
45704         * modules/acl-tests (Depends-on): Add close.
45705         * modules/binary-io-tests (Depends-on): Likewise.
45706         * modules/closein-tests (Depends-on): Likewise.
45707         * modules/flock-tests (Depends-on): Likewise.
45708         * modules/fsync-tests (Depends-on): Likewise.
45709         * modules/lseek-tests (Depends-on): Likewise.
45710         * modules/pipe-tests (Depends-on): Likewise.
45711         * modules/posix_spawn-tests (Depends-on): Likewise.
45712         * modules/posix_spawnp-tests (Depends-on): Likewise.
45713         * modules/stat-time-tests (Depends-on): Likewise.
45714         * modules/yesno-tests (Depends-on): Likewise.
45715
45716 2009-07-19  Bruno Haible  <bruno@clisp.org>
45717
45718         Unify conditionals.
45719         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
45720         macros, not at the compiler macros.
45721         * lib/pipe.c: Likewise.
45722         * lib/execute.c: Likewise.
45723         * lib/spawni.c: Likewise.
45724
45725 2009-07-19  Bruno Haible  <bruno@clisp.org>
45726
45727         Fix handling of closed stdin/stdout/stderr on mingw.
45728         * lib/w32spawn.h: Include unistd.h.
45729         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
45730         file descriptor with O_NOINHERIT flag.
45731         (fd_safer_noinherit): New function, based on fd-safer.c.
45732         (dup_safer_noinherit): New function, based on dup-safer.c.
45733         (undup_safer_noinherit): New function.
45734         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
45735         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
45736         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
45737         instead of fd_safer.
45738         * tests/test-pipe.c: Include <windows.h>.
45739         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
45740         result.
45741
45742         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
45743         from main.
45744         (test_pipe): Pass an extra argument for disambiguation.
45745         (main): Invoke parent_main or child_main.
45746
45747         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
45748         consistently.
45749
45750 2009-07-18  Eric Blake  <ebb9@byu.net>
45751
45752         test-pipe: fix mingw build
45753         * tests/test-pipe.c (main): Avoid fcntl on mingw.
45754
45755 2009-07-18  Bruno Haible  <bruno@clisp.org>
45756
45757         * modules/pipe-tests (Makefile.am): Fix typo.
45758
45759 2009-07-18  Eric Blake  <ebb9@byu.net>
45760
45761         error: fix mingw build
45762         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
45763         Reported by Bruno Haible.
45764
45765         error: avoid undefined use of stdout
45766         * lib/error.c (error, error_at_line): Check that fd 1 is open
45767         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
45768         is handling faults and the close_stdout module wants to report the
45769         detection of closed stdout as an error.
45770
45771 2009-07-17  Eric Blake  <ebb9@byu.net>
45772
45773         pipe: be robust in face of closed fds
45774         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
45775         should cause child to misbehave.
45776         * modules/pipe-tests: New module.
45777         * tests/test-pipe.c: New file.
45778         * tests/test-pipe.sh: New file.
45779         Reported by Akim Demaille.
45780
45781 2009-07-14  Bruno Haible  <bruno@clisp.org>
45782
45783         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
45784         Reported by anonymous kc.
45785
45786 2009-07-07  Jim Meyering  <meyering@redhat.com>
45787
45788         maint.mk: don't look for translatable strings in *.m4 or *.mk
45789         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
45790         when searching for translatable strings.
45791
45792 2009-07-05  Jim Meyering  <meyering@redhat.com>
45793
45794         remove superfluous parentheses in STREQ definition
45795         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
45796         * lib/getugroups.c (STREQ): Likewise.
45797         * lib/fnmatch.c (STREQ): Likewise.
45798         Spotted by Bruno Haible.
45799
45800 2009-07-04  Jim Meyering  <meyering@redhat.com>
45801
45802         argv-iter: new module
45803         * MODULES.html.sh: Add argv-iter.
45804         * lib/argv-iter.c, lib/argv-iter.h: New files.
45805         * modules/argv-iter: New file.
45806         * modules/argv-iter-tests: New file.
45807         * tests/test-argv-iter.c: Test it.
45808
45809 2009-07-04  Bruno Haible  <bruno@clisp.org>
45810
45811         Fix assertion.
45812         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
45813         contains more exact copies of a given entry than file2, leave the extra
45814         copies unpaired rather than aborting.
45815         Reported by Eric Blake.
45816
45817 2009-07-02  Bruno Haible  <bruno@clisp.org>
45818
45819         Speedup git-merge-changelog for git cherry-pick.
45820         * lib/git-merge-changelog.c (struct entries_mapping): New type.
45821         (entries_mapping_get): New function, extracted from compute_mapping.
45822         (entries_mapping_reverse_get): New function.
45823         (compute_mapping): Add a 'full' argument. Return the result in a
45824         'struct entries_mapping'.
45825         (main): Update. Access the mappings through entries_mapping_get.
45826         Reported by Eric Blake.
45827
45828 2009-07-02  Bruno Haible  <bruno@clisp.org>
45829
45830         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
45831         best_i.
45832
45833 2009-07-02  Bruno Haible  <bruno@clisp.org>
45834
45835         Speed up approximate search for matching ChangeLog entries.
45836         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
45837         argument. Call fstrcmp_bounded instead of fstrcmp.
45838         (compute_mapping, try_split_merged_entry, main): Update callers.
45839
45840 2009-07-02  Bruno Haible  <bruno@clisp.org>
45841
45842         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
45843
45844 2009-06-30  Bruno Haible  <bruno@clisp.org>
45845
45846         Reduce the number of uc_is_cased calls.
45847         * lib/unicase.h (casing_suffix_context_t): Add
45848         'first_char_except_ignorable' field.
45849         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
45850         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
45851         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
45852         Update initializer.
45853         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
45854         case-ignorable characters.
45855         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
45856         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
45857         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
45858         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
45859         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
45860
45861 2009-06-30  Bruno Haible  <bruno@clisp.org>
45862
45863         Tests for module 'unicase/ignorable'.
45864         * modules/unicase/ignorable-tests: New file.
45865         * tests/unicase/test-ignorable.c: New file, generated by
45866         gen-uni-tables.
45867
45868         Tests for module 'unicase/cased'.
45869         * modules/unicase/cased-tests: New file.
45870         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
45871         * tests/unicase/test-predicate-part1.h: New file, derived from
45872         tests/unictype/test-predicate-part1.h.
45873         * tests/unicase/test-predicate-part2.h: New file, same as
45874         tests/unictype/test-predicate-part2.h.
45875
45876         Fix evaluation of "Before C" condition of FINAL_SIGMA.
45877         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
45878         (output_casing_properties): New function.
45879         (main): Call it.
45880         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
45881         * lib/unicase/cased.c: Include unictype/bitmap.h.
45882         (uc_is_cased): Define through a bitmap lookup.
45883         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
45884         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
45885         (uc_is_case_ignorable): Define through a bitmap lookup.
45886         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
45887         lib/unictype/bitmap.h.
45888         (Depends-on): Add inline. Clean up.
45889         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
45890         lib/unictype/bitmap.h.
45891         (Depends-on): Add inline. Clean up.
45892         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
45893         recognition.
45894         * tests/unicase/test-u16-tolower.c (main): Likewise.
45895         * tests/unicase/test-u32-tolower.c (main): Likewise.
45896
45897 2009-06-30  Bruno Haible  <bruno@clisp.org>
45898
45899         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
45900         * lib/unicase/u16-casemap.c: Likewise.
45901         * lib/unicase/u32-casemap.c: Likewise.
45902
45903 2009-06-29  Bruno Haible  <bruno@clisp.org>
45904
45905         Define u32_casefold as a wrapper around u32_ct_casefold.
45906         * lib/unicase/u32-casefold.c: Update.
45907         * modules/unicase/u32-casefold (Depends-on): Add
45908         unicase/u32-ct-casefold, unicase/empty-prefix-context,
45909         unicase/empty-suffix-context. Clean up.
45910
45911         Define u16_casefold as a wrapper around u16_ct_casefold.
45912         * lib/unicase/u16-casefold.c: Update.
45913         * modules/unicase/u16-casefold (Depends-on): Add
45914         unicase/u16-ct-casefold, unicase/empty-prefix-context,
45915         unicase/empty-suffix-context. Clean up.
45916
45917         Define u8_casefold as a wrapper around u8_ct_casefold.
45918         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
45919         * lib/unicase/u8-casefold.c: Update.
45920         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
45921         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45922
45923         Define u32_totitle as a wrapper around u32_ct_totitle.
45924         * lib/unicase/u32-totitle.c: Update.
45925         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
45926         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45927
45928         Define u16_totitle as a wrapper around u16_ct_totitle.
45929         * lib/unicase/u16-totitle.c: Update.
45930         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
45931         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45932
45933         Define u8_totitle as a wrapper around u8_ct_totitle.
45934         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
45935         functions.
45936         (FUNC): Delegate to U_CT_TOTITLE.
45937         * lib/unicase/u8-totitle.c: Update.
45938         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
45939         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45940
45941         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
45942         invocation.
45943         * modules/unicase/u32-tolower (Depends-on): Add
45944         unicase/empty-prefix-context, unicase/empty-suffix-context.
45945
45946         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
45947         invocation.
45948         * modules/unicase/u16-tolower (Depends-on): Add
45949         unicase/empty-prefix-context, unicase/empty-suffix-context.
45950
45951         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
45952         * modules/unicase/u8-tolower (Depends-on): Add
45953         unicase/empty-prefix-context, unicase/empty-suffix-context.
45954
45955         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
45956         invocation.
45957         * modules/unicase/u32-toupper (Depends-on): Add
45958         unicase/empty-prefix-context, unicase/empty-suffix-context.
45959
45960         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
45961         invocation.
45962         * modules/unicase/u16-toupper (Depends-on): Add
45963         unicase/empty-prefix-context, unicase/empty-suffix-context.
45964
45965         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
45966         * modules/unicase/u8-toupper (Depends-on): Add
45967         unicase/empty-prefix-context, unicase/empty-suffix-context.
45968
45969         New module 'unicase/u32-ct-casefold'.
45970         * lib/unicase/u32-ct-casefold.c: New file.
45971         * modules/unicase/u32-ct-casefold: New file.
45972
45973         New module 'unicase/u16-ct-casefold'.
45974         * lib/unicase/u16-ct-casefold.c: New file.
45975         * modules/unicase/u16-ct-casefold: New file.
45976
45977         New module 'unicase/u8-ct-casefold'.
45978         * lib/unicase/u8-ct-casefold.c: New file.
45979         * lib/unicase/u-ct-casefold.h: New file, derived from
45980         lib/unicase/u-casefold.h.
45981         * modules/unicase/u8-ct-casefold: New file.
45982
45983         New module 'unicase/u32-ct-totitle'.
45984         * lib/unicase/u32-ct-totitle.c: New file.
45985         * modules/unicase/u32-ct-totitle: New file.
45986
45987         New module 'unicase/u16-ct-totitle'.
45988         * lib/unicase/u16-ct-totitle.c: New file.
45989         * modules/unicase/u16-ct-totitle: New file.
45990
45991         New module 'unicase/u8-ct-totitle'.
45992         * lib/unicase/u8-ct-totitle.c: New file.
45993         * lib/unicase/u-ct-totitle.h: New file, derived from
45994         lib/unicase/u-totitle.h.
45995         * modules/unicase/u8-ct-totitle: New file.
45996
45997         New module 'unicase/u32-ct-tolower'.
45998         * lib/unicase/u32-ct-tolower.c: New file.
45999         * modules/unicase/u32-ct-tolower: New file.
46000
46001         New module 'unicase/u16-ct-tolower'.
46002         * lib/unicase/u16-ct-tolower.c: New file.
46003         * modules/unicase/u16-ct-tolower: New file.
46004
46005         New module 'unicase/u8-ct-tolower'.
46006         * lib/unicase/u8-ct-tolower.c: New file.
46007         * modules/unicase/u8-ct-tolower: New file.
46008
46009         New module 'unicase/u32-ct-toupper'.
46010         * lib/unicase/u32-ct-toupper.c: New file.
46011         * modules/unicase/u32-ct-toupper: New file.
46012
46013         New module 'unicase/u16-ct-toupper'.
46014         * lib/unicase/u16-ct-toupper.c: New file.
46015         * modules/unicase/u16-ct-toupper: New file.
46016
46017         New module 'unicase/u8-ct-toupper'.
46018         * lib/unicase/u8-ct-toupper.c: New file.
46019         * modules/unicase/u8-ct-toupper: New file.
46020
46021         Add context arguments to u*_casemap functions.
46022         * lib/unicase/unicasemap.h: Include unicase.h.
46023         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
46024         suffix_context arguments.
46025         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
46026         functions.
46027         (FUNC): Add prefix_context and suffix_context arguments. Use
46028         uc_is_cased and uc_is_case_ignorable.
46029         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
46030         * lib/unicase/u16-casemap.c: Likewise.
46031         * lib/unicase/u32-casemap.c: Likewise.
46032         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
46033         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
46034         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
46035         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
46036         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
46037         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
46038
46039         New module 'unicase/u32-suffix-context'.
46040         * lib/unicase/u32-suffix-context.c: New file.
46041         * modules/unicase/u32-suffix-context: New file.
46042
46043         New module 'unicase/u16-suffix-context'.
46044         * lib/unicase/u16-suffix-context.c: New file.
46045         * modules/unicase/u16-suffix-context: New file.
46046
46047         New module 'unicase/u8-suffix-context'.
46048         * lib/unicase/u8-suffix-context.c: New file.
46049         * lib/unicase/u-suffix-context.h: New file.
46050         * modules/unicase/u8-suffix-context: New file.
46051
46052         New module 'unicase/empty-suffix-context'.
46053         * lib/unicase/empty-suffix-context.c: New file.
46054         * modules/unicase/empty-suffix-context: New file.
46055
46056         New module 'unicase/u32-prefix-context'.
46057         * lib/unicase/u32-prefix-context.c: New file.
46058         * modules/unicase/u32-prefix-context: New file.
46059
46060         New module 'unicase/u16-prefix-context'.
46061         * lib/unicase/u16-prefix-context.c: New file.
46062         * modules/unicase/u16-prefix-context: New file.
46063
46064         New module 'unicase/u8-prefix-context'.
46065         * lib/unicase/u8-prefix-context.c: New file.
46066         * lib/unicase/u-prefix-context.h: New file.
46067         * lib/unicase/context.h: New file.
46068         * modules/unicase/u8-prefix-context: New file.
46069
46070         New module 'unicase/empty-prefix-context'.
46071         * lib/unicase/empty-prefix-context.c: New file.
46072         * modules/unicase/empty-prefix-context: New file.
46073
46074         New module 'unicase/ignorable'.
46075         * lib/unicase/ignorable.c: New file.
46076         * modules/unicase/ignorable: New file.
46077
46078         New module 'unicase/cased'.
46079         * lib/unicase/caseprop.h: New file.
46080         * lib/unicase/cased.c: New file.
46081         * modules/unicase/cased: New file.
46082
46083         New functions for case mapping of substrings.
46084         * lib/unicase.h (casing_prefix_context_t): New type.
46085         (unicase_empty_prefix_context): New variable.
46086         (u8_casing_prefix_context, u16_casing_prefix_context,
46087         u32_casing_prefix_context, u8_casing_prefixes_context,
46088         u16_casing_prefixes_context, u32_casing_prefixes_context): New
46089         declarations.
46090         (casing_suffix_context_t): New type.
46091         (unicase_empty_suffix_context): New variable.
46092         (u8_casing_suffix_context, u16_casing_suffix_context,
46093         u32_casing_suffix_context, u8_casing_suffixes_context,
46094         u16_casing_suffixes_context, u32_casing_suffixes_context,
46095         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
46096         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
46097         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
46098         declarations.
46099
46100 2009-06-28  Jim Meyering  <meyering@redhat.com>
46101
46102         boostrap: indent only with spaces
46103         * build-aux/bootstrap: Indent only with spaces, never TABs.
46104
46105         bootstrap: split long lines
46106         * build-aux/bootstrap: Keep line length < 80.
46107
46108         bootstrap: sync from coreutils
46109         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
46110         just as autoreconf does.  Verify a list of prerequisite
46111         package-name,version-number pairs if defined in bootstrap.conf.
46112         Refer to README-prereq, if prerequisites are not satisfied.
46113
46114 2009-06-27  Eric Blake  <ebb9@byu.net>
46115
46116         tests: add test for bogus NULL definition
46117         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
46118         * tests/test-stdlib.c: Likewise.
46119         * tests/test-string.c: Likewise.
46120         * tests/test-locale.c: Likewise.
46121         * tests/test-unistd.c: Likewise.
46122         * modules/stdio-tests (Depends-on): Add verify.
46123         * modules/stdlib-tests (Depends-on): Likewise.
46124         * modules/string-tests (Depends-on): Likewise.
46125         * modules/locale-tests (Depends-on): Likewise.
46126         * modules/unistd-tests (Depends-on): Likewise.
46127
46128 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
46129
46130         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
46131         self-explaining comment.
46132         * m4/selinux-selinux-h: Update serial.
46133         (gl_LIBSELINUX): New macro, adding a warning for missing development
46134         packages to code extracted from...
46135         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
46136         Add warning for missing development packages here, too.
46137
46138 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
46139
46140         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
46141
46142 2009-06-25  Eric Blake  <ebb9@byu.net>
46143
46144         version-etc: fix regression
46145         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
46146         gcc.
46147         (version_etc): Use it, to catch bugs with trailing NULL.
46148         * lib/version-etc.c (version_etc_arn): Delete unused argument.
46149         (version_etc_va): Fix logic bug.
46150         * modules/version-etc-tests: Add test.
46151         * tests/test-version-etc.c: New file.
46152         * tests/test-version-etc.sh: Likewise.
46153
46154 2009-06-25  Sam Steingold  <sds@gnu.org>
46155
46156         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
46157         mbtowc declaration.
46158
46159 2009-06-25  Eric Blake  <ebb9@byu.net>
46160
46161         fpurge: migrate into <stdio.h>
46162         * lib/fpurge.h: Delete...
46163         * lib/stdio.in.h (fpurge): ...and declare here, instead.
46164         * lib/fpurge.c (fpurge): Change declaring header.
46165         * modules/fpurge (Files): Drop deleted file.
46166         (Depends-on): Add stdio.
46167         (configure.ac): Set witness.
46168         * modules/stdio (Makefile.am): Support fpurge macros.
46169         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46170         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
46171         * lib/fflush.c: Update client.
46172         * tests/test-fpurge.c: Likewise.
46173         * NEWS: Mention the change.
46174
46175 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46176
46177         * lib/argp-version-etc.c (program_authors): Add const
46178         qualifier.
46179         * lib/version-etc.c: Fix typos in the comments.
46180         * modules/argp-version-etc: Depends on version-etc.
46181
46182 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46183
46184         argp-version-etc: new module.
46185
46186         * lib/argp-version-etc.c: New file.
46187         * lib/argp-version-etc.h: New file.
46188         * modules/argp-version-etc: New file.
46189         * modules/argp-version-etc-tests: New file.
46190         * tests/test-argp-version-etc.c: New test.
46191         * tests/test-argp-version-etc-1.sh: New test.
46192
46193 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46194
46195         Provide additional interfaces and documentation for version-etc
46196         module.
46197
46198         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
46199         interfaces.
46200         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
46201         prototypes.
46202
46203 2009-06-24  Bruno Haible  <bruno@clisp.org>
46204
46205         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
46206         HAVE_LIB${NAME} macro.
46207         Reported by Sam Steingold <sds@gnu.org>.
46208
46209 2009-06-23  Simon Josefsson  <simon@josefsson.org>
46210
46211         * modules/hash-tests (test_hash_LDADD): Link to libintl when
46212         needed.
46213
46214 2009-06-21  Bruno Haible  <bruno@clisp.org>
46215
46216         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
46217         work.
46218         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
46219         together with LIB${NAME}, LTLIB${NAME}.
46220         Reported by Sam Steingold <sds@gnu.org>.
46221
46222 2009-06-20  Jim Meyering  <meyering@redhat.com>
46223
46224         tests: make sc_require_test_exit_idiom more generic
46225         * top/maint.mk (Exit_witness_file): New overridable variable.
46226         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
46227         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
46228
46229 2009-06-19  Jim Meyering  <meyering@redhat.com>
46230
46231         hash: reverse order of src/dst parameters in an internal interface
46232         * lib/hash.c (transfer_entries): Reverse order of parameters to
46233         put DST before SRC.  Adjust callers.
46234
46235         tests: test-hash: avoid wholesale duplication
46236         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
46237         Instead, use a loop and add a single conditional.
46238
46239         tests: test-hash: allow seed selection via a command line argument
46240         * tests/test-hash.c (get_seed): New function.
46241         (main): Use it.
46242
46243 2009-06-19  Eric Blake  <ebb9@byu.net>
46244
46245         hash: avoid memory leak on allocation failure
46246         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
46247         failure.  Factor repeated algorithm...
46248         (transfer_entries): ...into new helper routine.
46249         (hash_delete): React to hash_rehash return value.
46250
46251         hash: reduce memory pressure in hash_rehash no-op case
46252         * lib/hash.c (next_prime): Avoid overflow.
46253         (hash_initialize): Factor bucket size computation...
46254         (compute_bucket_size): ...into new helper function.
46255         (hash_rehash): Use new function and open coding to reduce memory
46256         pressure, and avoid a memory leak in USE_OBSTACK code.
46257         Reported by Jim Meyering.
46258
46259 2009-06-18  Eric Blake  <ebb9@byu.net>
46260
46261         hash: make rotation more obvious
46262         * modules/hash (Depends-on): Add bitrotate and stdint.
46263         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
46264         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
46265         (SIZE_MAX): Rely on headers for definition.
46266         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
46267         (raw_hasher): Use rotr_sz.
46268         Suggested by Jim Meyering.
46269
46270         hash: fix memory leak in last patch
46271         * lib/hash.c (hash_rehash): Avoid memory leak.
46272
46273         hash: avoid no-op rehashing
46274         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
46275
46276         hash: provide default callback functions
46277         * lib/hash.c (raw_hasher, raw_comparator): New functions.
46278         (hash_initialize): Use them as defaults.
46279         * tests/test-hash.c (main): Test this.
46280
46281         hash: minor optimization
46282         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
46283         when possible.
46284         (hash_initialize): Document this promise.
46285         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
46286         * tests/test-hash.c (hash_compare_strings): Test this.
46287
46288 2009-06-18  Bruno Haible  <bruno@clisp.org>
46289
46290         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
46291         going to be replaced anyway.
46292
46293 2009-06-18  Bruno Haible  <bruno@clisp.org>
46294
46295         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
46296         in one place.
46297         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
46298         be replaced anyway.
46299
46300 2009-06-18  Eric Blake  <ebb9@byu.net>
46301
46302         hash: check for resize before insertion
46303         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
46304         threshold before insertion, so that a pathological hash_rehash
46305         that fills every bucket can still trigger another rehash.
46306
46307 2009-06-18  Jim Meyering  <meyering@redhat.com>
46308
46309         hash-tests: add a loop around the small tests
46310         * tests/test-hash.c (main): Repeat small tests with selected
46311         small initial table sizes.
46312
46313 2009-06-17  Eric Blake  <ebb9@byu.net>
46314
46315         hash: minor cleanups
46316         * lib/hash.h (hash_entry): Make opaque, by moving...
46317         * lib/hash.c (hash_entry): ...here.
46318         (hash_insert): Clarify restrictions on what can be inserted.
46319         (hash_get_next): Clarify when it is safe to remove an element
46320         during traversal.
46321         (check_tuning): Skip verification when tuning is known safe.
46322         (hash_initialize): Clarify restrictions on tuning.
46323
46324 2009-06-17  Jim Meyering  <jim@meyering.net>
46325         and Eric Blake  <ebb9@byu.net>
46326
46327         hash-tests: new module
46328         * modules/hash-tests: New file.
46329         * tests/test-hash.c: New file.
46330
46331 2009-06-17  Eric Blake  <ebb9@byu.net>
46332
46333         strstr-simple: document new module
46334         * MODULES.html.sh: Document new module.
46335
46336         strstr, strcasestr: replace on platforms with broken memchr
46337         * modules/strstr: Split into...
46338         * modules/strstr-simple: ...new module that does not care about
46339         performance, but does care about glibc bug.
46340         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
46341         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
46342         if platform memchr is broken, per Debian bug 521737.
46343         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
46344         memchr.
46345         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
46346         * doc/posix-functions/strstr.texi (strstr): Document the fix.
46347         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
46348         * modules/mountlist (Depends-on): Add strstr-simple.
46349         * modules/gen-uni-tables (Depends-on): Likewise.
46350         * modules/argz (Depends-on): Add strstr.
46351
46352 2009-06-17  Bruno Haible  <bruno@clisp.org>
46353
46354         * modules/posix_spawn-internal (Depends-on): Add errno.
46355
46356 2009-06-17  Bruno Haible  <bruno@clisp.org>
46357
46358         Define missing ESTALE on Interix 3.5.
46359         * lib/errno.in.h (ESTALE): Assign a value if missing.
46360         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
46361         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
46362         missing.
46363         * doc/posix-headers/errno.texi: Mention the Interix bug.
46364         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
46365
46366 2009-06-15  Eric Blake  <ebb9@byu.net>
46367
46368         memchr, memchr2: add valgrind exception
46369         * lib/memchr.valgrind: New file.
46370         * lib/memchr2.valgrind: New file.
46371         * modules/memchr (Files): Distribute valgrind file.
46372         * modules/memchr2 (Files): Likewise.
46373
46374         docs: memchr is no longer obsolete
46375         * MODULES.html.sh: Move memchr from obsolete to string.h section.
46376         * lib/string.in.h (memchr): Simplify logic.
46377
46378 2009-06-14  Jim Meyering  <meyering@redhat.com>
46379
46380         link-follow: fix the "checking..." message to not mention trailing slash
46381         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
46382         never considered trailing slashes.
46383
46384 2009-06-14  Bruno Haible  <bruno@clisp.org>
46385
46386         * m4/memchr.m4: Mention also the bug on IA-64.
46387         * doc/posix-functions/memchr.texi: Likewise.
46388
46389 2009-06-12  Eric Blake  <ebb9@byu.net>
46390
46391         memchr: detect broken x86_64 and alpha implementations
46392         * modules/memchr-tests (Depends-on): Move mmap detection...
46393         * modules/memchr (Depends-on): ...here.
46394         (configure.ac): Set indicator.
46395         * lib/string.in.h (memchr): Declare replacement.
46396         * modules/string (Makefile.am): Trigger replacement.
46397         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
46398         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
46399         bugs.
46400         * doc/posix-functions/memchr.texi (memchr): Document the bug.
46401         * modules/getpagesize (License): Relax license.
46402
46403 2009-06-11  Bruno Haible  <bruno@clisp.org>
46404
46405         * lib/idpriv.h: Add more references.
46406
46407 2009-06-08  Bruno Haible  <bruno@clisp.org>
46408
46409         Tests for module 'idpriv-droptemp'.
46410         * modules/idpriv-droptemp-tests: New file.
46411         * tests/test-idpriv-droptemp.sh: New file.
46412         * tests/test-idpriv-droptemp.su.sh: New file.
46413         * tests/test-idpriv-droptemp.c: New file.
46414
46415         New module 'idpriv-droptemp'.
46416         * lib/idpriv-droptemp.c: New file.
46417         * modules/idpriv-droptemp: New file.
46418
46419 2009-06-08  Bruno Haible  <bruno@clisp.org>
46420
46421         Tests for module 'idpriv-drop'.
46422         * modules/idpriv-drop-tests: New file.
46423         * tests/test-idpriv-drop.sh: New file.
46424         * tests/test-idpriv-drop.su.sh: New file.
46425         * tests/test-idpriv-drop.c: New file.
46426
46427         New module 'idpriv-drop'.
46428         * lib/idpriv.h: New file.
46429         * lib-idpriv-drop.c: New file.
46430         * m4/idpriv.m4: New file.
46431         * modules/idpriv-drop: New file.
46432
46433 2009-06-08  Bruno Haible  <bruno@clisp.org>
46434
46435         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
46436         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46437         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46438         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46439         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46440         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46441         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46442
46443 2009-06-08  Eric Blake  <ebb9@byu.net>
46444
46445         test-strstr: use memory fence, when possible
46446         * tests/test-strstr.c (main): Use memory fence, in order to be
46447         more likely to trigger Debian bug 521737.
46448         * modules/strstr-tests (Files): Pull in additional files.
46449
46450         memchr: no longer obsolete, for wider field testing
46451         * modules/memchr (Status, Notice): Delete, this module is no
46452         longer obsolete.
46453         * modules/vasnprintf (Depends-on): Add memchr.
46454
46455 2009-06-07  Jim Meyering  <meyering@redhat.com>
46456
46457         hash: declare some functions with the warn_unused_result attribute
46458         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
46459
46460 2009-06-07  Bruno Haible  <bruno@clisp.org>
46461
46462         * tests/test-alignof.c: Don't test int64_t if it does not exist.
46463         Reported by Eric Blake.
46464
46465 2009-06-06  Eric Blake  <ebb9@byu.net>
46466
46467         test-alignof: fix typo with long double
46468         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
46469         compiler error.
46470
46471 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
46472
46473         Escape non-texinfo { and }s.
46474         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
46475         markup error.
46476
46477 2009-06-04  Jim Meyering  <meyering@redhat.com>
46478
46479         gitlog-to-changelog: don't infloop on an empty commit log
46480         * build-aux/gitlog-to-changelog: Warn about an empty log message.
46481         Reported by Boris Petersen <transacid@centerim.org>.
46482
46483 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
46484
46485         version-etc: extend for packagers
46486         Add three new configure options, intended for packagers:
46487           --with-packager="packager name"
46488           --with-packager-version="packager-specific version"
46489           --with-packager-bug-reports="packager bug reporting"
46490         An example with coreutils:
46491           $ ./configure \
46492             --with-packager=Gentoo \
46493             --with-packager-bug-report=http://bugs.gentoo.org/ \
46494             --with-packager-version="patchset 1.6"
46495           $ ./src/ls --version | head -n2
46496           ls (GNU coreutils) 7.1-dirty
46497           Packaged by Gentoo (patchset 1.6)
46498         Note that the bug reporting info via --help doesn't show up because
46499         coreutils uses its own custom emit_bug_reporting_address() implementation
46500         in src/system.h.  If it didn't, it'd look like:
46501           $ ./src/ls --help | tail -n4
46502           Report bugs to <bug-coreutils@gnu.org>.
46503           Report Gentoo bugs to <http://bugs.gentoo.org/>.
46504           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
46505           General help using GNU software: <http://www.gnu.org/gethelp/>.
46506         * lib/version-etc.c: Print new information, if provided.
46507         * m4/version-etc.m4: New file.
46508         * modules/version-etc (Files): Add m4/version-etc.m4.
46509         (configure.ac): Add gl_VERSION_ETC.
46510
46511 2009-05-31  Bruno Haible  <bruno@clisp.org>
46512
46513         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
46514         and 'int64_t'.
46515         * modules/alignof-tests (Dependencies): Add stdint.
46516         Reported by Eric Blake.
46517
46518 2009-05-31  Bruno Haible  <bruno@clisp.org>
46519
46520         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
46521         restriction due to compiler bugs.
46522         Reported by Eric Blake.
46523
46524 2009-05-31  Simon Josefsson  <simon@josefsson.org>
46525             Bruno Haible  <bruno@clisp.org>
46526
46527         Fix test-alignof failure.
46528         * lib/alignof.h (alignof_slot): New macro.
46529         (alignof_type): New macro, with the same semantics as the previous
46530         'alignof'.
46531         (alignof): Alias to alignof_slot.
46532         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
46533         check that the results are usable as constant expressions.
46534
46535 2009-05-31  Bruno Haible  <bruno@clisp.org>
46536
46537         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
46538         * tests/test-memchr.c (main): Check that memchr does not read past the
46539         first occurrence of the byte.
46540         * tests/test-strstr.c (main): Update comment.
46541         Suggested by Eric Blake.
46542
46543 2009-05-30  Bruno Haible  <bruno@clisp.org>
46544
46545         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
46546         detail how to use dumpbin.
46547         Reported by David Byron <dbyron@dbyron.com>.
46548
46549 2009-06-02  Simon Josefsson  <simon@josefsson.org>
46550
46551         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
46552
46553 2009-06-02  Simon Josefsson  <simon@josefsson.org>
46554
46555         * m4/manywarnings.m4: Add GCC 4.4 warnings.
46556
46557 2009-05-28  Bruno Haible  <bruno@clisp.org>
46558
46559         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
46560         build-aux/ files.
46561
46562 2009-05-28  Simon Josefsson  <simon@josefsson.org>
46563
46564         * gnulib-tool (func_import): Transform license on build-aux/ files too.
46565
46566 2009-05-27  Simon Josefsson  <simon@josefsson.org>
46567
46568         * gnulib-tool (sed_transform_main_lib_file)
46569         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
46570         regexps.
46571
46572 2009-05-26  Simon Josefsson  <simon@josefsson.org>
46573
46574         * tests/test-strstr.c: Add another self-test.
46575         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
46576         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
46577
46578 2009-05-23  Bruno Haible  <bruno@clisp.org>
46579
46580         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
46581         change.
46582
46583 2009-05-21  Bruno Haible  <bruno@clisp.org>
46584
46585         Simplify use of mode_t varargs.
46586         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
46587         uses 'mode_t' or 'int'.
46588         * lib/openat.c (openat): Likewise.
46589         * lib/open-safer.c (open_safer): Likewise.
46590         * m4/mode_t.m4: New file.
46591         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
46592         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
46593         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
46594         * modules/open (Files): Add m4/mode_t.m4.
46595         * modules/openat (Files): Likewise.
46596         * modules/fcntl-safer (Files): Likewise.
46597         Suggested by Eric Blake.
46598
46599 2009-05-21  Pádraig Brady  <P@draigbrady.com>
46600
46601         * doc/glibc-functions/fallocate.texi: New file.
46602         * doc/gnulib.texi: Include it.
46603
46604 2009-05-21  Eric Blake  <ebb9@byu.net>
46605             Bruno Haible  <bruno@clisp.org>
46606
46607         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
46608         invocations.
46609         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
46610
46611 2009-05-21  Eric Blake  <ebb9@byu.net>
46612             Bruno Haible  <bruno@clisp.org>
46613
46614         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
46615         include_next. Fix of 2008-11-20 commit.
46616         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
46617         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
46618         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
46619         NEXT_MATH_H.
46620         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
46621         instead of NEXT_MATH_H.
46622
46623 2009-05-21  Bruno Haible  <bruno@clisp.org>
46624
46625         Avoid redefinition warnings for SIZE_MAX.
46626         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
46627         Reported by Simon Josefsson.
46628
46629 2009-05-21  Bruno Haible  <bruno@clisp.org>
46630
46631         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
46632         AC_CACHE_VAL.
46633
46634 2009-05-20  Bruno Haible  <bruno@clisp.org>
46635
46636         Make zeroptr.h work on mingw.
46637         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
46638         mprotect.
46639         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
46640         * modules/memchr2-tests (configure.ac): Likewise.
46641         * modules/memcmp-tests (configure.ac): Likewise.
46642         * modules/memmem-tests (configure.ac): Likewise.
46643         * modules/memrchr-tests (configure.ac): Likewise.
46644         Reported by Simon Josefsson.
46645
46646 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46647
46648         * tests/test-glob.c: Include string.h for strcmp prototype.
46649
46650 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46651
46652         * modules/getdelim (Depends-on): Add explicit stdint, although it
46653         was implicitly already pulled in via realloc-posix.
46654         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
46655
46656 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46657
46658         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
46659         G. Christensen" <tgc@jupiterrise.com>.
46660         * m4/sys_socket_h.m4: Check for sa_family_t.
46661         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
46662         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
46663         * tests/test-sys_socket.c: Check that sa_family_t works.
46664
46665 2009-05-18  Eric Blake  <ebb9@byu.net>
46666
46667         maint.mk: allow gnulib_dir in VPATH build
46668         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
46669
46670 2009-05-15  Jim Meyering  <meyering@redhat.com>
46671
46672         maint.mk: Give gnulib_dir a default definition.
46673         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
46674         Thus, most packages no longer need to specify this variable in cfg.mk
46675
46676 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
46677
46678         rename.m4: fix typos that would make non-mingw cross-configure fail
46679         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
46680
46681 2009-05-13  Eric Blake  <ebb9@byu.net>
46682
46683         mmap-anon: avoid out-of-order autoconf expansion
46684         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
46685         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
46686         * modules/memchr-tests (Depends-on): Add extensions.
46687         * modules/memchr2-tests (Depends-on): Add extensions.
46688         * modules/memcmp-tests (Depends-on): Add extensions.
46689         * modules/memmem-tests (Depends-on): Add extensions.
46690         * modules/memrchr-tests (Depends-on): Add extensions.
46691
46692 2009-05-13  Bruno Haible  <bruno@clisp.org>
46693
46694         Make some tests ISO C 99 compliant.
46695         * tests/zerosize-ptr.h: New file.
46696         * tests/test-memchr.c: Include zerosize-ptr.h.
46697         (main): Use a zero-size object pointer instead of NULL.
46698         * tests/test-memchr2.c: Include zerosize-ptr.h.
46699         (main): Use a zero-size object pointer instead of NULL.
46700         * tests/test-memcmp.c: Include zerosize-ptr.h.
46701         (main): Use a zero-size object pointer instead of NULL.
46702         * tests/test-memmem.c: Include zerosize-ptr.h.
46703         (main): Use a zero-size object pointer instead of NULL.
46704         * tests/test-memrchr.c: Include zerosize-ptr.h.
46705         (main): Use a zero-size object pointer instead of NULL.
46706         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
46707         m4/mmap-anon.m4.
46708         (Depends-on): Add getpagesize.
46709         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46710         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
46711         m4/mmap-anon.m4.
46712         (Depends-on): Add getpagesize.
46713         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46714         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
46715         m4/mmap-anon.m4.
46716         (Depends-on): Add getpagesize.
46717         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46718         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
46719         m4/mmap-anon.m4.
46720         (Depends-on): Add getpagesize.
46721         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46722         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
46723         m4/mmap-anon.m4.
46724         (Depends-on): Add getpagesize.
46725         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46726
46727 2009-05-12  Bruno Haible  <bruno@clisp.org>
46728
46729         Tests for module 'alignof'.
46730         * modules/alignof-tests: New file.
46731         * tests/test-alignof.c: New file.
46732
46733 2009-05-12  Bruno Haible  <bruno@clisp.org>
46734
46735         Fix alignof macro.
46736         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
46737         vendor compilers that are always correct.
46738
46739 2009-05-12  Bruno Haible  <bruno@clisp.org>
46740
46741         Make the MAP_ANONYMOUS detection work on HP-UX 11.
46742         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
46743         not whether its fully works.
46744
46745 2009-05-12  Bruno Haible  <bruno@clisp.org>
46746
46747         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
46748
46749 2009-05-12  Jim Meyering  <meyering@redhat.com>
46750
46751         * top/maint.mk: Adjust backslash alignment.
46752
46753 2009-05-11  Simon Josefsson  <simon@josefsson.org>
46754
46755         * top/maint.mk: Make $(srcdir)/build-aux configurable.
46756
46757 2009-05-11  Eric Blake  <ebb9@byu.net>
46758
46759         argp: avoid undefined behavior
46760         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
46761         macros.
46762
46763 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46764
46765         * tests/test-vc-list-files-git.sh: Do git config of user.email and
46766         user.name to prevent git commit from complaining.
46767
46768 2009-05-10  Bruno Haible  <bruno@clisp.org>
46769
46770         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
46771         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
46772         it rewrites every file name only once.
46773         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
46774
46775 2009-05-08  Bruno Haible  <bruno@clisp.org>
46776
46777         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
46778         instead of 'max'.
46779
46780 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46781
46782         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
46783         sockaddr_storage test.
46784
46785 2009-05-07  Simon Josefsson  <simon@josefsson.org>
46786
46787         * modules/sys_socket (Makefile.am): Substitute
46788         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
46789         * m4/sys_socket_h.m4: Check for sockaddr_storage.
46790         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
46791         * tests/test-sys_socket.c: Check sockaddr_storage.
46792
46793 2009-05-08  Bruno Haible  <bruno@clisp.org>
46794
46795         New module 'alignof'.
46796         * lib/alignof.h: New file.
46797         * modules/alignof: New file.
46798
46799 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46800             Bruno Haible  <bruno@clisp.org>
46801
46802         Fix test-file-has-acl on FreeBSD.
46803         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
46804         mask is implicitly added.
46805         * tests/test-file-has-acl.c: Include <signal.h>.
46806         (main): Terminate the test after 5 seconds.
46807         * modules/acl-tests (configure.ac): Check for alarm function.
46808
46809 2009-05-04  Bruno Haible  <bruno@clisp.org>
46810
46811         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
46812         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
46813         * modules/errno (configure.ac): Drop AC_REQUIRE.
46814         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
46815         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
46816
46817 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46818
46819         * modules/glob-tests: New module.
46820         * tests/test-glob.c: Add.
46821
46822 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46823
46824         * modules/fnmatch-tests: New module.
46825         * tests/test-fnmatch.c: Add.
46826
46827 2009-05-04  Eric Blake  <ebb9@byu.net>
46828
46829         maint: make the new no-submodule-changes rule VPATH-safe
46830         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
46831
46832 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46833             Bruno Haible  <bruno@clisp.org>
46834
46835         acl: Fix infinite loop on FreeBSD.
46836         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
46837         of return value from acl_get_entry.
46838         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
46839         Likewise.
46840
46841 2009-05-03  Bruno Haible  <bruno@clisp.org>
46842
46843         * lib/acl-internal.h (acl_entries): Clarify return value.
46844         * lib/acl_entries.c (acl_entries): Likewise.
46845
46846 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46847
46848         Bug fix in acl module.
46849         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
46850
46851 2009-05-03  Bruno Haible  <bruno@clisp.org>
46852
46853         Create gperf-generated file in the source dir, not in the build dir.
46854         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
46855         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
46856         * modules/unicase/locale-language (unicase/locale-languages.h):
46857         Likewise.
46858         * modules/unicase/special-casing (unicase/special-casing-table.h):
46859         Likewise.
46860         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
46861         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
46862         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
46863         Reported by Ralf Wildenhues.
46864
46865 2009-05-03  Bruno Haible  <bruno@clisp.org>
46866
46867         * modules/fnmatch (Description, configure.ac): Taken from
46868         fnmatch-posix.
46869         * modules/fnmatch-posix: Turn into a symbolic reference to the
46870         'fnmatch' module, and deprecate.
46871         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
46872
46873 2009-05-03  Bruno Haible  <bruno@clisp.org>
46874
46875         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
46876         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
46877         Reported by Ralf Wildenhues.
46878
46879 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46880
46881         * m4/fnmatch.m4: Fix fnmatch re-define.
46882
46883 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46884
46885         priv-set: new module and tests; adapt write-any-file
46886         * lib/priv-set.c: New file.
46887         * lib/priv-set.h: New file.
46888         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
46889         * lib/write-any-file.c: Simplify by using priv-set module.
46890         * m4/priv-set.m4: New file.
46891         * modules/priv-set: New file.
46892         * modules/unlinkdir: Add dependency on priv-set module.
46893         * modules/write-any-file: Likewise.
46894
46895         Tests for module 'priv-set'.
46896         * modules/priv-set-tests: New file.
46897         * tests/test-priv-set.c: New file.
46898
46899 2009-05-03  Jim Meyering  <meyering@redhat.com>
46900             Bruno Haible  <bruno@clisp.org>
46901
46902         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
46903         use the converted UTF-8 variant of the name instead.
46904
46905 2009-05-03  Jim Meyering  <meyering@redhat.com>
46906
46907         tests: tighten some getdate tests
46908         * tests/test-getdate.c (main): Tighten tests: require equality,
46909         not just greater than.  Set TZ envvar to UTC0.
46910
46911 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
46912
46913         getdate: correctly interpret "next monday" when run on a Monday
46914         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
46915         that e.g., "next tues" (when run on a tuesday) results in a date
46916         that is one week in the future, and not today's date.
46917         I.e., add a week when the wday is the same as the current one.
46918         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
46919         and earlier by Martin Bernreuther and Jan Minář.
46920         * tests/test-getdate.c (main): Check that "next DAY" is always in
46921         the future and that "last DAY" is always in the past.
46922
46923 2009-05-02  Jim Meyering  <meyering@redhat.com>
46924
46925         build: ensure that a release build fails when a submodule is unclean
46926         * top/maint.mk (no-submodule-changes): New rule.
46927         (alpha beta major): Depend on it.
46928
46929 2009-05-02  Bruno Haible  <bruno@clisp.org>
46930
46931         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
46932         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
46933         shell variable gl_fnmatch_required to detect which variant is
46934         requested.
46935         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
46936         gl_FUNC_FNMATCH_POSIX.
46937         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
46938         exclude fnmatch-posix.
46939
46940 2009-05-02  Bruno Haible  <bruno@clisp.org>
46941
46942         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
46943         * modules/mbsrtowcs (License): Change to LGPLv2+.
46944         * modules/strnlen1 (License): Likewise.
46945         Reported by Simon Josefsson.
46946
46947 2009-05-02  Bruno Haible  <bruno@clisp.org>
46948
46949         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
46950         "cross".
46951         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
46952         gnulib-tool was called with option --source-base=lib.
46953
46954 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46955
46956         Use automake *-local hooks without commands, for extensibility.
46957         * modules/localcharset (Makefile.am): Rename install-exec-local
46958         rule to install-exec-localcharset, and make it a prerequisite of
46959         install-exec-local.  Likewise, rename the uninstall-local rule to
46960         uninstall-localcharset, and make it a prerequisite of the former.
46961
46962 2009-05-01  Bruno Haible  <bruno@clisp.org>
46963
46964         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
46965         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46966         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
46967         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
46968         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
46969         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46970         m4/locale-zh.m4, m4/codeset.m4.
46971
46972         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46973         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
46974         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46975         m4/locale-zh.m4.
46976
46977         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
46978         REPLACE_WCRTOMB if mbstate_t must be replaced.
46979         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
46980         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
46981
46982 2009-05-01  Bruno Haible  <bruno@clisp.org>
46983
46984         Avoid compiler warnings when redefining macros defined by <libintl.h>.
46985         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
46986         dngettext, dcngettext, textdomain, bindtextdomain,
46987         bind_textdomain_codeset): Undefine before redefining.
46988
46989 2009-04-30  Bruno Haible  <bruno@clisp.org>
46990
46991         Fix bug introduced on 2009-04-25.
46992         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
46993         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
46994         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
46995         is defined.
46996         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
46997         is defined.
46998         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
46999         is defined.
47000         Reported by Elbert_Pol <elbert.pol@gmail.com>.
47001
47002 2009-04-28  Bruno Haible  <bruno@clisp.org>
47003
47004         Comment tweaks.
47005         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
47006         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
47007         * lib/unicase.h (u*_casexfrm): Likewise.
47008         Reported by Paolo Bonzini.
47009
47010 2009-04-28  Bruno Haible  <bruno@clisp.org>
47011
47012         Fix a compilation error.
47013         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
47014         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47015         Reported by Jim Meyering.
47016
47017 2009-04-27  Bruno Haible  <bruno@clisp.org>
47018
47019         New module 'libunistring'.
47020         * modules/libunistring: New file.
47021         * m4/libunistring.m4: New file.
47022         * MODULES.html.sh (Unicode string functions): Add it.
47023
47024 2009-04-27  Eric Blake  <ebb9@byu.net>
47025
47026         maint.mk: allow package-specific header to provide <config.h>
47027         * top/maint.mk (sc_require_config_h): New variable.
47028         (sc_require_config_h, sc_require_config_h_first): Use it.
47029
47030 2009-04-27  Simon Josefsson  <simon@josefsson.org>
47031
47032         * top/maint.mk (sc_avoid_if_before_free): Except
47033         useless-if-before-free script.
47034
47035 2009-04-27  Eric Blake  <ebb9@byu.net>
47036
47037         maintainer-makefile: depend on all required helper scripts
47038         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
47039         useless-if-before-free.
47040         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
47041         version, rather than assuming gnulib checkout is available.
47042         Reported by Simen Josefsson.
47043
47044 2009-04-26  Bruno Haible  <bruno@clisp.org>
47045
47046         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
47047         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
47048         "../" or "..".
47049
47050 2009-04-26  Bruno Haible  <bruno@clisp.org>
47051
47052         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
47053         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
47054         AC_LIB_HAVE_LINKFLAGS.
47055
47056 2009-04-26  Bruno Haible  <bruno@clisp.org>
47057
47058         Simplify calling convention of u*_conv_from_encoding.
47059         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
47060         u32_conv_from_encoding): Expect a resultbuf argument and return the
47061         result directly as a pointer.
47062         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
47063         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
47064         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
47065         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
47066         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
47067         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
47068         Update.
47069         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
47070         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
47071         * lib/vasnprintf.c (VASNPRINTF): Update.
47072         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
47073         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
47074         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
47075         * NEWS: Mention the change.
47076
47077 2009-04-26  Bruno Haible  <bruno@clisp.org>
47078
47079         Simplify calling convention of u*_conv_to_encoding.
47080         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47081         u32_conv_to_encoding): Expect a resultbuf argument and return the
47082         result directly as a pointer.
47083         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
47084         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
47085         freeing scaled_offsets if mem_iconveha failed.
47086         * lib/unicase/u-casexfrm.h (FUNC): Update.
47087         * lib/uninorm/u-normxfrm.h (FUNC): Update.
47088         * lib/vasnprintf.c (VASNPRINTF): Update.
47089         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
47090         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
47091         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
47092         * NEWS: Mention the change.
47093
47094 2009-04-26  Bruno Haible  <bruno@clisp.org>
47095
47096         Avoid test failures on AIX and OSF/1.
47097         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
47098         malloc(0).
47099         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
47100         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
47101         Likewise.
47102         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
47103         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
47104         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
47105         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
47106         * doc/posix-functions/malloc.texi: Document the portability problem
47107         related to malloc(0).
47108
47109 2009-04-26  Bruno Haible  <bruno@clisp.org>
47110
47111         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
47112         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
47113         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
47114
47115 2009-04-25  Bruno Haible  <bruno@clisp.org>
47116
47117         Avoid link error when creating a namespace clean library.
47118         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
47119         as macro with arguments if already defined as an alias.
47120         * lib/signbitf.c (gl_signbitf): Don't undefine.
47121         * lib/signbitd.c (gl_signbitd): Don't undefine.
47122         * lib/signbitl.c (gl_signbitl): Don't undefine.
47123
47124 2009-04-25  Jim Meyering  <meyering@redhat.com>
47125
47126         vc-list-files: fix another quoting bug
47127         * build-aux/vc-list-files: Avoid sed backslash expansion
47128         of pathological directory names.
47129
47130 2009-04-25  Eric Blake  <ebb9@byu.net>
47131
47132         vc-list-files: fix shell quoting error
47133         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
47134         timestamp.
47135
47136 2009-04-25  Jim Meyering  <meyering@redhat.com>
47137
47138         vc-list-files: restore lost functionality with subdir argument
47139         * build-aux/vc-list-files: When given a non-"." sub-directory
47140         argument, substitute the $dir/ prefix back onto each resulting name.
47141         Otherwise, coreutils' root_tests check would fail.
47142
47143 2009-04-24  Eric Blake  <ebb9@byu.net>
47144
47145         vc-list-files: ignore git symlinks
47146         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
47147         than ls-files, to ignore git symlinks.
47148
47149         maint.mk: import improvements from m4
47150         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
47151         (move_if_change): Delete unused macro.
47152         (news-date-check, vc-diff-check): Support VPATH builds.
47153         (announcement): Likewise.  Split --bootstrap-tools list...
47154         (boostrap-tools): ...into separate list, which can be overridden
47155         in cfg.mk.
47156         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
47157         requiring dependency on useless-if-before-free module.
47158         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
47159         Support VPATH builds.
47160
47161 2009-04-24  Jim Meyering  <meyering@redhat.com>
47162
47163         maint.mk: remove coreutils-specific rules and variables
47164         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
47165         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
47166         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
47167
47168         maint.mk: remove obsolete rule
47169         * top/maint.mk (rel-check): Remove rule.
47170         (WGET, WGETFLAGS): Remove now-unused variables.
47171
47172 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47173
47174         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
47175         consistency.
47176
47177         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
47178         '$(PATH_SEPARATOR)' instead of ':'.
47179
47180 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47181
47182         * lib/getopt1.c (main): Use 'const' for static array.
47183
47184 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47185
47186         * top/maint.mk: Sync with coreutils.
47187         * NEWS: Explain incompatibilities.
47188
47189 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47190             Bruno Haible  <bruno@clisp.org>
47191
47192         Fix cross-compilation results.
47193         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
47194         statement, as third argument of AC_TRY_RUN.
47195         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
47196         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
47197         Likewise.
47198         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
47199         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
47200         Likewise.
47201         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
47202         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
47203         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
47204
47205 2009-04-20  Bruno Haible  <bruno@clisp.org>
47206
47207         Avoid test failure on mingw.
47208         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
47209
47210 2009-04-20  Bruno Haible  <bruno@clisp.org>
47211
47212         Avoid compilation error on mingw.
47213         * modules/localename-tests (Depends-on): Add locale.
47214
47215 2009-04-19  Bruno Haible  <bruno@clisp.org>
47216
47217         Support for building a shared library on Windows platforms.
47218         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
47219         (main): Test the presence of UNINORM_NFC here.
47220         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
47221         (main): Test the presence of UNINORM_NFD here.
47222         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
47223         (main): Test the presence of UNINORM_NFKC here.
47224         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
47225         (main): Test the presence of UNINORM_NFKD here.
47226
47227 2009-04-19  Bruno Haible  <bruno@clisp.org>
47228
47229         Avoid a compiler warning.
47230         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
47231         Change type of variable 'sequence'.
47232
47233 2009-04-19  Bruno Haible  <bruno@clisp.org>
47234
47235         * modules/configmake (Makefile.am): When the contents of configmake.h
47236         does not change, arrange to preserve its modification time.
47237
47238 2009-04-17  Simon Josefsson  <simon@josefsson.org>
47239
47240         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
47241         gettext domain.
47242
47243 2009-04-16  Jim Meyering  <meyering@redhat.com>
47244
47245         useless-if-before-free: improve conversion code
47246         * build-aux/useless-if-before-free: Adjust code-in-comment to match
47247         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
47248
47249 2009-04-14  Bruno Haible  <bruno@clisp.org>
47250
47251         * modules/fcntl (Depends-on): Add extensions.
47252         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
47253
47254 2009-04-12  Ben Pfaff  <blp@gnu.org>
47255
47256         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
47257         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
47258
47259 2009-03-20  Ben Pfaff  <blp@gnu.org>
47260
47261         Make rename replace existing destinations on Windows.
47262         * m4/rename.m4: Add test for Mingw.
47263         * lib/rename.c: Add rename replacement that uses MoveFileEx with
47264         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
47265         * doc/posix-functions/rename.texi: Document.
47266
47267 2009-04-10  Bruno Haible  <bruno@clisp.org>
47268
47269         New include file "iconveh.h".
47270         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
47271         * lib/striconveh.h: Include it.
47272         (enum iconv_ilseq_handler): Remove definition.
47273         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
47274         striconveh.h.
47275         * lib/striconveha.c: Include striconveh.h.
47276         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
47277         * modules/striconveh (Files): Add lib/iconveh.h.
47278         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
47279         lib/striconveh.h.
47280
47281 2009-04-10  Bruno Haible  <bruno@clisp.org>
47282
47283         * lib/uniconv.h: Update comment.
47284
47285 2009-04-10  Bruno Haible  <bruno@clisp.org>
47286
47287         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
47288         always.
47289         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
47290         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47291         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47292         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
47293         "unistring-notinline.h", so that the function gets defined always.
47294         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
47295         * lib/unistr/u8-uctomb.c: Likewise.
47296         * lib/unistr/u16-mbtouc.c: Likewise.
47297         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47298         * lib/unistr/u16-uctomb.c: Likewise.
47299         * lib/unistr/u32-mbtouc.c: Likewise.
47300         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
47301         * lib/unistr/u32-uctomb.c: Likewise.
47302
47303 2009-04-10  Bruno Haible  <bruno@clisp.org>
47304
47305         Mark 'utime' obsolete.
47306         * modules/utime (Status, Notice): New sections.
47307         Suggested by Jim Meyering.
47308
47309         Fix cross-compile guess for utime test.
47310         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
47311         autoconf.
47312         * doc/posix-functions/utime.texi: Give more precisions.
47313         Reported by Jan <ipif@ymail.com>.
47314
47315 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
47316
47317         filevercmp: correct today's change
47318         * lib/filevercmp.c: Also handle coreutils' test inputs.
47319         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
47320
47321         Fix regression in 'filevercmp' module. Thanks Sven Joachim
47322         for reporting it.
47323         * lib/filevercmp.c: Special handle for "", "." and "..".
47324         * tests/test-filevercmp.c: Enlarge the set suite.
47325
47326 2009-04-07  Jim Meyering  <meyering@redhat.com>
47327
47328         useless-if-before-free: show how to remove braced useless free, too
47329         * build-aux/useless-if-before-free: still only in a comment, though.
47330
47331 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
47332
47333         maint.mk: import changes to syntax-check macros from coreutils
47334         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
47335         Use them in the relevant macros.
47336
47337 2009-04-06  Bruno Haible  <bruno@clisp.org>
47338
47339         Fix unportable use of bit-fields.
47340         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
47341         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
47342         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
47343
47344 2009-04-06  Bruno Haible  <bruno@clisp.org>
47345
47346         Avoid test failures on AIX and OSF/1.
47347         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
47348         that malloc(0) = NULL.
47349         * tests/unicase/test-u8-tolower.c (check): Likewise.
47350         * tests/unicase/test-u8-totitle.c (check): Likewise.
47351         * tests/unicase/test-u8-toupper.c (check): Likewise.
47352         * tests/unicase/test-u16-casefold.c (check): Likewise.
47353         * tests/unicase/test-u16-tolower.c (check): Likewise.
47354         * tests/unicase/test-u16-totitle.c (check): Likewise.
47355         * tests/unicase/test-u16-toupper.c (check): Likewise.
47356         * tests/unicase/test-u32-casefold.c (check): Likewise.
47357         * tests/unicase/test-u32-tolower.c (check): Likewise.
47358         * tests/unicase/test-u32-totitle.c (check): Likewise.
47359         * tests/unicase/test-u32-toupper.c (check): Likewise.
47360         * tests/uninorm/test-u8-nfc.c (check): Likewise.
47361         * tests/uninorm/test-u8-nfd.c (check): Likewise.
47362         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
47363         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
47364         * tests/uninorm/test-u16-nfc.c (check): Likewise.
47365         * tests/uninorm/test-u16-nfd.c (check): Likewise.
47366         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
47367         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
47368         * tests/uninorm/test-u32-nfc.c (check): Likewise.
47369         * tests/uninorm/test-u32-nfd.c (check): Likewise.
47370         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
47371         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
47372
47373 2009-04-05  Bruno Haible  <bruno@clisp.org>
47374
47375         Work around an autoconf limitation.
47376         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
47377         comment line if it would be longer than 3 KB.
47378
47379 2009-04-05  Bruno Haible  <bruno@clisp.org>
47380
47381         Avoid test failure with libiconv-1.13.
47382         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
47383         of the expected test results.
47384
47385 2009-04-05  Bruno Haible  <bruno@clisp.org>
47386
47387         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
47388         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
47389         that it should be installed.
47390
47391 2009-04-05  Bruno Haible  <bruno@clisp.org>
47392
47393         * gnulib-tool: New option --copy-file.
47394         (func_usage): Document it.
47395         (func_dest_tmpfilename): Moved out of func_import.
47396         (func_add_file, func_update_file): New functions, extracted from
47397         func_import.
47398         (func_import): Update.
47399
47400 2009-04-05  Karl Berry  <karl@gnu.org>
47401
47402         * README: prominently mention gnulib-tool.
47403         Rearrange sections so getting the code is near the top.
47404
47405 2009-04-05  Bruno Haible  <bruno@clisp.org>
47406
47407         * lib/unicase.h: Mention u*_cmp2.
47408         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
47409         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
47410         * lib/unicase/ulc-casecmp.c: Likewise.
47411         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
47412         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
47413         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
47414         unistr/u8-cmp.
47415         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
47416         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
47417         unistr/u16-cmp.
47418         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
47419         unistr/u32-cmp.
47420
47421         * lib/uninorm.h: Mention u*_cmp2.
47422         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
47423         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
47424         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
47425         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
47426         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
47427         unistr/u8-cmp.
47428         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
47429         unistr/u16-cmp.
47430         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
47431         unistr/u32-cmp.
47432
47433         New module 'unistr/u32-cmp2'.
47434         * lib/unistr/u32-cmp2.c: New file.
47435         * modules/unistr/u32-cmp2: New file.
47436
47437         New module 'unistr/u16-cmp2'.
47438         * lib/unistr/u16-cmp2.c: New file.
47439         * modules/unistr/u16-cmp2: New file.
47440
47441         New module 'unistr/u8-cmp2'.
47442         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
47443         * lib/unistr/u8-cmp2.c: New file.
47444         * lib/unistr/u-cmp2.h: New file.
47445         * modules/unistr/u8-cmp2: New file.
47446
47447 2009-04-05  Bruno Haible  <bruno@clisp.org>
47448
47449         * lib/unictype.h (uc_property_is_valid): New macro.
47450         * tests/unictype/test-pr_byname.c (main): Use it.
47451
47452         * lib/unistr.h: Doc fixes.
47453         * lib/uniconv.h: Doc fixes.
47454         * lib/unictype.h: Doc fixes.
47455
47456 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47457
47458         Port coreutils 7.2 to Solaris 8.
47459
47460         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
47461         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
47462         for Solaris 8.  This is a bit of a hack, as it means it's the
47463         caller's responsibility to add -lnsl if needed, but most likely it
47464         won't be needed since only getaddrinfo uses this and getaddrinfo
47465         isn't needed on Solaris 8.
47466
47467         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
47468         problem to Solaris 8 encountered with coreutils 7.2, which
47469         resulted in a message "fnmatch.c:292: warning: passing argument 4
47470         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
47471         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
47472
47473 2009-04-03  Simon Josefsson  <simon@josefsson.org>
47474
47475         * m4/ld-version-script.m4: Add FIXME comment.
47476
47477 2009-04-02  Simon Josefsson  <simon@josefsson.org>
47478
47479         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
47480         SOVERSION variable.
47481
47482 2009-04-02  Bruno Haible  <bruno@clisp.org>
47483
47484         * Makefile (info, html, dvi, pdf): Combine the rules.
47485         Suggested by Jim Meyering.
47486
47487 2009-04-01  Bruno Haible  <bruno@clisp.org>
47488
47489         * Makefile (info, html, dvi, pdf): New targets.
47490         Reported by Reuben Thomas <rrt@sc3d.org>.
47491
47492 2009-04-01  Bruno Haible  <bruno@clisp.org>
47493
47494         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
47495         can be put into PATH.
47496         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
47497
47498 2009-04-01  Bruno Haible  <bruno@clisp.org>
47499
47500         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
47501
47502 2009-04-01  Bruno Haible  <bruno@clisp.org>
47503
47504         Rename module 'visibility'.
47505         * modules/lib-symbol-visibility: Renamed from modules/visibility.
47506         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
47507         * doc/gnulib.texi: Update.
47508         * MODULES.html.sh (Misc): Update.
47509         * NEWS: Mention the change.
47510
47511 2009-04-01  Simon Josefsson  <simon@josefsson.org>
47512
47513         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
47514         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
47515         Eric Blake <ebb9@byu.net> for review.
47516         * MODULES.html.sh: Add lib-msvc-compat.
47517         * doc/gnulib.texi: Link to new section.
47518         * m4/ld-output-def.m4: New file.
47519         * doc/ld-output-def.texi: New file.
47520
47521 2009-04-01  Simon Josefsson  <simon@josefsson.org>
47522
47523         Rename ld-version-script to lib-symbol-versions.  Suggested by
47524         Bruno Haible <bruno@clisp.org>.
47525         * modules/ld-version-script: Renamed to lib-symbol-versions.
47526         * doc/ld-version-script.texi: Fix module name.
47527         * MODULES.html.sh: Add lib-symbol-versions.
47528
47529 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47530
47531         * modules/u64-tests: New file.
47532         * tests/test-u64.c: New file.
47533
47534 2009-03-04  Simon Josefsson  <simon@josefsson.org>
47535
47536         * MODULES.html.sh: Mention u64.
47537         * modules/u64: New module.
47538         * modules/crypto/sha512: Depend on u64 module instead of providing
47539         u64.h.
47540
47541 2009-03-27  Eric Blake  <ebb9@byu.net>
47542
47543         test-strerror: make debugging EAI_SYSTEM easier
47544         * modules/getaddrinfo-tests (Depends-on): Add strerror.
47545         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
47546         failure was EAI_SYSTEM.
47547
47548 2009-03-25  Bruno Haible  <bruno@clisp.org>
47549
47550         Fix a problem with --enable-relocatable on Solaris 7.
47551         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
47552         since 2008-02-24.
47553
47554 2009-03-25  Eric Blake  <ebb9@byu.net>
47555
47556         test-sockets: avoid gcc warning
47557         * tests/test-sockets.c (main): Silence compiler warning.
47558
47559 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
47560
47561         New modules nproc, pthread, contributed by Glen Lenker.
47562
47563         * MODULES.html.sh: Add pthread, nproc.
47564         * lib/nproc.c: New file.
47565         * lib/nproc.h: New file.
47566         * lib/pthread.in.h: New file.
47567         * m4/pthread.m4: New file.
47568         * modules/nproc: New file.
47569         * modules/pthread: New file.
47570
47571 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47572
47573         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
47574         New variable.
47575
47576 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
47577
47578         filevercmp: handle simple~ and numbered.~3~ backup suffixes
47579         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
47580         * tests/test-filevercmp.c: Add tests for backup suffixes.
47581
47582 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47583
47584         * modules/stdlib (Depends-on): Add stdint, needed when defining
47585         struct random_data on, for example, HP-UX 10.20.  Reported by
47586         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
47587
47588 2009-03-24  Simon Josefsson  <simon@josefsson.org>
47589
47590         * lib/readline.c (readline): Call fflush on stdout after printing
47591         prompt.
47592
47593 2009-03-20  Bruno Haible  <bruno@clisp.org>
47594
47595         Remove dependency from 'close' module to -lws2_32 on native Windows.
47596         * lib/close-hook.h: New file.
47597         * lib/close-hook.c: New file.
47598         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
47599         w32sock.h.
47600         (_gl_close_fd_maybe_socket): Remove function.
47601         (rpl_close): Invoke execute_all_close_hooks instead of
47602         _gl_close_fd_maybe_socket.
47603         * lib/sockets.c: Include close-hook.h, w32sock.h.
47604         (close_fd_maybe_socket): New function, essentially from lib/close.c.
47605         (close_sockets_hook): New variable.
47606         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
47607         (gl_sockets_cleanup): Unregister it.
47608         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
47609         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
47610         * modules/close-hook: New file.
47611         * modules/close (Files): Remove lib/w32sock.h.
47612         (Depends-on): Add close-hook.
47613         (Link): Remove section.
47614         * modules/sockets (Files): Add lib/w32sock.h.
47615         (Depends-on): Add close-hook.
47616         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
47617         invocation.
47618         * NEWS: Mention that LIB_CLOSE is gone.
47619
47620 2009-03-23  Eric Blake  <ebb9@byu.net>
47621
47622         signal-tests: test previous patch
47623         * tests/test-signal.c: New file.
47624         * modules/signal-tests: Likewise.
47625
47626         signal.h: always support 'volatile sig_atomic_t'
47627         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
47628         (gl_SIGNAL_H_DEFAULTS): Add a default.
47629         * modules/signal (Makefile.am): Substitute if needed.
47630         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
47631         users can blindly add volatile.
47632         * doc/posix-headers/signal.texi (signal.h): Document it.
47633         Reported by Matthew Woehlke.
47634
47635 2009-03-23  Jim Meyering  <meyering@redhat.com>
47636
47637         pathmax: PATH_MAX: use pathconf only when available
47638         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
47639         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
47640         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
47641         This avoids a link failure in a PSP cross-compilation environment
47642         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
47643
47644         * lib/vasnprintf.c (divide): Fix typo in comment.
47645
47646 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47647
47648         * gnulib-tool (func_filter_filelist): Fix comment.
47649
47650 2009-03-20  Bruno Haible  <bruno@clisp.org>
47651
47652         Make sockets.h self-contained.
47653         * lib/sockets.c: Include sockets.h first.
47654         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
47655
47656 2009-03-19  Eric Blake  <ebb9@byu.net>
47657
47658         doc: mention more functions added in cygwin 1.7.0
47659         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
47660         addition.
47661         * doc/posix-functions/log2f.texi: Likewise.
47662
47663 2009-03-19  Jim Meyering  <meyering@redhat.com>
47664
47665         fsusage: avoid syntax error due to statement-before-declaration
47666         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
47667         after all declarations.  Reported by Matthew Woehlke in
47668         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
47669
47670 2009-03-18  Eric Blake  <ebb9@byu.net>
47671
47672         build-aux/compile: sync from automake
47673         * build-aux/compile: New file, from automake.
47674         * config/srclist.txt: Mention build-aux/compile.
47675
47676 2009-03-17  Bruno Haible  <bruno@clisp.org>
47677
47678         * lib/git-merge-changelog.c: Fix typo in comment.
47679         Reported by Reuben Thomas <rrt@sc3d.org>.
47680
47681 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
47682
47683         * m4/regex.m4: update and improve help for
47684         --without-included-regex.
47685
47686 2009-03-17  Simon Josefsson  <simon@josefsson.org>
47687
47688         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
47689         failure on missing include files.
47690
47691 2009-03-17  Eric Blake  <ebb9@byu.net>
47692
47693         doc: mention more functions added in cygwin 1.7.0
47694         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
47695         addition.
47696         * doc/posix-functions/fwscanf.texi: Likewise.
47697         * doc/posix-functions/swprintf.texi: Likewise.
47698         * doc/posix-functions/swscanf.texi: Likewise.
47699         * doc/posix-functions/vfwprintf.texi: Likewise.
47700         * doc/posix-functions/vfwscanf.texi: Likewise.
47701         * doc/posix-functions/vswprintf.texi: Likewise.
47702         * doc/posix-functions/vswscanf.texi: Likewise.
47703         * doc/posix-functions/vwprintf.texi: Likewise.
47704         * doc/posix-functions/vwscanf.texi: Likewise.
47705         * doc/posix-functions/wcscasecmp.texi: Likewise.
47706         * doc/posix-functions/wcsdup.texi: Likewise.
47707         * doc/posix-functions/wcsftime.texi: Likewise.
47708         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47709         * doc/posix-functions/wprintf.texi: Likewise.
47710         * doc/posix-functions/wscanf.texi: Likewise.
47711         * doc/glibc-functions/gethostbyname2.texi: Likewise.
47712
47713 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47714
47715         maint.mk: really add $(AM_MAKEFLAGS)
47716         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
47717         was inadvertently omitted in the last commit.
47718         Spotted by Bruno Haible.
47719
47720         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
47721         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
47722         $(AM_MAKEFLAGS)' rather than plain `make'.
47723
47724         gnulib-tool: execute $MAKE not make
47725         * gnulib-tool: Default $MAKE to 'make'.
47726         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
47727         than make.  Initialize $MAKE in the do-autobuild script.
47728
47729         gnulib-tool: use $MAKE not make in generated files
47730         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
47731         make, in generated files.  Initialize $MAKE in the do-autobuild
47732         script.
47733
47734         * top/GNUmakefile (_have-git-version-gen): Fix typo.
47735
47736         GNUmakefile: disable parallelism only for multiple, recursive targets
47737         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
47738         additions in the Makefile.
47739         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
47740         by Automake.
47741         (.NOTPARALLEL): Only disable parallel builds if multiple targets
47742         are listed on the command line and at least one of them is
47743         listed in $(ALL_RECURSIVE_TARGETS).
47744
47745 2009-03-14  Bruno Haible  <bruno@clisp.org>
47746
47747         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
47748         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
47749         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
47750         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
47751         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
47752         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
47753         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
47754         unistr/u8-uctomb.
47755         * modules/unistr/u8-strchr (Depends-on): Likewise.
47756         * modules/unistr/u8-strrchr (Depends-on): Likewise.
47757         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
47758         unistr/u16-uctomb.
47759         * modules/unistr/u16-strchr (Depends-on): Likewise.
47760         * modules/unistr/u16-strrchr (Depends-on): Likewise.
47761
47762 2009-03-12  Bruno Haible  <bruno@clisp.org>
47763
47764         Work around select() bug on Interix 3.5.
47765         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
47766         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
47767         * m4/select.m4: New file.
47768         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
47769         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
47770         * modules/select (Files): Add m4/select.m4.
47771         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
47772         * modules/nanosleep (Depends-on): Add select.
47773         * modules/poll (Depends-on): Likewise.
47774         * doc/posix-functions/select.texi: Mention the Interix bug.
47775         Reported by Markus Duft <mduft@gentoo.org>.
47776
47777         * lib/select.c: Renamed from lib/winsock-select.c.
47778         * modules/select (Files): Add lib/select.c, remove
47779         lib/winsock-select.c.
47780         (configure.ac): Update.
47781
47782 2009-03-12  Jim Meyering  <meyering@redhat.com>
47783
47784         avoid gcc warnings about unused macro definitions
47785         * lib/readtokens.c (STREQ): Remove unused definition.
47786         * lib/xmalloc.c (SIZE_MAX): Likewise.
47787         * lib/openat-die.c (N_): Likewise.
47788         * lib/mountlist.c (SIZE_MAX): Remove definition.
47789         Instead, include <stdint.h>.
47790         * lib/readutmp.c: Likewise.
47791         * modules/readutmp (Depends-on): Add stdint.
47792         * modules/mountlist (Depends-on): Add stdint.
47793         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
47794
47795 2009-03-10  Bruno Haible  <bruno@clisp.org>
47796
47797         Tests for module 'mbmemcasecoll'.
47798         * modules/mbmemcasecoll-tests: New file.
47799         * tests/test-mbmemcasecoll1.sh: New file.
47800         * tests/test-mbmemcasecoll2.sh: New file.
47801         * tests/test-mbmemcasecoll3.sh: New file.
47802         * tests/test-mbmemcasecoll.c: New file.
47803
47804         New module 'mbmemcasecoll'.
47805         * lib/mbmemcasecoll.h: New file.
47806         * lib/mbmemcasecoll.c: New file.
47807         * modules/mbmemcasecoll: New file.
47808
47809         * tests/test-mbmemcasecmp.h: New file, extracted from
47810         tests/test-mbmemcasecmp.c.
47811         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
47812         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
47813         (main): Update.
47814         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
47815
47816 2009-03-09  Bruno Haible  <bruno@clisp.org>
47817
47818         Tests for module 'mbmemcasecmp'.
47819         * modules/mbmemcasecmp-tests: New file.
47820         * tests/test-mbmemcasecmp1.sh: New file.
47821         * tests/test-mbmemcasecmp2.sh: New file.
47822         * tests/test-mbmemcasecmp3.sh: New file.
47823         * tests/test-mbmemcasecmp.c: New file.
47824
47825         New module 'mbmemcasecmp'.
47826         * lib/mbmemcasecmp.h: New file.
47827         * lib/mbmemcasecmp.c: New file.
47828         * modules/mbmemcasecmp: New file.
47829
47830 2009-03-09  Bruno Haible  <bruno@clisp.org>
47831
47832         Tests for module 'unicase/ulc-casecoll'.
47833         * modules/unicase/ulc-casecoll-tests: New file.
47834         * tests/unicase/test-ulc-casecoll1.sh: New file.
47835         * tests/unicase/test-ulc-casecoll2.sh: New file.
47836         * tests/unicase/test-ulc-casecoll.c: New file.
47837
47838         New module 'unicase/ulc-casecoll'.
47839         * lib/unicase.h (ulc_casecoll): New declaration.
47840         * lib/unicase/ulc-casecoll.c: New file.
47841         * modules/unicase/ulc-casecoll: New file.
47842
47843         New module 'unicase/ulc-casexfrm'.
47844         * lib/unicase.h (ulc_casexfrm): New declaration.
47845         * lib/unicase/ulc-casexfrm.c: New file.
47846         * modules/unicase/ulc-casexfrm: New file.
47847
47848 2009-03-09  Bruno Haible  <bruno@clisp.org>
47849
47850         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
47851         invocations.
47852
47853         * m4/mbscasecmp.m4: Remove file.
47854         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
47855         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
47856
47857         * m4/mbscasestr.m4: Remove file.
47858         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
47859         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
47860
47861         * m4/mbschr.m4: Remove file.
47862         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
47863         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
47864
47865         * m4/mbscspn.m4: Remove file.
47866         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
47867         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
47868
47869         * m4/mbslen.m4: Remove file.
47870         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
47871         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
47872
47873         * m4/mbsncasecmp.m4: Remove file.
47874         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
47875         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
47876
47877         * m4/mbsnlen.m4: Remove file.
47878         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
47879         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
47880
47881         * m4/mbspbrk.m4: Remove file.
47882         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
47883         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
47884
47885         * m4/mbspcasecmp.m4: Remove file.
47886         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
47887         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
47888
47889         * m4/mbsrchr.m4: Remove file.
47890         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
47891         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
47892
47893         * m4/mbssep.m4: Remove file.
47894         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
47895         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
47896
47897         * m4/mbsspn.m4: Remove file.
47898         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
47899         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
47900
47901         * m4/mbsstr.m4: Remove file.
47902         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
47903         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
47904
47905         * m4/mbstok_r.m4: Remove file.
47906         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
47907         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
47908
47909         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
47910
47911         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
47912         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
47913
47914         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
47915
47916 2009-03-08  Bruno Haible  <bruno@clisp.org>
47917
47918         Tests for module 'unicase/ulc-casecmp'.
47919         * modules/unicase/ulc-casecmp-tests: New file.
47920         * tests/unicase/test-ulc-casecmp1.sh: New file.
47921         * tests/unicase/test-ulc-casecmp2.sh: New file.
47922         * tests/unicase/test-ulc-casecmp.c: New file.
47923
47924         New module 'unicase/ulc-casecmp'.
47925         * lib/unicase.h (ulc_casecmp): New declaration.
47926         * lib/unicase/ulc-casecmp.c: New file.
47927         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
47928         'const SRC_UNIT *'.
47929         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
47930         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
47931         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
47932         * modules/unicase/ulc-casecmp: New file.
47933
47934         Tests for module 'unicase/u32-is-cased'.
47935         * modules/unicase/u32-is-cased-tests: New file.
47936         * tests/unicase/test-u32-is-cased.c: New file.
47937
47938         Tests for module 'unicase/u16-is-cased'.
47939         * modules/unicase/u16-is-cased-tests: New file.
47940         * tests/unicase/test-u16-is-cased.c: New file.
47941
47942         Tests for module 'unicase/u8-is-cased'.
47943         * modules/unicase/u8-is-cased-tests: New file.
47944         * tests/unicase/test-u8-is-cased.c: New file.
47945         * tests/unicase/test-is-cased.h: New file.
47946
47947         New module 'unicase/u32-is-cased'.
47948         * lib/unicase/u32-is-cased.c: New file.
47949         * modules/unicase/u32-is-cased: New file.
47950
47951         New module 'unicase/u16-is-cased'.
47952         * lib/unicase/u16-is-cased.c: New file.
47953         * modules/unicase/u16-is-cased: New file.
47954
47955         New module 'unicase/u8-is-cased'.
47956         * lib/unicase/u8-is-cased.c: New file.
47957         * lib/unicase/u-is-cased.h: New file.
47958         * modules/unicase/u8-is-cased: New file.
47959
47960         Tests for module 'unicase/u32-is-casefolded'.
47961         * modules/unicase/u32-is-casefolded-tests: New file.
47962         * tests/unicase/test-u32-is-casefolded.c: New file.
47963
47964         Tests for module 'unicase/u16-is-casefolded'.
47965         * modules/unicase/u16-is-casefolded-tests: New file.
47966         * tests/unicase/test-u16-is-casefolded.c: New file.
47967
47968         Tests for module 'unicase/u8-is-casefolded'.
47969         * modules/unicase/u8-is-casefolded-tests: New file.
47970         * tests/unicase/test-u8-is-casefolded.c: New file.
47971         * tests/unicase/test-is-casefolded.h: New file.
47972
47973         New module 'unicase/u32-is-casefolded'.
47974         * lib/unicase/u32-is-casefolded.c: New file.
47975         * modules/unicase/u32-is-casefolded: New file.
47976
47977         New module 'unicase/u16-is-casefolded'.
47978         * lib/unicase/u16-is-casefolded.c: New file.
47979         * modules/unicase/u16-is-casefolded: New file.
47980
47981         New module 'unicase/u8-is-casefolded'.
47982         * lib/unicase/u8-is-casefolded.c: New file.
47983         * modules/unicase/u8-is-casefolded: New file.
47984
47985         Tests for module 'unicase/u32-is-titlecase'.
47986         * modules/unicase/u32-is-titlecase-tests: New file.
47987         * tests/unicase/test-u32-is-titlecase.c: New file.
47988
47989         Tests for module 'unicase/u16-is-titlecase'.
47990         * modules/unicase/u16-is-titlecase-tests: New file.
47991         * tests/unicase/test-u16-is-titlecase.c: New file.
47992
47993         Tests for module 'unicase/u8-is-titlecase'.
47994         * modules/unicase/u8-is-titlecase-tests: New file.
47995         * tests/unicase/test-u8-is-titlecase.c: New file.
47996         * tests/unicase/test-is-titlecase.h: New file.
47997
47998         New module 'unicase/u32-is-titlecase'.
47999         * lib/unicase/u32-is-titlecase.c: New file.
48000         * modules/unicase/u32-is-titlecase: New file.
48001
48002         New module 'unicase/u16-is-titlecase'.
48003         * lib/unicase/u16-is-titlecase.c: New file.
48004         * modules/unicase/u16-is-titlecase: New file.
48005
48006         New module 'unicase/u8-is-titlecase'.
48007         * lib/unicase/u8-is-titlecase.c: New file.
48008         * modules/unicase/u8-is-titlecase: New file.
48009
48010         Tests for module 'unicase/u32-is-lowercase'.
48011         * modules/unicase/u32-is-lowercase-tests: New file.
48012         * tests/unicase/test-u32-is-lowercase.c: New file.
48013
48014         Tests for module 'unicase/u16-is-lowercase'.
48015         * modules/unicase/u16-is-lowercase-tests: New file.
48016         * tests/unicase/test-u16-is-lowercase.c: New file.
48017
48018         Tests for module 'unicase/u8-is-lowercase'.
48019         * modules/unicase/u8-is-lowercase-tests: New file.
48020         * tests/unicase/test-u8-is-lowercase.c: New file.
48021         * tests/unicase/test-is-lowercase.h: New file.
48022
48023         New module 'unicase/u32-is-lowercase'.
48024         * lib/unicase/u32-is-lowercase.c: New file.
48025         * modules/unicase/u32-is-lowercase: New file.
48026
48027         New module 'unicase/u16-is-lowercase'.
48028         * lib/unicase/u16-is-lowercase.c: New file.
48029         * modules/unicase/u16-is-lowercase: New file.
48030
48031         New module 'unicase/u8-is-lowercase'.
48032         * lib/unicase/u8-is-lowercase.c: New file.
48033         * modules/unicase/u8-is-lowercase: New file.
48034
48035         Tests for module 'unicase/u32-is-uppercase'.
48036         * modules/unicase/u32-is-uppercase-tests: New file.
48037         * tests/unicase/test-u32-is-uppercase.c: New file.
48038
48039         Tests for module 'unicase/u16-is-uppercase'.
48040         * modules/unicase/u16-is-uppercase-tests: New file.
48041         * tests/unicase/test-u16-is-uppercase.c: New file.
48042
48043         Tests for module 'unicase/u8-is-uppercase'.
48044         * modules/unicase/u8-is-uppercase-tests: New file.
48045         * tests/unicase/test-u8-is-uppercase.c: New file.
48046         * tests/unicase/test-is-uppercase.h: New file.
48047
48048         New module 'unicase/u32-is-uppercase'.
48049         * lib/unicase/u32-is-uppercase.c: New file.
48050         * modules/unicase/u32-is-uppercase: New file.
48051
48052         New module 'unicase/u16-is-uppercase'.
48053         * lib/unicase/u16-is-uppercase.c: New file.
48054         * modules/unicase/u16-is-uppercase: New file.
48055
48056         New module 'unicase/u8-is-uppercase'.
48057         * lib/unicase/u8-is-uppercase.c: New file.
48058         * modules/unicase/u8-is-uppercase: New file.
48059
48060         New module 'unicase/u32-is-invariant'.
48061         * lib/unicase/u32-is-invariant.c: New file.
48062         * modules/unicase/u32-is-invariant: New file.
48063
48064         New module 'unicase/u16-is-invariant'.
48065         * lib/unicase/u16-is-invariant.c: New file.
48066         * modules/unicase/u16-is-invariant: New file.
48067
48068         New module 'unicase/u8-is-invariant'.
48069         * lib/unicase/u8-is-invariant.c: New file.
48070         * lib/unicase/invariant.h: New file.
48071         * lib/unicase/u-is-invariant.h: New file.
48072         * modules/unicase/u8-is-invariant: New file.
48073
48074         Tests for module 'unicase/u32-casecoll'.
48075         * modules/unicase/u32-casecoll-tests: New file.
48076         * tests/unicase/test-u32-casecoll.c: New file.
48077
48078         Tests for module 'unicase/u16-casecoll'.
48079         * modules/unicase/u16-casecoll-tests: New file.
48080         * tests/unicase/test-u16-casecoll.c: New file.
48081
48082         Tests for module 'unicase/u8-casecoll'.
48083         * modules/unicase/u8-casecoll-tests: New file.
48084         * tests/unicase/test-u8-casecoll.c: New file.
48085
48086         New module 'unicase/u32-casecoll'.
48087         * lib/unicase/u32-casecoll.c: New file.
48088         * modules/unicase/u32-casecoll: New file.
48089
48090         New module 'unicase/u16-casecoll'.
48091         * lib/unicase/u16-casecoll.c: New file.
48092         * modules/unicase/u16-casecoll: New file.
48093
48094         New module 'unicase/u8-casecoll'.
48095         * lib/unicase/u8-casecoll.c: New file.
48096         * lib/unicase/u-casecoll.h: New file.
48097         * modules/unicase/u8-casecoll: New file.
48098
48099         New module 'unicase/u32-casexfrm'.
48100         * lib/unicase/u32-casexfrm.c: New file.
48101         * modules/unicase/u32-casexfrm: New file.
48102
48103         New module 'unicase/u16-casexfrm'.
48104         * lib/unicase/u16-casexfrm.c: New file.
48105         * modules/unicase/u16-casexfrm: New file.
48106
48107         New module 'unicase/u8-casexfrm'.
48108         * lib/unicase/u8-casexfrm.c: New file.
48109         * lib/unicase/u-casexfrm.h: New file.
48110         * modules/unicase/u8-casexfrm: New file.
48111
48112         Tests for module 'unicase/u32-casecmp'.
48113         * modules/unicase/u32-casecmp-tests: New file.
48114         * tests/unicase/test-u32-casecmp.c: New file.
48115
48116         Tests for module 'unicase/u16-casecmp'.
48117         * modules/unicase/u16-casecmp-tests: New file.
48118         * tests/unicase/test-u16-casecmp.c: New file.
48119
48120         Tests for module 'unicase/u8-casecmp'.
48121         * modules/unicase/u8-casecmp-tests: New file.
48122         * tests/unicase/test-u8-casecmp.c: New file.
48123         * tests/unicase/test-casecmp.h: New file.
48124
48125         New module 'unicase/u32-casecmp'.
48126         * lib/unicase/u32-casecmp.c: New file.
48127         * modules/unicase/u32-casecmp: New file.
48128
48129         New module 'unicase/u16-casecmp'.
48130         * lib/unicase/u16-casecmp.c: New file.
48131         * modules/unicase/u16-casecmp: New file.
48132
48133         New module 'unicase/u8-casecmp'.
48134         * lib/unicase/u8-casecmp.c: New file.
48135         * lib/unicase/u-casecmp.h: New file.
48136         * modules/unicase/u8-casecmp: New file.
48137
48138         Tests for module 'unicase/u32-casefold'.
48139         * modules/unicase/u32-casefold-tests: New file.
48140         * tests/unicase/test-u32-casefold.c: New file.
48141
48142         Tests for module 'unicase/u16-casefold'.
48143         * modules/unicase/u16-casefold-tests: New file.
48144         * tests/unicase/test-u16-casefold.c: New file.
48145
48146         Tests for module 'unicase/u8-casefold'.
48147         * modules/unicase/u8-casefold-tests: New file.
48148         * tests/unicase/test-u8-casefold.c: New file.
48149
48150         New module 'unicase/u32-casefold'.
48151         * lib/unicase/u32-casefold.c: New file.
48152         * modules/unicase/u32-casefold: New file.
48153
48154         New module 'unicase/u16-casefold'.
48155         * lib/unicase/u16-casefold.c: New file.
48156         * modules/unicase/u16-casefold: New file.
48157
48158         New module 'unicase/u8-casefold'.
48159         * lib/unicase/u8-casefold.c: New file.
48160         * lib/unicase/u-casefold.h: New file.
48161         * modules/unicase/u8-casefold: New file.
48162
48163         New module 'unicase/tocasefold'.
48164         * lib/unicase/casefold.h: New file.
48165         * lib/unicase/tocasefold.c: New file.
48166         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
48167         * modules/unicase/tocasefold: New file.
48168
48169         Tests for module 'unicase/u32-totitle'.
48170         * modules/unicase/u32-totitle-tests: New file.
48171         * tests/unicase/test-u32-totitle.c: New file.
48172
48173         Tests for module 'unicase/u16-totitle'.
48174         * modules/unicase/u16-totitle-tests: New file.
48175         * tests/unicase/test-u16-totitle.c: New file.
48176
48177         Tests for module 'unicase/u8-totitle'.
48178         * modules/unicase/u8-totitle-tests: New file.
48179         * tests/unicase/test-u8-totitle.c: New file.
48180
48181         New module 'unicase/u32-totitle'.
48182         * lib/unicase/u32-totitle.c: New file.
48183         * modules/unicase/u32-totitle: New file.
48184
48185         New module 'unicase/u16-totitle'.
48186         * lib/unicase/u16-totitle.c: New file.
48187         * modules/unicase/u16-totitle: New file.
48188
48189         New module 'unicase/u8-totitle'.
48190         * lib/unicase/u8-totitle.c: New file.
48191         * lib/unicase/u-totitle.h: New file.
48192         * modules/unicase/u8-totitle: New file.
48193
48194         Tests for module 'unicase/u32-tolower'.
48195         * modules/unicase/u32-tolower-tests: New file.
48196         * tests/unicase/test-u32-tolower.c: New file.
48197
48198         Tests for module 'unicase/u16-tolower'.
48199         * modules/unicase/u16-tolower-tests: New file.
48200         * tests/unicase/test-u16-tolower.c: New file.
48201
48202         Tests for module 'unicase/u8-tolower'.
48203         * modules/unicase/u8-tolower-tests: New file.
48204         * tests/unicase/test-u8-tolower.c: New file.
48205
48206         New module 'unicase/u32-tolower'.
48207         * lib/unicase/u32-tolower.c: New file.
48208         * modules/unicase/u32-tolower: New file.
48209
48210         New module 'unicase/u16-tolower'.
48211         * lib/unicase/u16-tolower.c: New file.
48212         * modules/unicase/u16-tolower: New file.
48213
48214         New module 'unicase/u8-tolower'.
48215         * lib/unicase/u8-tolower.c: New file.
48216         * modules/unicase/u8-tolower: New file.
48217
48218         Tests for module 'unicase/u32-toupper'.
48219         * modules/unicase/u32-toupper-tests: New file.
48220         * tests/unicase/test-u32-toupper.c: New file.
48221
48222         Tests for module 'unicase/u16-toupper'.
48223         * modules/unicase/u16-toupper-tests: New file.
48224         * tests/unicase/test-u16-toupper.c: New file.
48225
48226         Tests for module 'unicase/u8-toupper'.
48227         * modules/unicase/u8-toupper-tests: New file.
48228         * tests/unicase/test-u8-toupper.c: New file.
48229
48230         New module 'unicase/u32-toupper'.
48231         * lib/unicase/u32-toupper.c: New file.
48232         * modules/unicase/u32-toupper: New file.
48233
48234         New module 'unicase/u16-toupper'.
48235         * lib/unicase/u16-toupper.c: New file.
48236         * modules/unicase/u16-toupper: New file.
48237
48238         New module 'unicase/u8-toupper'.
48239         * lib/unicase/u8-toupper.c: New file.
48240         * modules/unicase/u8-toupper: New file.
48241
48242         New module 'unicase/u32-casemap'.
48243         * lib/unicase/u32-casemap.c: New file.
48244         * modules/unicase/u32-casemap: New file.
48245
48246         New module 'unicase/u16-casemap'.
48247         * lib/unicase/u16-casemap.c: New file.
48248         * modules/unicase/u16-casemap: New file.
48249
48250         New module 'unicase/u8-casemap'.
48251         * lib/unicase/unicasemap.h: New file.
48252         * lib/unicase/u8-casemap.c: New file.
48253         * lib/unicase/u-casemap.h: New file.
48254         * modules/unicase/u8-casemap: New file.
48255
48256         New module 'unicase/special-casing'.
48257         * lib/unicase/special-casing.h: New file.
48258         * lib/unicase/special-casing.c: New file.
48259         * lib/unicase/special-casing-table.gperf: New file, generated by
48260         gen-uni-tables.c.
48261         * modules/unicase/special-casing: New file.
48262
48263         Tests for module 'unicase/locale-language'.
48264         * modules/unicase/locale-language-tests: New file.
48265         * tests/unicase/test-locale-language.sh: New file.
48266         * tests/unicase/test-locale-language.c: New file.
48267
48268         New module 'unicase/locale-language'.
48269         * lib/unicase/locale-language.c: New file.
48270         * lib/unicase/locale-languages.gperf: New file.
48271         * modules/unicase/locale-language: New file.
48272
48273         Generate more tables for case conversion and case folding.
48274         * lib/gen-uni-tables.c (SCC_*): New enum items.
48275         (struct special_casing_rule): New type.
48276         (casing_rules, num_casing_rules, allocated_casing_rules): New
48277         variables.
48278         (add_casing_rule, fill_casing_rules): New functions.
48279         (struct casefold_rule): New type.
48280         (casefolding_rules, num_casefolding_rules,
48281         allocated_casefolding_rules): New variables.
48282         (fill_casefolding_rules): New function.
48283         (unicode_casefold): New variable.
48284         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
48285         sort_casing_rules, output_casing_rules): New functions.
48286         (main): Accept to more arguments: SpecialCasing.txt and
48287         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
48288         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
48289         Output mapping for casefolding.
48290
48291         * lib/unicase.h: Include stdbool.h, uninorm.h.
48292         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
48293         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
48294         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
48295         arguments.
48296         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
48297         resultp arguments.
48298         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
48299         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
48300         resultp arguments.
48301         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
48302         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
48303         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
48304         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
48305         declarations.
48306         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
48307
48308 2009-03-08  Bruno Haible  <bruno@clisp.org>
48309
48310         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
48311         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
48312         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
48313         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
48314
48315 2009-03-07  Bruno Haible  <bruno@clisp.org>
48316
48317         Adjust u*_normcmp, u*_normcoll API.
48318         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
48319         u16_normcoll, u32_normcoll): Change failure conventions.
48320         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
48321         errno and return -1.
48322         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
48323
48324 2009-03-07  Bruno Haible  <bruno@clisp.org>
48325
48326         Tests for module 'uninorm/u32-normcoll'.
48327         * modules/uninorm/u32-normcoll-tests: New file.
48328         * tests/uninorm/test-u32-normcoll.c: New file.
48329
48330         Tests for module 'uninorm/u16-normcoll'.
48331         * modules/uninorm/u16-normcoll-tests: New file.
48332         * tests/uninorm/test-u16-normcoll.c: New file.
48333
48334         Tests for module 'uninorm/u8-normcoll'.
48335         * modules/uninorm/u8-normcoll-tests: New file.
48336         * tests/uninorm/test-u8-normcoll.c: New file.
48337
48338 2009-03-07  Bruno Haible  <bruno@clisp.org>
48339
48340         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
48341         tests/uninorm/test-u32-normcmp.c.
48342         * tests/uninorm/test-u32-normcmp.c: Include it.
48343         (test_nonascii): New function, extracted from main. Add some more
48344         tests.
48345         (main): Invoke test_ascii and test_nonascii.
48346         * modules/uninorm/u32-normcmp-tests (Files): Add
48347         tests/uninorm/test-u32-normcmp.h.
48348         (Depends-on): Remove uninorm/u32-normcmp.
48349
48350         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
48351         tests/uninorm/test-u16-normcmp.c.
48352         * tests/uninorm/test-u16-normcmp.c: Include it.
48353         (test_nonascii): New function, extracted from main. Add some more
48354         tests.
48355         (main): Invoke test_ascii and test_nonascii.
48356         * modules/uninorm/u16-normcmp-tests (Files): Add
48357         tests/uninorm/test-u16-normcmp.h.
48358         (Depends-on): Remove uninorm/u16-normcmp.
48359
48360         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
48361         tests/uninorm/test-u8-normcmp.c.
48362         * tests/uninorm/test-u8-normcmp.c: Include it.
48363         (test_nonascii): New function, extracted from main. Add some more
48364         tests.
48365         (main): Invoke test_ascii and test_nonascii.
48366         * modules/uninorm/u8-normcmp-tests (Files): Add
48367         tests/uninorm/test-u8-normcmp.h.
48368         (Depends-on): Remove uninorm/u8-normcmp.
48369
48370 2009-03-07  Bruno Haible  <bruno@clisp.org>
48371
48372         New module 'uninorm/u32-normcoll'.
48373         * lib/uninorm/u32-normcoll.c: New file.
48374         * modules/uninorm/u32-normcoll: New file.
48375
48376         New module 'uninorm/u16-normcoll'.
48377         * lib/uninorm/u16-normcoll.c: New file.
48378         * modules/uninorm/u16-normcoll: New file.
48379
48380         New module 'uninorm/u8-normcoll'.
48381         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
48382         declarations.
48383         * lib/uninorm/u8-normcoll.c: New file.
48384         * lib/uninorm/u-normcoll.h: New file.
48385         * modules/uninorm/u8-normcoll: New file.
48386
48387         New module 'uninorm/u32-normxfrm'.
48388         * lib/uninorm/u32-normxfrm.c: New file.
48389         * modules/uninorm/u32-normxfrm: New file.
48390
48391         New module 'uninorm/u16-normxfrm'.
48392         * lib/uninorm/u16-normxfrm.c: New file.
48393         * modules/uninorm/u16-normxfrm: New file.
48394
48395         New module 'uninorm/u8-normxfrm'.
48396         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
48397         declarations.
48398         * lib/uninorm/u8-normxfrm.c: New file.
48399         * lib/uninorm/u-normxfrm.h: New file.
48400         * modules/uninorm/u8-normxfrm: New file.
48401
48402 2009-03-07  Bruno Haible  <bruno@clisp.org>
48403
48404         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
48405         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
48406         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
48407
48408 2009-03-07  Bruno Haible  <bruno@clisp.org>
48409
48410         New module 'memxfrm'.
48411         * lib/memxfrm.h: New file.
48412         * lib/memxfrm.c: New file.
48413         * modules/memxfrm: New file.
48414
48415 2009-03-07  Bruno Haible  <bruno@clisp.org>
48416
48417         New module 'memcmp2'.
48418         * lib/memcmp2.h: New file.
48419         * lib/memcmp2.c: New file.
48420         * modules/memcmp2: New file.
48421
48422 2009-03-07  Bruno Haible  <bruno@clisp.org>
48423
48424         Tests for module 'uninorm/decomposing-form'.
48425         * modules/uninorm/decomposing-form-tests: New file.
48426         * tests/uninorm/test-decomposing-form.c: New file.
48427
48428         New module 'uninorm/decomposing-form'.
48429         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
48430         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
48431         Add 'decomposing_variant' field.
48432         * lib/uninorm/decomposing-form.c: New file.
48433         * lib/uninorm/nfc.c (uninorm_nfc): Update.
48434         * lib/uninorm/nfd.c (uninorm_nfd): Update.
48435         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
48436         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
48437         * modules/uninorm/decomposing-form: New file.
48438         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
48439         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
48440
48441 2009-03-07  Bruno Haible  <bruno@clisp.org>
48442
48443         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
48444         strings.
48445
48446 2009-03-06  Bruno Haible  <bruno@clisp.org>
48447
48448         Tests for module 'uninorm/u32-normcmp'.
48449         * tests/uninorm/test-u32-normcmp.c: New file.
48450         * modules/uninorm/u32-normcmp-tests: New file.
48451
48452         Tests for module 'uninorm/u16-normcmp'.
48453         * tests/uninorm/test-u16-normcmp.c: New file.
48454         * modules/uninorm/u16-normcmp-tests: New file.
48455
48456         Tests for module 'uninorm/u8-normcmp'.
48457         * tests/uninorm/test-u8-normcmp.c: New file.
48458         * modules/uninorm/u8-normcmp-tests: New file.
48459
48460         New module 'uninorm/u32-normcmp'.
48461         * lib/uninorm/u32-normcmp.c: New file.
48462         * modules/uninorm/u32-normcmp: New file.
48463
48464         New module 'uninorm/u16-normcmp'.
48465         * lib/uninorm/u16-normcmp.c: New file.
48466         * modules/uninorm/u16-normcmp: New file.
48467
48468         New module 'uninorm/u8-normcmp'.
48469         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
48470         declarations.
48471         * lib/uninorm/u8-normcmp.c: New file.
48472         * lib/uninorm/u-normcmp.h: New file.
48473         * modules/uninorm/u8-normcmp: New file.
48474
48475 2009-03-06  Bruno Haible  <bruno@clisp.org>
48476
48477         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
48478         Reported by Eric Blake.
48479
48480 2009-03-06  Eric Blake  <ebb9@byu.net>
48481             Bruno Haible  <bruno@clisp.org>
48482
48483         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
48484         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
48485         condition.
48486         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
48487         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
48488         condition.
48489         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
48490
48491 2009-03-06  Eric Blake  <ebb9@byu.net>
48492
48493         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
48494         to avoid compiler warnings.
48495         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
48496
48497 2009-03-05  Bruno Haible  <bruno@clisp.org>
48498
48499         * tests/test-ftell.c (main): Disable test beyond end of file on
48500         FreeMiNT.
48501         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
48502
48503 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
48504
48505         * lib/filevercmp.c: Move hidden files up in ordering.
48506         * tests/test-filevercmp.c: Add tests for hidden files.
48507
48508 2009-03-04  Bruno Haible  <bruno@clisp.org>
48509
48510         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
48511         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
48512         AM_CFLAGS.
48513         Reported by Simon Josefsson.
48514
48515 2009-03-03  Bruno Haible  <bruno@clisp.org>
48516
48517         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
48518         Reported by Simon Josefsson.
48519
48520         * doc/ld-version-script.texi: Update node reference.
48521
48522 2009-03-03  Bruno Haible  <bruno@clisp.org>
48523
48524         * modules/visibility (License): Change to 'unlimited'.
48525         Suggested by Simon Josefsson.
48526
48527 2009-03-03  Jim Meyering  <meyering@redhat.com>
48528
48529         unlinkdir: cannot_unlink_dir may modify process state
48530         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
48531         it's neither thread-safe nor appropriate for use in a library.
48532
48533 2009-03-03  Eric Blake  <ebb9@byu.net>
48534
48535         test-closein: silence test under Darwin
48536         * tests/test-closein.sh: Ignore stderr from cat, since we don't
48537         care if it dies from EPIPE or EBADF.
48538
48539 2009-03-03  Bruno Haible  <bruno@clisp.org>
48540
48541         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
48542         earlier.
48543         * doc/visibility.texi: Fix @node and @section.
48544
48545 2009-03-03  Simon Josefsson  <simon@josefsson.org>
48546
48547         * doc/gnulib.texi: Link to sections for ld version script and
48548         visibility.
48549         * doc/visibility.texi: Add @node and @section.
48550         * modules/ld-version-script: New module.
48551         * m4/ld-version-script.m4: New file.
48552         * doc/ld-version-script.texi: New file.
48553
48554 2009-03-02  David Lutterkort  <lutter@redhat.com>
48555
48556         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
48557         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48558
48559 2009-03-02  Bruno Haible  <bruno@clisp.org>
48560
48561         * doc/visibility.texi: Mention libtool's -export-symbols option.
48562
48563 2009-03-02  Jim Meyering  <meyering@redhat.com>
48564
48565         announce-gen: new option: --no-print-checksums
48566         * build-aux/announce-gen (usage): Describe it.
48567         (print_checksums): Print a newline here, not in the [*] footnote.
48568         (main): Honor it.
48569
48570 2009-03-01  Bruno Haible  <bruno@clisp.org>
48571
48572         Use socklen_t in the native Windows replacements prototypes.
48573         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
48574         instead of 'int'.
48575         * lib/getsockopt.c (rpl_getsockopt): Likewise.
48576         * lib/setsockopt.c (rpl_setsockopt): Likewise.
48577         * modules/getsockopt (Depends-on): Add socklen.
48578         * modules/setsockopt (Depends-on): Add socklen.
48579
48580 2009-03-01  Bruno Haible  <bruno@clisp.org>
48581
48582         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
48583         least 4.2.
48584
48585 2009-03-01  Eric Blake  <ebb9@byu.net>
48586             Bruno Haible  <bruno@clisp.org>
48587
48588         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
48589         error messages.
48590         * lib/wait-process.c (wait_subprocess): Omit error message about
48591         deadly signal sent to the child of termsigp != NULL.
48592
48593 2009-03-01  Eric Blake  <ebb9@byu.net>
48594
48595         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
48596
48597 2009-03-01  Bruno Haible  <bruno@clisp.org>
48598
48599         Avoid a gcc warning.
48600         * tests/test-sched.c (b): Make global.
48601         Reported by Eric Blake.
48602
48603 2009-01-19  Martin Lambers  <marlam@marlam.de>
48604
48605         Provide POSIX semantics for socket timeout options on W32.
48606         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
48607         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
48608         * modules/setsockopt: Depend on sys_time module for struct timeval.
48609         * modules/getsockopt: Depend on sys_time module for struct timeval.
48610
48611 2009-03-01  Simon Josefsson  <simon@josefsson.org>
48612
48613         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
48614         __USE_GNU, for consistency with netdb.in.h.
48615         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48616
48617 2009-03-01  Bruno Haible  <bruno@clisp.org>
48618
48619         More support for FreeMiNT.
48620         * lib/fseeko.c (rpl_fseeko): Complete last commit.
48621         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48622
48623 2009-03-01  Bruno Haible  <bruno@clisp.org>
48624
48625         More support for FreeMiNT.
48626         * lib/fpurge.c (fpurge): Correct last commit.
48627         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48628
48629 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48630
48631         Fix unportable awk script in vc-list-files.
48632         * build-aux/vc-list-files: In the replacement awk script, use
48633         substr with a second argument of 1, not zero.
48634         Report by Simon Josefsson.
48635
48636 2009-02-28  Bruno Haible  <bruno@clisp.org>
48637
48638         More support for FreeMiNT.
48639         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
48640         to FreeMiNT today.
48641         * lib/fwriting.c (fwriting): Likewise.
48642         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
48643
48644 2009-02-28  Bruno Haible  <bruno@clisp.org>
48645
48646         * tests/test-freadseek.c (main): Disable test beyond end of file on
48647         FreeMiNT.
48648         * tests/test-ftello.c (main): Likewise.
48649         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
48650
48651 2009-02-28  Bruno Haible  <bruno@clisp.org>
48652
48653         Add tentative support for FreeMiNT.
48654         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
48655         * lib/fpurge.c (fpurge): Likewise.
48656         * lib/freadable.c (freadable): Likewise.
48657         * lib/freading.c (freading): Likewise.
48658         * lib/freadptr.c (freadptr): Likewise.
48659         * lib/freadseek.c (freadptrinc): Likewise.
48660         * lib/fseeko.c (rpl_fseeko): Likewise.
48661         * lib/fseterr.c (fseterr): Likewise.
48662         * lib/fwritable.c (fwritable): Likewise.
48663         * lib/fwriting.c (fwriting): Likewise.
48664         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
48665         Hourihane.
48666         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48667
48668 2009-02-28  Bruno Haible  <bruno@clisp.org>
48669
48670         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
48671         SIGCHLD.
48672         Reported by Jim Meyering.
48673
48674 2009-02-28  Bruno Haible  <bruno@clisp.org>
48675
48676         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
48677         Mention the results of these tests on various platforms.
48678         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
48679         order.
48680         * doc/posix-functions/printf.texi: Likewise.
48681         * doc/posix-functions/snprintf.texi: Likewise.
48682         * doc/posix-functions/sprintf.texi: Likewise.
48683         * doc/posix-functions/vfprintf.texi: Likewise.
48684         * doc/posix-functions/vprintf.texi: Likewise.
48685         * doc/posix-functions/vsnprintf.texi: Likewise.
48686         * doc/posix-functions/vsprintf.texi: Likewise.
48687         * doc/glibc-functions/obstack_printf.texi: Likewise.
48688         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
48689
48690 2009-02-28  Bruno Haible  <bruno@clisp.org>
48691
48692         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
48693         Reported by Loïc Minier <lool@dooz.org>.
48694
48695 2009-02-27  Bruno Haible  <bruno@clisp.org>
48696
48697         * gnulib-tool (func_import): Make the sed expression used to create the
48698         sed script for updating the .gitignore file POSIX compliant.
48699         Reported by Eric Blake.
48700
48701 2009-02-27  Bruno Haible  <bruno@clisp.org>
48702
48703         * gnulib-tool (sed): Don't alias as "sed --posix".
48704         Reported by Eric Blake.
48705
48706 2009-02-27  Bruno Haible  <bruno@clisp.org>
48707
48708         Avoid test link errors.
48709         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
48710         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
48711         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
48712         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
48713         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48714
48715 2009-02-27  Bruno Haible  <bruno@clisp.org>
48716
48717         Avoid spurious "(cached)" in configure output.
48718         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
48719         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
48720         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48721         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48722         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48723         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48724         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48725         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48726         Reported by Eric Blake.
48727
48728 2009-02-27  Eric Blake  <ebb9@byu.net>
48729
48730         printf: fix regression in previous patch
48731         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
48732
48733 2009-02-27  Bruno Haible  <bruno@clisp.org>
48734
48735         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
48736         value.
48737         * lib/stdint.in.h: Likewise.
48738         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
48739
48740 2009-02-27  Eric Blake  <ebb9@byu.net>
48741
48742         doc: mention more functions added in cygwin 1.7.0
48743         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
48744         addition.
48745         * doc/posix-functions/open_wmemstream.texi: Likewise.
48746         * doc/posix-functions/wcsnlen.texi: Likewise.
48747         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48748         * doc/posix-functions/wcstod.texi: Likewise.
48749         * doc/posix-functions/wcstof.texi: Likewise.
48750         * doc/posix-functions/wcstoimax.texi: Likewise.
48751         * doc/posix-functions/wcstok.texi: Likewise.
48752         * doc/posix-functions/wcstoumax.texi: Likewise.
48753
48754         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
48755         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
48756         * doc/posix-functions/fprintf.texi: Update.
48757         * doc/posix-functions/printf.texi: Update.
48758         * doc/posix-functions/snprintf.texi: Update.
48759         * doc/posix-functions/sprintf.texi: Update.
48760         * doc/posix-functions/vfprintf.texi: Update.
48761         * doc/posix-functions/vprintf.texi: Update.
48762         * doc/posix-functions/vsnprintf.texi: Update.
48763         * doc/posix-functions/vsprintf.texi: Update.
48764         * doc/glibc-functions/obstack_printf.texi: Update.
48765         * doc/glibc-functions/obstack_vprintf.texi: Update.
48766
48767 2009-02-26  Eric Blake  <ebb9@byu.net>
48768
48769         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
48770         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
48771         compilation bug by using runtime conversion.
48772         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48773         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
48774         * modules/ceill-tests (Files): Use nan.h.
48775         * modules/floorl-tests (Files): Likewise.
48776         * modules/frexpl-tests (Files): Likewise.
48777         * modules/isnanl-tests (Files): Likewise.
48778         * modules/ldexpl-tests (Files): Likewise.
48779         * modules/roundl-tests (Files): Likewise.
48780         * modules/truncl-tests (Files): Likewise.
48781         * tests/test-ceill.c (main): Use a working NaN.
48782         * tests/test-floorl.c (main): Likewise.
48783         * tests/test-frexpl.c (main): Likewise.
48784         * tests/test-isnan.c (test_long_double): Likewise.
48785         * tests/test-isnanl.h (main): Likewise.
48786         * tests/test-ldexpl.h (main): Likewise.
48787         * tests/test-roundl.h (main): Likewise.
48788         * tests/test-truncl.h (main): Likewise.
48789         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
48790
48791 2009-02-26  Eric Blake  <ebb9@byu.net>
48792             Bruno Haible  <bruno@clisp.org>
48793
48794         Work around a *printf bug with %ls on Solaris.
48795         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
48796         precision is specified, sprintf stops converting the wide string
48797         argument when the number of bytes that have been produced by this
48798         conversion equals or exceeds the precision.
48799         * doc/posix-functions/fprintf.texi: Update.
48800         * doc/posix-functions/printf.texi: Update.
48801         * doc/posix-functions/snprintf.texi: Update.
48802         * doc/posix-functions/sprintf.texi: Update.
48803         * doc/posix-functions/vfprintf.texi: Update.
48804         * doc/posix-functions/vprintf.texi: Update.
48805         * doc/posix-functions/vsnprintf.texi: Update.
48806         * doc/posix-functions/vsprintf.texi: Update.
48807         * doc/glibc-functions/obstack_printf.texi: Update.
48808         * doc/glibc-functions/obstack_vprintf.texi: Update.
48809
48810 2009-02-26  Eric Blake  <ebb9@byu.net>
48811
48812         stdlib: favor compiler check of random.h
48813         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
48814         to avoid an ObjC random.h installed by Swarm.
48815
48816 2009-02-26  Bruno Haible  <bruno@clisp.org>
48817
48818         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
48819         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
48820         Reported by Gary V. Vaughan <gary@gnu.org>.
48821
48822 2009-02-26  Bruno Haible  <bruno@clisp.org>
48823
48824         Fix *printf behaviour regarding the %ls directive.
48825         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
48826         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
48827         NEED_PRINTF_DIRECTIVE_LS.
48828         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
48829         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48830         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48831         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
48832         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
48833         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
48834         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48835         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48836         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48837         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48838         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48839         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
48840         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48841         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48842         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48843         * doc/posix-functions/fprintf.texi: Update.
48844         * doc/posix-functions/printf.texi: Update.
48845         * doc/posix-functions/snprintf.texi: Update.
48846         * doc/posix-functions/sprintf.texi: Update.
48847         * doc/posix-functions/vfprintf.texi: Update.
48848         * doc/posix-functions/vprintf.texi: Update.
48849         * doc/posix-functions/vsnprintf.texi: Update.
48850         * doc/posix-functions/vsprintf.texi: Update.
48851         * doc/glibc-functions/obstack_printf.texi: Update.
48852         * doc/glibc-functions/obstack_vprintf.texi: Update.
48853         Reported by Eric Blake.
48854
48855 2009-02-25  Bruno Haible  <bruno@clisp.org>
48856
48857         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
48858         with known value.
48859         Reported by Gary V. Vaughan <gary@gnu.org>.
48860
48861 2009-02-25  Bruno Haible  <bruno@clisp.org>
48862
48863         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
48864         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
48865         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
48866         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
48867         Reported by Gary V. Vaughan <gary@gnu.org>.
48868
48869 2009-02-25  Bruno Haible  <bruno@clisp.org>
48870
48871         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
48872         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
48873         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
48874         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
48875         Reported by Gary V. Vaughan <gary@gnu.org>.
48876
48877 2009-02-25  Eric Blake  <ebb9@byu.net>
48878
48879         tests: skip fseek/ftell tests if ungetc is broken
48880         * m4/ungetc.m4: New file.
48881         * modules/fseek-tests: Split test, so ungetc dependency is
48882         separate from rest of test.
48883         * modules/fseeko-tests: Likewise.
48884         * modules/ftell-tests: Likewise.
48885         * modules/ftello-tests: Likewise.
48886         * tests/test-fseek.c (main): Isolate ungetc dependency.
48887         * tests/test-fseeko.c (main): Likewise.
48888         * tests/test-ftell.c (main): Likewise.
48889         * tests/test-ftello.c (main): Likewise.
48890         * tests/test-fseek2.sh: New file.
48891         * tests/test-fseeko2.sh: Likewise.
48892         * tests/test-ftell2.sh: Likewise.
48893         * tests/test-ftello2.sh: Likewise.
48894
48895 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
48896
48897         test-getaddrinfo: fix usage of skip return code 77
48898         * tests/test-gettaddrinfo.c: Return skip code 77 only
48899         for first occurrence of skip (4x77 is not 77)
48900
48901 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
48902
48903         strtod: avoid C99 decl-after-statement
48904         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
48905
48906 2009-02-24  Eric Blake  <ebb9@byu.net>
48907
48908         strtod: detect HP-UX 11.31 bug
48909         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
48910         Reported by Gary V. Vaughan.
48911
48912 2009-02-23  Bruno Haible  <bruno@clisp.org>
48913
48914         Fix invalid read past end of memory block.
48915         * lib/vasnprintf.c (DCHAR_SET): Define.
48916         (local_wcslen): Define only when needed.
48917         (local_strnlen, local_wcsnlen): New functions.
48918         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
48919         directives that involve a conversion ourselves.
48920         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
48921         wcsnlen, mbrtowc, wcrtomb.
48922         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
48923         * tests/test-vasprintf-posix.c (test_function): Likewise.
48924         * tests/test-snprintf-posix.h (test_function): Likewise.
48925         * tests/test-sprintf-posix.h (test_function): Likewise.
48926         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48927
48928 2009-02-22  Bruno Haible  <bruno@clisp.org>
48929
48930         Implement new clarified decomposition of Hangul syllables.
48931         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
48932         of type LTV, return only a pairwise decomposition.
48933         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
48934         Likewise.
48935         * tests/uninorm/test-decomposition.c (main): Updated expected result.
48936         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
48937         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
48938
48939 2009-02-22  Bruno Haible  <bruno@clisp.org>
48940
48941         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
48942         zero-length results and shrink excess allocated memory.
48943         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
48944         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
48945         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
48946         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
48947         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
48948         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
48949         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
48950         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
48951         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
48952         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
48953         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
48954         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
48955
48956 2009-02-21  Bruno Haible  <bruno@clisp.org>
48957
48958         * doc/gnulib.texi: Include safe-alloc.texi earlier.
48959         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
48960         spaces after a period. Put a space between a macro name and its
48961         argument list. Trivial rewordings.
48962         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
48963         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
48964         (main): Return 0 explicitly.
48965
48966 2009-02-21  Bruno Haible  <bruno@clisp.org>
48967
48968         Tests for module 'uninorm/filter'.
48969         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
48970         * modules/uninorm/filter-tests: New file.
48971
48972         New module 'uninorm/filter'.
48973         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
48974         uninorm_filter_flush, uninorm_filter_free): New declarations.
48975         * lib/uninorm/uninorm-filter.c: New file.
48976         * modules/uninorm/filter: New file.
48977
48978 2009-02-21  Bruno Haible  <bruno@clisp.org>
48979
48980         Tests for module 'uninorm/nfkc'.
48981         * tests/uninorm/test-nfkc.c: New file.
48982         * tests/uninorm/test-u8-nfkc.c: New file.
48983         * tests/uninorm/test-u16-nfkc.c: New file.
48984         * tests/uninorm/test-u32-nfkc.c: New file.
48985         * tests/uninorm/test-u32-nfkc-big.sh: New file.
48986         * tests/uninorm/test-u32-nfkc-big.c: New file.
48987         * modules/uninorm/nfkc-tests: New file.
48988
48989         New module 'uninorm/nfkc'.
48990         * lib/uninorm/nfkc.c: New file.
48991         * modules/uninorm/nfkc: New file.
48992
48993         Tests for module 'uninorm/nfkd'.
48994         * tests/uninorm/test-nfkd.c: New file.
48995         * tests/uninorm/test-u8-nfkd.c: New file.
48996         * tests/uninorm/test-u16-nfkd.c: New file.
48997         * tests/uninorm/test-u32-nfkd.c: New file.
48998         * tests/uninorm/test-u32-nfkd-big.sh: New file.
48999         * tests/uninorm/test-u32-nfkd-big.c: New file.
49000         * modules/uninorm/nfkd-tests: New file.
49001
49002         New module 'uninorm/nfkd'.
49003         * lib/uninorm/nfkd.c: New file.
49004         * modules/uninorm/nfkd: New file.
49005
49006         Tests for module 'uninorm/nfc'.
49007         * tests/uninorm/test-nfc.c: New file.
49008         * tests/uninorm/test-u8-nfc.c: New file.
49009         * tests/uninorm/test-u16-nfc.c: New file.
49010         * tests/uninorm/test-u32-nfc.c: New file.
49011         * tests/uninorm/test-u32-nfc-big.sh: New file.
49012         * tests/uninorm/test-u32-nfc-big.c: New file.
49013         * modules/uninorm/nfc-tests: New file.
49014
49015         New module 'uninorm/nfc'.
49016         * lib/uninorm/nfc.c: New file.
49017         * modules/uninorm/nfc: New file.
49018
49019         Tests for module 'uninorm/nfd'.
49020         * tests/uninorm/test-nfd.c: New file.
49021         * tests/uninorm/test-u8-nfd.c: New file.
49022         * tests/uninorm/test-u16-nfd.c: New file.
49023         * tests/uninorm/test-u32-nfd.c: New file.
49024         * tests/uninorm/test-u32-nfd-big.sh: New file.
49025         * tests/uninorm/test-u32-nfd-big.c: New file.
49026         * tests/uninorm/test-u32-normalize-big.h: New file.
49027         * tests/uninorm/test-u32-normalize-big.c: New file.
49028         * tests/uninorm/NormalizationTest.txt: New file, created from
49029         Unicode 5.1.0 NormalizationTest.txt.
49030         * modules/uninorm/nfd-tests: New file.
49031
49032         New module 'uninorm/nfd'.
49033         * lib/uninorm/nfd.c: New file.
49034         * modules/uninorm/nfd: New file.
49035
49036         New module 'uninorm/u32-normalize'.
49037         * lib/uninorm/u32-normalize.c: New file.
49038         * modules/uninorm/u32-normalize: New file.
49039
49040         New module 'uninorm/u16-normalize'.
49041         * lib/uninorm/u16-normalize.c: New file.
49042         * modules/uninorm/u16-normalize: New file.
49043
49044         New module 'uninorm/u8-normalize'.
49045         * lib/uninorm/u8-normalize.c: New file.
49046         * lib/uninorm/normalize-internal.h: New file.
49047         * lib/uninorm/u-normalize-internal.h: New file.
49048         * modules/uninorm/u8-normalize: New file.
49049
49050         New module 'uninorm/decompose-internal'.
49051         * lib/uninorm/decompose-internal.c: New file.
49052         * modules/uninorm/decompose-internal: New file.
49053
49054         Tests for module 'uninorm/composition'.
49055         * tests/uninorm/test-composition.c: New file.
49056         * modules/uninorm/composition-tests: New file.
49057
49058         New module 'uninorm/composition'.
49059         * lib/uninorm/composition.c: New file.
49060         * lib/uninorm/composition-table.gperf: New file, generated by
49061         gen-uni-tables.
49062         * modules/uninorm/composition: New file.
49063
49064         Tests for module 'uninorm/compat-decomposition'.
49065         * tests/uninorm/test-compat-decomposition.c: New file.
49066         * modules/uninorm/compat-decomposition-tests: New file.
49067
49068         New module 'uninorm/compat-decomposition'.
49069         * lib/uninorm/decompose-internal.h: New file.
49070         * lib/uninorm/compat-decomposition.c: New file.
49071         * modules/uninorm/compat-decomposition: New file.
49072
49073         Tests for module 'uninorm/canonical-decomposition'.
49074         * tests/uninorm/test-canonical-decomposition.c: New file.
49075         * modules/uninorm/canonical-decomposition-tests: New file.
49076
49077         New module 'uninorm/canonical-decomposition'.
49078         * lib/uninorm/canonical-decomposition.c: New file.
49079         * modules/uninorm/canonical-decomposition: New file.
49080
49081         Tests for module 'uninorm/decomposition'.
49082         * tests/uninorm/test-decomposition.c: New file.
49083         * modules/uninorm/decomposition-tests: New file.
49084
49085         New module 'uninorm/decomposition'.
49086         * lib/uninorm/decomposition.c: New file.
49087         * modules/uninorm/decomposition: New file.
49088
49089         New module 'uninorm/decomposition-table'.
49090         * lib/uninorm/decomposition-table.h: New file.
49091         * lib/uninorm/decomposition-table.c: New file.
49092         * lib/uninorm/decomposition-table1.h: New file, generated by
49093         gen-uni-tables.
49094         * lib/uninorm/decomposition-table2.h: New file, generated by
49095         gen-uni-tables.
49096         * modules/uninorm/decomposition-table: New file.
49097
49098         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
49099         (UC_DECOMP_*): New enumeration items.
49100         (get_decomposition): New function.
49101         (struct decomp_table): New type.
49102         (output_decomposition, output_decomposition_tables): New functions.
49103         (unicode_composition_exclusions): New variable.
49104         (fill_composition_exclusions, debug_output_composition_tables): New
49105         functions.
49106         (main): Accept one more argument. Invoke fill_composition_exclusions.
49107         Output decomposition and composition tables.
49108
49109         New module 'uninorm/base'.
49110         * lib/uninorm.h: New file.
49111         * lib/unictype.h: Update comment.
49112         * modules/uninorm/base: New file.
49113
49114 2009-02-21  David Lutterkort  <lutter@redhat.com>
49115
49116         Tests for module 'safe-alloc'.
49117         * tests/test-safe-alloc.c: New file.
49118         * modules/safe-alloc-tests: New file.
49119
49120         New module 'safe-alloc'.
49121         * lib/safe-alloc.h: New file.
49122         * lib/safe-alloc.c: New file.
49123         * m4/safe-alloc.m4: New file.
49124         * modules/safe-alloc: New file.
49125         * doc/safe-alloc.texi: New file.
49126         * doc/gnulib.texi: Include it.
49127         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
49128         safe-alloc.
49129
49130 2009-02-18  Bruno Haible  <bruno@clisp.org>
49131
49132         Fix link error on non-glibc systems.
49133         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
49134         variable.
49135         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49136
49137 2009-02-18  Jim Meyering  <meyering@redhat.com>
49138
49139         fts: avoid used-uninitialized error due to recent change
49140         * lib/fts.c (fts_read): Guard uses of the new member,
49141         parent->fts_n_dirs_remaining, since it's not relevant for
49142         the parent of a directory specified on the command-line.
49143
49144 2009-02-17  James Youngman  <jay@gnu.org>
49145             Bruno Haible  <bruno@clisp.org>
49146
49147         * m4/include_next.m4: Reformulate comment.
49148
49149 2009-02-16  Jim Meyering  <meyering@redhat.com>
49150
49151         fts: add #if guards so that the fts_lgpl module still builds
49152         * lib/fts.c: Guard just-added hash-table-using parts with
49153         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
49154         Reported by Simon Josefsson.
49155
49156 2009-02-15  Bruno Haible  <bruno@clisp.org>
49157
49158         * modules/array-mergesort-tests: New file.
49159         * tests/test-array-mergesort.c: New file.
49160
49161         New module 'array-mergesort'.
49162         * modules/array-mergesort: New file.
49163         * lib/array-mergesort.h: New file.
49164
49165 2009-02-15  Bruno Haible  <bruno@clisp.org>
49166
49167         Fix 2009-02-07 commit.
49168         * lib/gen-uni-tables.c (output_predicate, output_category,
49169         output_combclass, output_bidi_category, output_decimal_digit,
49170         output_digit, output_numeric, output_mirror, output_scripts,
49171         output_ident_category, output_simple_mapping): Fix format directives.
49172         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
49173
49174 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
49175
49176         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
49177         fixes are available from IBM.
49178
49179 2009-02-13  Jim Meyering  <meyering@redhat.com>
49180
49181         fts: arrange not to stat non-directories in more cases
49182         This makes GNU find (when it doesn't need to stat each file)
49183         *much* more efficient at traversing reiserfs file systems.
49184         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
49185         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
49186         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
49187         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
49188         (leaf_optimization_applies): New function.
49189         (LCO_hash, LCO_compare): New helper functions.
49190         (link_count_optimize_ok): New function.
49191         (fts_stat): Initialize new member (if dir).
49192         (fts_read): Decrement parent's fts_n_dirs_remaining count if
49193         we've just stat'ed a directory.  Skip the stat call when possible.
49194         ---
49195         Note this AFS-related exchange:
49196         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
49197         and note find's pioctl call in find/fstype.c.
49198         But that is necessary only if you want to enable the
49199         optimization for AFS, and for now, I don't.
49200
49201         fts: move a function definition "up" (no semantic change)
49202         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
49203         "up" to precede upcoming use of a related function.
49204
49205 2009-02-11  Jim Meyering  <meyering@redhat.com>
49206
49207         fts: correct internal computation of nlinks (optimization-related)
49208         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
49209         whether the current entry is a directory, so don't test it.
49210
49211 2009-02-10  Bruno Haible  <bruno@clisp.org>
49212
49213         Tests for module 'uniwbrk/ulc-wordbreaks'.
49214         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
49215         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
49216         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
49217
49218         Tests for module 'uniwbrk/u32-wordbreaks'.
49219         * modules/uniwbrk/u32-wordbreaks-tests: New file.
49220         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
49221
49222         Tests for module 'uniwbrk/u16-wordbreaks'.
49223         * modules/uniwbrk/u16-wordbreaks-tests: New file.
49224         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
49225
49226         Tests for module 'uniwbrk/u8-wordbreaks'.
49227         * modules/uniwbrk/u8-wordbreaks-tests: New file.
49228         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
49229
49230 2009-02-10  Bruno Haible  <bruno@clisp.org>
49231
49232         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
49233         property.
49234         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
49235         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
49236         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
49237
49238 2009-02-10  Simon Josefsson  <simon@josefsson.org>
49239
49240         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
49241         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
49242
49243 2009-02-10  Bruno Haible  <bruno@clisp.org>
49244
49245         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
49246         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
49247         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
49248         * lib/unilbrk/u8-possible-linebreaks.c: Update.
49249         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
49250         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
49251
49252 2009-02-09  Simon Josefsson  <simon@josefsson.org>
49253
49254         * lib/sockets.h (gl_fd_to_handle): New function.
49255
49256         * tests/test-sockets.c: Call gl_fd_to_handle.
49257
49258 2009-02-09  Bruno Haible  <bruno@clisp.org>
49259
49260         * doc/havelib.texi: Document the conventions on bi-arch systems.
49261
49262 2009-02-08  Bruno Haible  <bruno@clisp.org>
49263
49264         Document the AC_LIB_LINKFLAGS macro.
49265         * doc/havelib.texi: New file, mostly written on 2005-05-24.
49266         * doc/gnulib.texi: Include it.
49267
49268 2009-02-08  Bruno Haible  <bruno@clisp.org>
49269
49270         Fix wrong order of sections, compared to TOC.
49271         * doc/gnulib.texi: Include relocatable-maint.texi after the
49272         "Regular expressions" node, not before.
49273
49274 2009-02-08  Bruno Haible  <bruno@clisp.org>
49275
49276         Tests for module 'unicase/totitle'.
49277         * modules/unicase/totitle-tests: New file.
49278
49279         Tests for module 'unicase/tolower'.
49280         * modules/unicase/tolower-tests: New file.
49281
49282         Tests for module 'unicase/toupper'.
49283         * modules/unicase/toupper-tests: New file.
49284         * tests/unicase/test-mapping-part1.h: New file.
49285         * tests/unicase/test-mapping-part2.h: New file.
49286
49287         New module 'unicase/totitle'.
49288         * modules/unicase/totitle: New file.
49289         * lib/unicase/totitle.c: New file.
49290
49291         New module 'unicase/tolower'.
49292         * modules/unicase/tolower: New file.
49293         * lib/unicase/tolower.c: New file.
49294
49295         New module 'unicase/toupper'.
49296         * modules/unicase/toupper: New file.
49297         * lib/unicase/toupper.c: New file.
49298         * lib/unicase/simple-mapping.h: New file.
49299
49300         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
49301         (mapping_table): New structure.
49302         (output_simple_mapping): New function.
49303         (main): Invoke output_simple_mapping_test and output_simple_mapping.
49304         * modules/gen-uni-tables (Description): Update.
49305         * lib/unicase/toupper.h: New file, automatically generated by
49306         gen-uni-tables.
49307         * lib/unicase/tolower.h: New file, automatically generated by
49308         gen-uni-tables.
49309         * lib/unicase/totitle.h: New file, automatically generated by
49310         gen-uni-tables.
49311         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
49312         gen-uni-tables.
49313         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
49314         gen-uni-tables.
49315         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
49316         gen-uni-tables.
49317
49318         New module 'unicase/base'.
49319         * modules/unicase/base: New file.
49320         * lib/unicase.h: New file.
49321
49322 2009-02-08  Bruno Haible  <bruno@clisp.org>
49323
49324         New module 'uniwbrk/ulc-wordbreaks'.
49325         * modules/uniwbrk/ulc-wordbreaks: New file.
49326         * lib/uniwbrk/ulc-wordbreaks.c: New file.
49327
49328         New module 'uniwbrk/u32-wordbreaks'.
49329         * modules/uniwbrk/u32-wordbreaks: New file.
49330         * lib/uniwbrk/u32-wordbreaks.c: New file.
49331
49332         New module 'uniwbrk/u16-wordbreaks'.
49333         * modules/uniwbrk/u16-wordbreaks: New file.
49334         * lib/uniwbrk/u16-wordbreaks.c: New file.
49335
49336         New module 'uniwbrk/u8-wordbreaks'.
49337         * modules/uniwbrk/u8-wordbreaks: New file.
49338         * lib/uniwbrk/u8-wordbreaks.c: New file.
49339         * lib/uniwbrk/u-wordbreaks.h: New file.
49340
49341         New module 'uniwbrk/table'.
49342         * modules/uniwbrk/table: New file.
49343         * lib/uniwbrk/wbrktable.h: New file.
49344         * lib/uniwbrk/wbrktable.c: New file.
49345
49346         New module 'uniwbrk/wordbreak-property'.
49347         * modules/uniwbrk/wordbreak-property: New file.
49348         * lib/uniwbrk/wordbreak-property.c: New file.
49349
49350         * lib/gen-uni-tables.c (WBP_*): New enum items.
49351         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
49352         (unicode_org_wbp): New variable.
49353         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
49354         New functions.
49355         (wbp_table): New structure.
49356         (output_wbp, output_wbrk_tables): New functions.
49357         (main): Accept additional argument. Invoke fill_org_wbp,
49358         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
49359         output_wbrk_tables.
49360         * modules/gen-uni-tables (Description): Update.
49361         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
49362         gen-uni-tables.
49363
49364         New module 'uniwbrk/base'.
49365         * modules/uniwbrk/base: New file.
49366         * lib/uniwbrk.h: New file.
49367
49368 2009-02-08  Bruno Haible  <bruno@clisp.org>
49369
49370         Update to Unicode 5.1.0.
49371         * lib/gen-uni-tables.c (is_property_alphabetic): Include
49372         U+2185..U+2188.
49373         (is_property_default_ignorable_code_point): Don't include characters
49374         of category Cc or Cs and not-a-characters.
49375         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
49376         U+0D79, U+109E, U+109F, U+A60C.
49377         * lib/unictype/bidi_of.h: Regenerated.
49378         * lib/unictype/blocks.h: Regenerated.
49379         * lib/unictype/categ_C.h: Regenerated.
49380         * lib/unictype/categ_Cf.h: Regenerated.
49381         * lib/unictype/categ_Cn.h: Regenerated.
49382         * lib/unictype/categ_L.h: Regenerated.
49383         * lib/unictype/categ_Ll.h: Regenerated.
49384         * lib/unictype/categ_Lm.h: Regenerated.
49385         * lib/unictype/categ_Lo.h: Regenerated.
49386         * lib/unictype/categ_Lu.h: Regenerated.
49387         * lib/unictype/categ_M.h: Regenerated.
49388         * lib/unictype/categ_Mc.h: Regenerated.
49389         * lib/unictype/categ_Me.h: Regenerated.
49390         * lib/unictype/categ_Mn.h: Regenerated.
49391         * lib/unictype/categ_N.h: Regenerated.
49392         * lib/unictype/categ_Nd.h: Regenerated.
49393         * lib/unictype/categ_Nl.h: Regenerated.
49394         * lib/unictype/categ_No.h: Regenerated.
49395         * lib/unictype/categ_P.h: Regenerated.
49396         * lib/unictype/categ_Pd.h: Regenerated.
49397         * lib/unictype/categ_Pe.h: Regenerated.
49398         * lib/unictype/categ_Pf.h: Regenerated.
49399         * lib/unictype/categ_Pi.h: Regenerated.
49400         * lib/unictype/categ_Po.h: Regenerated.
49401         * lib/unictype/categ_Ps.h: Regenerated.
49402         * lib/unictype/categ_S.h: Regenerated.
49403         * lib/unictype/categ_Sk.h: Regenerated.
49404         * lib/unictype/categ_Sm.h: Regenerated.
49405         * lib/unictype/categ_So.h: Regenerated.
49406         * lib/unictype/categ_of.h: Regenerated.
49407         * lib/unictype/combining.h: Regenerated.
49408         * lib/unictype/ctype_alnum.h: Regenerated.
49409         * lib/unictype/ctype_alpha.h: Regenerated.
49410         * lib/unictype/ctype_graph.h: Regenerated.
49411         * lib/unictype/ctype_lower.h: Regenerated.
49412         * lib/unictype/ctype_print.h: Regenerated.
49413         * lib/unictype/ctype_punct.h: Regenerated.
49414         * lib/unictype/ctype_upper.h: Regenerated.
49415         * lib/unictype/decdigit.h: Regenerated.
49416         * lib/unictype/digit.h: Regenerated.
49417         * lib/unictype/mirror.h: Regenerated.
49418         * lib/unictype/numeric.h: Regenerated.
49419         * lib/unictype/pr_alphabetic.h: Regenerated.
49420         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
49421         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
49422         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
49423         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
49424         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
49425         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
49426         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
49427         * lib/unictype/pr_combining.h: Regenerated.
49428         * lib/unictype/pr_dash.h: Regenerated.
49429         * lib/unictype/pr_decimal_digit.h: Regenerated.
49430         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
49431         * lib/unictype/pr_deprecated.h: Regenerated.
49432         * lib/unictype/pr_diacritic.h: Regenerated.
49433         * lib/unictype/pr_extender.h: Regenerated.
49434         * lib/unictype/pr_format_control.h: Regenerated.
49435         * lib/unictype/pr_grapheme_base.h: Regenerated.
49436         * lib/unictype/pr_grapheme_extend.h: Regenerated.
49437         * lib/unictype/pr_grapheme_link.h: Regenerated.
49438         * lib/unictype/pr_id_continue.h: Regenerated.
49439         * lib/unictype/pr_id_start.h: Regenerated.
49440         * lib/unictype/pr_ideographic.h: Regenerated.
49441         * lib/unictype/pr_ignorable_control.h: Regenerated.
49442         * lib/unictype/pr_lowercase.h: Regenerated.
49443         * lib/unictype/pr_math.h: Regenerated.
49444         * lib/unictype/pr_numeric.h: Regenerated.
49445         * lib/unictype/pr_other_alphabetic.h: Regenerated.
49446         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
49447         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
49448         * lib/unictype/pr_other_id_continue.h: Regenerated.
49449         * lib/unictype/pr_other_lowercase.h: Regenerated.
49450         * lib/unictype/pr_other_math.h: Regenerated.
49451         * lib/unictype/pr_punctuation.h: Regenerated.
49452         * lib/unictype/pr_sentence_terminal.h: Regenerated.
49453         * lib/unictype/pr_soft_dotted.h: Regenerated.
49454         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
49455         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
49456         * lib/unictype/pr_unified_ideograph.h: Regenerated.
49457         * lib/unictype/pr_uppercase.h: Regenerated.
49458         * lib/unictype/pr_xid_continue.h: Regenerated.
49459         * lib/unictype/pr_xid_start.h: Regenerated.
49460         * lib/unictype/pr_zero_width.h: Regenerated.
49461         * lib/unictype/scripts.h: Regenerated.
49462         * lib/unictype/scripts_byname.gperf: Regenerated.
49463         * lib/unictype/sy_java_ident.h: Regenerated.
49464         * lib/unilbrk/lbrkprop1.h: Regenerated.
49465         * lib/unilbrk/lbrkprop2.h: Regenerated.
49466         * tests/unictype/test-categ_C.c: Regenerated.
49467         * tests/unictype/test-categ_Cf.c: Regenerated.
49468         * tests/unictype/test-categ_Cn.c: Regenerated.
49469         * tests/unictype/test-categ_L.c: Regenerated.
49470         * tests/unictype/test-categ_Ll.c: Regenerated.
49471         * tests/unictype/test-categ_Lm.c: Regenerated.
49472         * tests/unictype/test-categ_Lo.c: Regenerated.
49473         * tests/unictype/test-categ_Lu.c: Regenerated.
49474         * tests/unictype/test-categ_M.c: Regenerated.
49475         * tests/unictype/test-categ_Mc.c: Regenerated.
49476         * tests/unictype/test-categ_Me.c: Regenerated.
49477         * tests/unictype/test-categ_Mn.c: Regenerated.
49478         * tests/unictype/test-categ_N.c: Regenerated.
49479         * tests/unictype/test-categ_Nd.c: Regenerated.
49480         * tests/unictype/test-categ_Nl.c: Regenerated.
49481         * tests/unictype/test-categ_No.c: Regenerated.
49482         * tests/unictype/test-categ_P.c: Regenerated.
49483         * tests/unictype/test-categ_Pd.c: Regenerated.
49484         * tests/unictype/test-categ_Pe.c: Regenerated.
49485         * tests/unictype/test-categ_Pf.c: Regenerated.
49486         * tests/unictype/test-categ_Pi.c: Regenerated.
49487         * tests/unictype/test-categ_Po.c: Regenerated.
49488         * tests/unictype/test-categ_Ps.c: Regenerated.
49489         * tests/unictype/test-categ_S.c: Regenerated.
49490         * tests/unictype/test-categ_Sk.c: Regenerated.
49491         * tests/unictype/test-categ_Sm.c: Regenerated.
49492         * tests/unictype/test-categ_So.c: Regenerated.
49493         * tests/unictype/test-ctype_alnum.c: Regenerated.
49494         * tests/unictype/test-ctype_alpha.c: Regenerated.
49495         * tests/unictype/test-ctype_graph.c: Regenerated.
49496         * tests/unictype/test-ctype_lower.c: Regenerated.
49497         * tests/unictype/test-ctype_print.c: Regenerated.
49498         * tests/unictype/test-ctype_punct.c: Regenerated.
49499         * tests/unictype/test-ctype_upper.c: Regenerated.
49500         * tests/unictype/test-decdigit.h: Regenerated.
49501         * tests/unictype/test-digit.h: Regenerated.
49502         * tests/unictype/test-numeric.h: Regenerated.
49503         * tests/unictype/test-pr_alphabetic.c: Regenerated.
49504         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
49505         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
49506         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
49507         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
49508         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
49509         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
49510         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
49511         * tests/unictype/test-pr_combining.c: Regenerated.
49512         * tests/unictype/test-pr_dash.c: Regenerated.
49513         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
49514         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
49515         * tests/unictype/test-pr_deprecated.c: Regenerated.
49516         * tests/unictype/test-pr_diacritic.c: Regenerated.
49517         * tests/unictype/test-pr_extender.c: Regenerated.
49518         * tests/unictype/test-pr_format_control.c: Regenerated.
49519         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
49520         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
49521         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
49522         * tests/unictype/test-pr_id_continue.c: Regenerated.
49523         * tests/unictype/test-pr_id_start.c: Regenerated.
49524         * tests/unictype/test-pr_ideographic.c: Regenerated.
49525         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
49526         * tests/unictype/test-pr_lowercase.c: Regenerated.
49527         * tests/unictype/test-pr_math.c: Regenerated.
49528         * tests/unictype/test-pr_numeric.c: Regenerated.
49529         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
49530         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
49531         Regenerated.
49532         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
49533         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
49534         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
49535         * tests/unictype/test-pr_other_math.c: Regenerated.
49536         * tests/unictype/test-pr_punctuation.c: Regenerated.
49537         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
49538         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
49539         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
49540         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
49541         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
49542         * tests/unictype/test-pr_uppercase.c: Regenerated.
49543         * tests/unictype/test-pr_xid_continue.c: Regenerated.
49544         * tests/unictype/test-pr_xid_start.c: Regenerated.
49545         * tests/unictype/test-pr_zero_width.c: Regenerated.
49546
49547         Update to Unicode 5.1.0.
49548         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
49549         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
49550         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
49551         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
49552         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
49553         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
49554         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
49555         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
49556         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
49557         (nonspacing_table_ind): Update.
49558         * tests/uniwidth/test-uc_width2.sh: Update expected result.
49559
49560         Update to Unicode 5.1.0.
49561         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
49562         code transform.
49563         * lib/uniname/uniname.c (unicode_character_name,
49564         unicode_name_character): Add the range 0x1Fxxx to the code transform.
49565         * lib/uniname/uninames.h: Regenerated.
49566         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
49567
49568 2009-02-07  Bruno Haible  <bruno@clisp.org>
49569
49570         Merge gen-ctype and gen-lbrk into a single program.
49571         * lib/gen-uni-tables.c: New file, incorporating
49572         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
49573         Add directory prefixes to the names of the generated files.
49574         * lib/unictype/gen-ctype.c: Remove file.
49575         * lib/unilbrk/gen-lbrk.c: Remove file.
49576         * modules/gen-uni-tables: New file.
49577         * modules/unictype/gen-ctype: Remove file.
49578         * modules/unilbrk/gen-lbrk: Remove file.
49579
49580 2009-02-07  Bruno Haible  <bruno@clisp.org>
49581
49582         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
49583
49584         New module 'unistr/u32-strcoll'.
49585         * modules/unistr/u32-strcoll: New file.
49586         * lib/unistr/u32-strcoll.c: New file.
49587
49588         New module 'unistr/u16-strcoll'.
49589         * modules/unistr/u16-strcoll: New file.
49590         * lib/unistr/u16-strcoll.c: New file.
49591
49592         New module 'unistr/u8-strcoll'.
49593         * modules/unistr/u8-strcoll: New file.
49594         * lib/unistr/u8-strcoll.c: New file.
49595         * lib/unistr/u-strcoll.h: New file.
49596
49597 2009-02-07  Bruno Haible  <bruno@clisp.org>
49598
49599         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
49600         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
49601         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
49602         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
49603         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
49604         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
49605
49606 2009-02-07  Bruno Haible  <bruno@clisp.org>
49607
49608         Make 64-bit clean.
49609         * lib/unictype/gen-ctype.c (output_predicate, output_category,
49610         output_combclass, output_bidi_category, output_decimal_digit,
49611         output_digit, output_numeric, output_mirror, output_scripts,
49612         output_ident_category): Use proper width specifier in format strings.
49613
49614 2009-02-07  Bruno Haible  <bruno@clisp.org>
49615
49616         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
49617         failure behaviour.
49618
49619 2009-02-07  Jim Meyering  <meyering@redhat.com>
49620
49621         regex: avoid compilation failure with upcoming gcc-4.4
49622         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
49623         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
49624         "... error: integer overflow in preprocessor expression".
49625
49626 2009-02-05  Ben Pfaff  <blp@gnu.org>
49627
49628         Fix link errors on Windows when close module is used.
49629         * modules/close: Add $(LIB_CLOSE) to Link section.
49630         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
49631         $(LIB_CLOSE) on Windows.
49632
49633 2009-02-05  Jim Meyering  <meyering@redhat.com>
49634
49635         still avoid unused-parameter warnings, but do it cleanly
49636         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
49637         (get_fs_usage): Cast to void instead.
49638         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
49639         (dev_from_mount_options, read_file_system_list): Cast to void.
49640         Prompted by Bruno Haible.
49641
49642 2009-02-04  Jim Meyering  <meyering@redhat.com>
49643
49644         fsusage.c: correct copyright year
49645         * lib/fsusage.c: Reflect year in which the change is pushed into
49646
49647         avoid misc. warnings
49648         * lib/fsusage.c (UNUSED_PARAM): Define.
49649         (get_fs_usage): Mark parameter "disk" as unused.
49650         * lib/getugroups.c (getgrent): Use "void" in prototype.
49651         * lib/mountlist.c: Mark unused parameters.
49652         (read_file_system_list): Declare a local with "const".
49653         * lib/nanosleep.c (getnow): Declare static.
49654         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
49655
49656         dirfd: set errno upon failure
49657         * lib/dirfd.c: Include <errno.h>.
49658         Set errno to ENOTSUP when returning -1.
49659         * modules/dirfd (Depends-on): Add errno.
49660         Suggested by John Kodis <kodis@comcast.net>.
49661
49662 2009-02-01  Bruno Haible  <bruno@clisp.org>
49663
49664         Don't assume sizeof (long) >= sizeof (void *).
49665         * lib/memcmp.c: Include stdint.h.
49666         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
49667         srcp2 to 'const byte *'.
49668         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
49669         types to uintptr_t.
49670         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
49671         * modules/memcmp (Depends-on): Add stdint.
49672         Reported by Ozkan Sezer <sezeroz@gmail.com>.
49673
49674 2009-01-30  Eric Blake  <ebb9@byu.net>
49675
49676         fix more require-before-expand issues
49677         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
49678         expand, AC_PROG_AWK.
49679         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
49680
49681 2009-01-28  Eric Blake  <ebb9@byu.net>
49682
49683         version-etc: use consistent URL formatting
49684         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
49685         Improve formatting.  Use fputs for string without %.
49686
49687 2009-01-28  Jim Meyering  <meyering@redhat.com>
49688
49689         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
49690         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
49691         "underquoted definition of NAME" from autoconf-2.59.
49692
49693 2009-01-28  Bruno Haible  <bruno@clisp.org>
49694
49695         * doc/gnulib.texi: Add "Obsolete modules" to index.
49696
49697 2009-01-28  Jim Meyering  <meyering@redhat.com>
49698
49699         useless-if-before-free: recognize more variants
49700         * build-aux/useless-if-before-free: Also recognize e.g.,
49701         if (NULL != p) free (p);
49702
49703 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
49704
49705         test-getaddrinfo: skip (don't fail) this test when there's no network
49706         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
49707         on the presumption that it means you lack network access.
49708
49709 2009-01-26  Jim Meyering  <meyering@redhat.com>
49710
49711         fflush: avoid warnings on modern systems
49712         * lib/fflush.c (rpl_fflush): Move declarations of locals,
49713         pos and result, into scopes where they're used.
49714
49715 2009-01-26  Eric Blake  <ebb9@byu.net>
49716
49717         Silence warning reintroduced by recent extensions patch.
49718         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
49719         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
49720         autoconf.
49721
49722         Backport improved autoconf semantics of AC_DEFUN_ONCE.
49723         * m4/00gnulib.m4: New file.
49724         * gnulib-tool (func_get_filelist): Always use it.
49725         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
49726         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
49727
49728 2009-01-25  Bruno Haible  <bruno@clisp.org>
49729
49730         Make test-quotearg work on MacOS X and AIX.
49731         * tests/test-quotearg.sh: New file.
49732         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
49733         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
49734         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
49735         include <libintl.h>.
49736         (fake_locale): Remove variable.
49737         (gettext, dgettext, dcgettext): Remove functions.
49738         (main): Instead of setting a fake locale, set a real locale. Call
49739         textdomain and bindtextdomain.
49740         * modules/quotearg-tests (Files): Add the new files.
49741         (Depends-on): Add gettext, setenv, unsetenv.
49742         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49743         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
49744         Augment TESTS_ENVIRONMENT.
49745
49746 2009-01-25  Bruno Haible  <bruno@clisp.org>
49747
49748         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
49749         fr_FR.ISO8859-1 locale on MacOS X.
49750         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
49751         ja_JP.eucJP locale on MacOS X.
49752         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
49753         zh_CN.GB18030 locale on MacOS X.
49754
49755 2009-01-25  Bruno Haible  <bruno@clisp.org>
49756
49757         Avoid link errors on MacOS X 10.3.
49758         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
49759         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49760
49761 2009-01-25  Bruno Haible  <bruno@clisp.org>
49762
49763         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49764         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
49765         * modules/pipe (Files): Remove m4/posix_spawn.m4.
49766         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49767         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
49768         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49769         posix_spawnattr_init, posix_spawnattr_setsigmask,
49770         posix_spawnattr_setflags, posix_spawnattr_destroy.
49771
49772         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49773         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
49774         * modules/execute (Files): Remove m4/posix_spawn.m4.
49775         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49776         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49777         posix_spawnattr_init, posix_spawnattr_setsigmask,
49778         posix_spawnattr_setflags, posix_spawnattr_destroy.
49779
49780 2009-01-25  Bruno Haible  <bruno@clisp.org>
49781
49782         * lib/glthread/threadlib.c: Include <stdlib.h>.
49783
49784 2009-01-25  Bruno Haible  <bruno@clisp.org>
49785
49786         * lib/glthread/threadlib.c (dummy): New declaration.
49787
49788 2009-01-25  Bruno Haible  <bruno@clisp.org>
49789
49790         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
49791         multibyte characters also for the GB18030 encoding. Don't crash when
49792         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
49793
49794 2009-01-25  Bruno Haible  <bruno@clisp.org>
49795
49796         Avoid redefining 'struct random_data' on OSF/1 5.1.
49797         * lib/stdlib.in.h: Include <random.h> if it exists.
49798         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
49799         HAVE_RANDOM_H. Include <random.h> when testing whether
49800         'struct random_data' exists.
49801         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
49802
49803 2009-01-25  Bruno Haible  <bruno@clisp.org>
49804
49805         Don't install charset.alias on MacOS X >= 10.3.
49806         * lib/localcharset.c (DARWIN7): New macro.
49807         (get_charset_aliases): Hardcode the result for Darwin7.
49808         * modules/localcharset (install-exec-local): Don't install
49809         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
49810
49811 2009-01-25  Bruno Haible  <bruno@clisp.org>
49812
49813         Don't install charset.alias on mingw and Cygwin.
49814         * modules/localcharset (install-exec-local): Don't install
49815         charset.alias on mingw and Cygwin, if the file does not yet exist.
49816         The result for these platforms is hardcoded in localcharset.c.
49817
49818 2009-01-25  Bruno Haible  <bruno@clisp.org>
49819
49820         Make it possible again to use AC_GNU_SOURCE together with gnulib.
49821         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
49822         before requiring AC_USE_SYSTEM_EXTENSIONS.
49823
49824 2009-01-25  Jim Meyering  <meyering@redhat.com>
49825
49826         c-strtod: avoid warnings
49827         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
49828         "assignment discards qualifiers from pointer target type" warnings.
49829
49830 2009-01-24  Bruno Haible  <bruno@clisp.org>
49831
49832         Add support for non-UTF-8 locales on MacOS X.
49833         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
49834         canonical encodings. For Darwin 7 and newer, don't map traditional
49835         encodings to UTF-8.
49836         Reported by Vincent Lefevre <vincent@vinc17.org>
49837         at <http://savannah.gnu.org/bugs/?25235>.
49838
49839 2009-01-24  Bruno Haible  <bruno@clisp.org>
49840
49841         * doc/gnulib.texi (Obsolete modules): New section.
49842         Reported by Mike Frysinger <vapier@gentoo.org>.
49843
49844 2009-01-24  Bruno Haible  <bruno@clisp.org>
49845
49846         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
49847         (%.dvi): New rule.
49848
49849 2009-01-24  Bruno Haible  <bruno@clisp.org>
49850
49851         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
49852         Reported by Eric Blake.
49853
49854 2009-01-24  Bruno Haible  <bruno@clisp.org>
49855
49856         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
49857         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
49858         Reported by Gary V. Vaughan <gary@gnu.org>.
49859
49860 2009-01-24  Bruno Haible  <bruno@clisp.org>
49861
49862         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
49863
49864 2009-01-23  Bruno Haible  <bruno@clisp.org>
49865
49866         Make c-strtod, c-strtold usable in libraries.
49867         * lib/c-strtod.c: Include string.h instead of xalloc.h.
49868         (C_STRTOD): Call strdup instead of xstrdup.
49869         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
49870         * modules/c-strtold (Depends-on): Likewise.
49871         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
49872         * NEWS: Mention the change.
49873         Reported by Michael Gold <mgold@ncf.ca>.
49874
49875 2009-01-23  Jim Meyering  <meyering@redhat.com>
49876
49877         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
49878         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
49879         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
49880
49881 2009-01-23  Simon Josefsson  <simon@josefsson.org>
49882
49883         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
49884         GNU CoreUtils.
49885         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
49886         * modules/version-etc (Description): Update.
49887
49888 2009-01-22  Bruno Haible  <bruno@clisp.org>
49889
49890         Cache the C locale object.
49891         * lib/c-strtod.c (c_locale_cache): New variable.
49892         (c_locale): New function.
49893         (C_STRTOD): Use it, and don't call freelocale.
49894         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
49895         Suggested by Paolo Bonzini.
49896
49897 2009-01-21  Bruno Haible  <bruno@clisp.org>
49898
49899         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
49900         conditions other than overflow.
49901
49902 2009-01-21  Bruno Haible  <bruno@clisp.org>
49903
49904         * lib/c-strtod.c: Include errno.h.
49905         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
49906         value from STRTOD_L and STRTOD.
49907
49908 2009-01-21  Bruno Haible  <bruno@clisp.org>
49909         and Jim Meyering  <meyering@redhat.com>
49910
49911         nanosleep: skip configure test (fail it) for apple universal builds
49912         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
49913         universal builds, assume that nanosleep does not work.
49914         * modules/nanosleep (Depends-on): Add multiarch.
49915
49916         mktime: skip configure test (fail it) for apple universal builds
49917         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
49918         universal builds, assume that mktime does not work.
49919         * modules/mktime (Depends-on): Add multiarch.
49920
49921 2009-01-21  Eric Blake  <ebb9@byu.net>
49922
49923         multiarch: avoid expand-before-require warning
49924         * modules/multiarch (configure.ac): Require, rather than expand,
49925         gl_MULTIARCH.
49926         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
49927         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
49928         enforce that all clients require it.  Partial reversion of
49929         2008-12-29 patch.
49930
49931         error: avoid expand-before-require warning
49932         * modules/errno (configure.ac): Require, rather than expand,
49933         gl_HEADER_ERRNO_H.
49934         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
49935         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
49936         enforce that all clients require it.
49937
49938         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
49939         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
49940         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
49941         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
49942
49943 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
49944
49945         Revert:
49946         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49947
49948         regex: do not depend on obsolete modules.
49949         * modules/regex: Remove memcmp and memmove.
49950
49951 2009-01-20  Bruno Haible  <bruno@clisp.org>
49952
49953         Make the 'link' module link on Windows NT 4.
49954         * lib/link.c (_WIN32_WINNT): Don't define.
49955         (CreateHardLinkFuncType): New type.
49956         (CreateHardLinkFunc, initialized): New variables.
49957         (initialize): New function.
49958         (link): Invoke CreateHardLink indirectly through the function pointer.
49959
49960 2009-01-20  Bruno Haible  <bruno@clisp.org>
49961
49962         Fix compilation failure on mingw.
49963         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
49964
49965 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
49966
49967         * doc/c-strtod.texi: Mention a couple of restrictions.
49968
49969 2009-01-20  Jim Meyering  <meyering@redhat.com>
49970
49971         gettimeofday: move more declarations out of functions
49972         * lib/gettimeofday.c: Move extern declarations of tzset and
49973         gmtime out of containing functions.  Prompted by Bruno Haible.
49974
49975 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49976
49977         regex: do not depend on obsolete modules.
49978         * modules/regex: Remove memcmp and memmove.
49979
49980 2009-01-19  Bruno Haible  <bruno@clisp.org>
49981
49982         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49983         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
49984         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49985         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
49986         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
49987
49988 2009-01-19  Bruno Haible  <bruno@clisp.org>
49989
49990         * tests/test-link.c: Include <errno.h>.
49991         (main): Exit with code 77 when a hard link cannot be created due to
49992         the file system.
49993         * tests/test-link.sh: Skip test when a hard link cannot be created due
49994         to the file system.
49995         Suggested by Eric Blake.
49996
49997 2009-01-19  Martin Lambers  <marlam@marlam.de>
49998
49999         * modules/link-tests: New file.
50000         * tests/test-link.sh: New file.
50001         * tests/test-link.c: New file.
50002
50003 2009-01-19  Eric Blake  <ebb9@byu.net>
50004
50005         doc: mention another function added in cygwin 1.7.0
50006         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
50007         Another new function in cygwin 1.7.
50008
50009 2009-01-19  Bruno Haible  <bruno@clisp.org>
50010
50011         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
50012         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
50013         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
50014         gl_BIGENDIAN, not AC_C_BIGENDIAN.
50015         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
50016         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
50017         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
50018         * m4/md4.m4 (gl_MD4): Likewise.
50019         * m4/md5.m4 (gl_MD5): Likewise.
50020         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
50021         * m4/sha1.m4 (gl_SHA1): Likewise.
50022         * m4/sha256.m4 (gl_SHA256): Likewise.
50023         * m4/sha512.m4 (gl_SHA512): Likewise.
50024
50025 2009-01-19  Bruno Haible  <bruno@clisp.org>
50026
50027         * modules/uniname/uniname-tests (Depends-on): Add progname.
50028         * tests/uniname/test-uninames.c: Include progname.h.
50029         (main): Call set_program_name.
50030
50031         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
50032         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
50033         (main): Call set_program_name.
50034
50035         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
50036         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
50037         (main): Call set_program_name.
50038
50039         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
50040         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
50041         (main): Call set_program_name.
50042
50043         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
50044         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
50045         (main): Call set_program_name.
50046
50047         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
50048         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
50049         (main): Call set_program_name.
50050
50051         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
50052         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
50053         (main): Call set_program_name.
50054
50055         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
50056         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
50057         (main): Call set_program_name.
50058
50059         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
50060         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
50061         (main): Call set_program_name.
50062
50063 2009-01-19  Eric Blake  <ebb9@byu.net>
50064
50065         test-unistd: test previous patch
50066         * tests/test-unistd.c: Test *_FILENO macros.
50067
50068         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
50069         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
50070         Guarantee a definition.
50071         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
50072         * modules/unistd-safer (Depends-on): Add dependency on unistd.
50073         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
50074         * lib/dup-safer.c (STDERR_FILENO): Likewise.
50075         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
50076         Likewise.
50077         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
50078         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
50079         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
50080         Likewise.
50081         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
50082         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
50083         (STDERR_FILENO): Likewise.
50084         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
50085         (STDERR_FILENO): Likewise.
50086         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
50087         (STDERR_FILENO): Likewise.
50088         Reported by Elbert Pol.
50089
50090 2009-01-19  Eric Blake  <ebb9@byu.net>
50091
50092         doc: mention more functions added in cygwin 1.7.0
50093         * doc/posix-functions/abort.texi (abort): Update wording related
50094         to cygwin.
50095         * doc/posix-functions/daylight.texi (daylight): Likewise.
50096         * doc/posix-functions/optarg.texi (optarg): Likewise.
50097         * doc/posix-functions/optarg.texi (opterr): Likewise.
50098         * doc/posix-functions/optarg.texi (optind): Likewise.
50099         * doc/posix-functions/optarg.texi (optopt): Likewise.
50100         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
50101         worked in 1.5.x, and was withdrawn in 1.7.
50102         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
50103         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
50104         cygwin versions.
50105         * doc/posix-functions/perror.texi (perror): Likewise.
50106         * doc/posix-functions/printf.texi (printf): Likewise.
50107         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
50108         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
50109         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
50110         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
50111         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
50112         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
50113         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
50114         Likewise.
50115         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
50116         Likewise.
50117         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
50118         this function.
50119         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
50120         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
50121         Likewise.
50122         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
50123         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
50124         * doc/posix-functions/confstr.texi (confstr): Likewise.
50125         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
50126         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
50127         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
50128         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
50129         * doc/posix-functions/fputws.texi (fputws): Likewise.
50130         * doc/posix-functions/fwide.texi (fwide): Likewise.
50131         * doc/posix-functions/getwc.texi (getwc): Likewise.
50132         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
50133         * doc/posix-functions/putwc.texi (putwc): Likewise.
50134         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
50135         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
50136         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
50137         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
50138         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
50139         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
50140         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
50141         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
50142         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
50143         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
50144         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
50145
50146 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
50147
50148         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
50149         * lib/ioctl.c: Include <sys/ioctl.h>.
50150
50151 2009-01-19  Simon Josefsson  <simon@josefsson.org>
50152
50153         * modules/getdate-tests (Depends-on): Add progname.
50154         * tests/test-getdate.c: Use progname module, to avoid link errors
50155         on non-glibc systems.
50156
50157 2009-01-18  Simon Josefsson  <simon@josefsson.org>
50158
50159         * modules/filenamecat-tests (Depends-on): Add progname.
50160         * modules/fstrcmp-tests (Depends-on): Likewise.
50161
50162         * tests/test-filenamecat.c: Use progname module, to avoid link
50163         errors on non-glibc systems.
50164         * tests/test-fstrcmp.c: Likewise.
50165
50166 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
50167
50168         gettimeofday: avoid warning: nested extern declaration of 'localtime'
50169         * lib/gettimeofday.c: Move extern declaration out of function.
50170
50171 2009-01-18  Bruno Haible  <bruno@clisp.org>
50172
50173         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
50174         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
50175         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
50176
50177 2009-01-18  Bruno Haible  <bruno@clisp.org>
50178
50179         * lib/strftime.c (MEMPCPY): Remove unused macro.
50180         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
50181
50182 2009-01-18  Martin Lambers  <marlam@marlam.de>
50183
50184         New module 'link'.
50185         * lib/unistd.in.h (link): New declaration.
50186         * lib/link.c: New file.
50187         * m4/link.m4: New file.
50188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
50189         HAVE_LINK.
50190         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
50191         * modules/link: New file.
50192         * doc/posix-functions/link.texi: Mention the new module.
50193
50194 2009-01-18  Bruno Haible  <bruno@clisp.org>
50195
50196         * tests/test-avltree_list.c (main): Call set_program_name.
50197         * tests/test-avltree_oset.c (main): Likewise.
50198         * tests/test-obstack-printf.c: Include progname.h.
50199         (main): Call set_program_name.
50200         * tests/test-quotearg.c: Include progname.h.
50201         (main): Call set_program_name.
50202         * tests/test-xmemdup0.c: Include progname.h.
50203         (main): Call set_program_name.
50204
50205 2009-01-18  Bruno Haible  <bruno@clisp.org>
50206
50207         New module 'alphasort'.
50208         * lib/dirent.in.h (alphasort): New declaration.
50209         * lib/alphasort.c: New file, from glibc with modifications.
50210         * m4/alphasort.m4: New file.
50211         * modules/alphasort: New file.
50212         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
50213         HAVE_ALPHASORT.
50214         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
50215         HAVE_ALPHASORT.
50216         * doc/posix-functions/alphasort.texi: Mention the new module and the
50217         portability problems.
50218
50219 2009-01-18  Bruno Haible  <bruno@clisp.org>
50220
50221         New module 'scandir'.
50222         * lib/dirent.in.h (scandir): New declaration.
50223         * lib/scandir.c: New file, from glibc with modifications.
50224         * m4/scandir.m4: New file.
50225         * modules/scandir: New file.
50226         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
50227         HAVE_SCANDIR.
50228         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
50229         HAVE_SCANDIR.
50230         * doc/posix-functions/scandir.texi: Mention the new module and the
50231         portability problems.
50232
50233 2009-01-17  Bruno Haible  <bruno@clisp.org>
50234
50235         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
50236         Update documentation.
50237         (func_remove_suffix): Escape all dots in the suffix. Update
50238         documentation.
50239         (func_filter_filelist): Update documentation.
50240         Reported by Ralf Wildenhues.
50241
50242 2009-01-17  Bruno Haible  <bruno@clisp.org>
50243
50244         * modules/dprintf-posix-tests: New file.
50245         * tests/test-dprintf-posix.sh: New file.
50246         * tests/test-dprintf-posix.c: New file.
50247
50248         New modules 'dprintf', 'dprintf-posix'.
50249         * lib/stdio.in.h (dprintf): New declaration.
50250         * lib/dprintf.c: New file.
50251         * m4/dprintf.m4: New file.
50252         * m4/dprintf-posix.m4: New file.
50253         * modules/dprintf: New file.
50254         * modules/dprintf-posix: New file.
50255         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
50256         HAVE_DPRINTF, REPLACE_DPRINTF.
50257         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
50258         HAVE_DPRINTF, REPLACE_DPRINTF.
50259         * doc/posix-functions/dprintf.texi: Mention the new modules.
50260
50261 2009-01-17  Bruno Haible  <bruno@clisp.org>
50262
50263         * modules/vdprintf-posix-tests: New file.
50264         * tests/test-vdprintf-posix.sh: New file.
50265         * tests/test-vdprintf-posix.c: New file.
50266
50267         New modules 'vdprintf', 'vdprintf-posix'.
50268         * lib/stdio.in.h (vdprintf): New declaration.
50269         * lib/vdprintf.c: New file.
50270         * m4/vdprintf.m4: New file.
50271         * m4/vdprintf-posix.m4: New file.
50272         * modules/vdprintf: New file.
50273         * modules/vdprintf-posix: New file.
50274         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
50275         HAVE_VDPRINTF, REPLACE_VDPRINTF.
50276         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
50277         HAVE_VDPRINTF, REPLACE_VDPRINTF.
50278         * doc/posix-functions/vdprintf.texi: Mention the new modules.
50279
50280 2009-01-17  Bruno Haible  <bruno@clisp.org>
50281
50282         Fix replacement of fopen on mingw.
50283         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
50284         mingw.
50285
50286 2009-01-17  Bruno Haible  <bruno@clisp.org>
50287
50288         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
50289         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
50290
50291 2009-01-17  Bruno Haible  <bruno@clisp.org>
50292
50293         Avoid test-fflush2.sh failure on mingw.
50294         * tests/test-fflush2.c: Include binary-io.h.
50295         (main): Put standard input into binary mode.
50296         * modules/fflush-tests (Depends-on): Add binary-io.
50297
50298 2009-01-17  Bruno Haible  <bruno@clisp.org>
50299
50300         * lib/wchar.in.h: In another particular situation, include only the
50301         system's <wchar.h> file.
50302         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
50303         Reported by Albert Chin-A-Young <china@thewrittenword.com>
50304         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
50305
50306 2009-01-17  Bruno Haible  <bruno@clisp.org>
50307
50308         Support for stripping executables in --enable-relocatable.
50309         * build-aux/install-reloc: Expect one more argument, or an environment
50310         variable RELOC_STRIP_PROG. If set, strip the destination program and
50311         its wrapper.
50312         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
50313         RELOC_STRIP_PROG.
50314         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
50315         to set RELOCATABLE_STRIP.
50316         * NEWS: Mention the new Makefile requirement.
50317
50318 2009-01-17  Bruno Haible  <bruno@clisp.org>
50319
50320         * build-aux/install-reloc: Remove debugging information left over by
50321         C compiler on MacOS X.
50322
50323 2009-01-17  Bruno Haible  <bruno@clisp.org>
50324
50325         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
50326         * lib/progreloc.c (find_executable): Fix type of pointer passed to
50327         _NSGetExecutablePath.
50328
50329 2009-01-16  Jim Meyering  <meyering@redhat.com>
50330
50331         strerror: avoid warnings about discarding "const"
50332         * lib/strerror.c (rpl_strerror): Instead of returning a const
50333         string from each and every "case", use a variable, and add a single
50334         cast after the switch.
50335
50336 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
50337
50338         * lib/arpa_inet.in.h: Add extern "C" block for C++.
50339
50340 2009-01-16  Bruno Haible  <bruno@clisp.org>
50341
50342         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
50343         array initializer syntax that also works in C++ mode.
50344         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50345
50346 2009-01-16  Jim Meyering  <meyering@redhat.com>
50347
50348         poll: suppress a warning
50349         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
50350         to ignore "...unsigned expression < 0 is always false" warnings.
50351
50352 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
50353
50354         poll: remove declarations of unused variables
50355         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
50356         sockbuf and optlen.
50357
50358 2009-01-15  Bruno Haible  <bruno@clisp.org>
50359
50360         Make fflush-after-ungetc POSIX compliant on BSD systems.
50361         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
50362         (clear_ungetc_buffer): Implement also for other systems.
50363         (rpl_fflush): On glibc systems, invoke
50364         clear_ungetc_buffer_preserving_position. Otherwise, invoke
50365         clear_ungetc_buffer after fetching the stream's position, not before.
50366
50367 2009-01-15  Bruno Haible  <bruno@clisp.org>
50368
50369         Make fflush-after-ungetc POSIX compliant on glibc systems.
50370         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
50371         after ungetc.
50372         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
50373         (rpl_fflush): On glibc systems, simply call the system's fflush
50374         function after clearing the ungetc buffer.
50375         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
50376         Instead, lseek only to the end of file, then use the system's fseeko
50377         for the rest. On glibc systems, reset the EOF indicator bit.
50378
50379 2009-01-15  Jim Meyering  <meyering@redhat.com>
50380
50381         openmp.m4: revert quote-adding change, for portability to older autoconf
50382         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
50383         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
50384         Simon Josefsson noticed the problem when using autoconf-2.61.
50385
50386 2009-01-15  Bruno Haible  <bruno@clisp.org>
50387
50388         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
50389         * tests/test-fflush2.c (ASSERT): Always fail.
50390         (main): Add two tests for fflush() after ungetc(), taking into account
50391         the Austin Group's clarification.
50392         Suggested by Eric Blake.
50393
50394 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
50395
50396         mktime.m4: remove K&R-style function prototypes
50397         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
50398         for the Sun C++ compiler.
50399
50400 2009-01-14  Bruno Haible  <bruno@clisp.org>
50401
50402         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
50403         while including <wchar.h>.
50404         * lib/wchar.in.h: In two particular situations on HP-UX, include only
50405         the system's <wchar.h> file.
50406         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50407
50408 2009-01-14  Bruno Haible  <bruno@clisp.org>
50409
50410         * m4/csharp.m4: Don't mention gettext on the serial number line.
50411         * m4/csharpexec.m4: Likewise.
50412         * m4/eaccess.m4: Likewise.
50413         * m4/javaexec.m4: Likewise.
50414         * m4/sig_atomic_t.m4: Likewise.
50415         * m4/tmpdir.m4: Likewise.
50416         * m4/intldir.m4: Bump gettext version.
50417         * m4/lib-ld.m4: Likewise.
50418
50419 2009-01-14  Bruno Haible  <bruno@clisp.org>
50420
50421         * lib/progname.c (set_program_name): Add more comments.
50422         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
50423
50424 2009-01-14  Simon Josefsson  <simon@josefsson.org>
50425
50426         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
50427         were sys/stat.h does not define it.
50428
50429 2009-01-14  Jim Meyering  <meyering@redhat.com>
50430
50431         many *.m4 files: improve m4 quoting
50432         99% of this change was performed by running the following commands:
50433         git ls-files | grep '\.m4$' | xargs perl -pi \
50434           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
50435           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
50436           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
50437           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
50438         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
50439         The remainder were to add Copyright dates, increment serial numbers,
50440         undo some changes in comments, exclude m4/intl.m4, and add quotes
50441         around the "1" in ",1" where the unusual spacing prohibited the
50442         above regexps from doing the job.  For more details, see
50443         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
50444         * m4/acl.m4: Modified.
50445         * m4/afs.m4: Likewise.
50446         * m4/alloca.m4: Likewise.
50447         * m4/argp.m4: Likewise.
50448         * m4/argz.m4: Likewise.
50449         * m4/atexit.m4: Likewise.
50450         * m4/bison-i18n.m4: Likewise.
50451         * m4/bison.m4: Likewise.
50452         * m4/byteswap.m4: Likewise.
50453         * m4/c-stack.m4: Likewise.
50454         * m4/c-strtod.m4: Likewise.
50455         * m4/calloc.m4: Likewise.
50456         * m4/canonicalize-lgpl.m4: Likewise.
50457         * m4/chown.m4: Likewise.
50458         * m4/clock_time.m4: Likewise.
50459         * m4/codeset.m4: Likewise.
50460         * m4/copy-file.m4: Likewise.
50461         * m4/csharp.m4: Likewise.
50462         * m4/csharpcomp.m4: Likewise.
50463         * m4/csharpexec.m4: Likewise.
50464         * m4/d-ino.m4: Likewise.
50465         * m4/d-type.m4: Likewise.
50466         * m4/dirfd.m4: Likewise.
50467         * m4/double-slash-root.m4: Likewise.
50468         * m4/eaccess.m4: Likewise.
50469         * m4/eealloc.m4: Likewise.
50470         * m4/environ.m4: Likewise.
50471         * m4/errno_h.m4: Likewise.
50472         * m4/euidaccess.m4: Likewise.
50473         * m4/execute.m4: Likewise.
50474         * m4/fatal-signal.m4: Likewise.
50475         * m4/fchdir.m4: Likewise.
50476         * m4/fcntl_h.m4: Likewise.
50477         * m4/fileblocks.m4: Likewise.
50478         * m4/filenamecat.m4: Likewise.
50479         * m4/findprog.m4: Likewise.
50480         * m4/flexmember.m4: Likewise.
50481         * m4/fnmatch.m4: Likewise.
50482         * m4/fopen.m4: Likewise.
50483         * m4/fpending.m4: Likewise.
50484         * m4/fprintf-posix.m4: Likewise.
50485         * m4/free.m4: Likewise.
50486         * m4/frexp.m4: Likewise.
50487         * m4/frexpl.m4: Likewise.
50488         * m4/fsusage.m4: Likewise.
50489         * m4/ftruncate.m4: Likewise.
50490         * m4/gc-camellia.m4: Likewise.
50491         * m4/gc-random.m4: Likewise.
50492         * m4/gc.m4: Likewise.
50493         * m4/getaddrinfo.m4: Likewise.
50494         * m4/getcwd-abort-bug.m4: Likewise.
50495         * m4/getcwd-path-max.m4: Likewise.
50496         * m4/getdate.m4: Likewise.
50497         * m4/getdomainname.m4: Likewise.
50498         * m4/getgroups.m4: Likewise.
50499         * m4/gethostname.m4: Likewise.
50500         * m4/gethrxtime.m4: Likewise.
50501         * m4/getline.m4: Likewise.
50502         * m4/getloadavg.m4: Likewise.
50503         * m4/getndelim2.m4: Likewise.
50504         * m4/getpass.m4: Likewise.
50505         * m4/gettext.m4: Likewise.
50506         * m4/gettime.m4: Likewise.
50507         * m4/gettimeofday.m4: Likewise.
50508         * m4/gnulib-common.m4: Likewise.
50509         * m4/group-member.m4: Likewise.
50510         * m4/host-os.m4: Likewise.
50511         * m4/iconv.m4: Likewise.
50512         * m4/iconv_open.m4: Likewise.
50513         * m4/inet_ntop.m4: Likewise.
50514         * m4/inet_pton.m4: Likewise.
50515         * m4/inline.m4: Likewise.
50516         * m4/intldir.m4: Likewise.
50517         * m4/intlmacosx.m4: Likewise.
50518         * m4/intmax.m4: Likewise.
50519         * m4/intmax_t.m4: Likewise.
50520         * m4/inttypes.m4: Likewise.
50521         * m4/inttypes_h.m4: Likewise.
50522         * m4/inttypes-pri.m4: Likewise.
50523         * m4/isapipe.m4: Likewise.
50524         * m4/isnand.m4: Likewise.
50525         * m4/isnanf.m4: Likewise.
50526         * m4/isnanl.m4: Likewise.
50527         * m4/javacomp.m4: Likewise.
50528         * m4/javaexec.m4: Likewise.
50529         * m4/jm-winsz1.m4: Likewise.
50530         * m4/jm-winsz2.m4: Likewise.
50531         * m4/lchown.m4: Likewise.
50532         * m4/lcmessage.m4: Likewise.
50533         * m4/ldexpl.m4: Likewise.
50534         * m4/lib-ld.m4: Likewise.
50535         * m4/lib-link.m4: Likewise.
50536         * m4/libsigsegv.m4: Likewise.
50537         * m4/link-follow.m4: Likewise.
50538         * m4/localcharset.m4: Likewise.
50539         * m4/locale-fr.m4: Likewise.
50540         * m4/locale-ja.m4: Likewise.
50541         * m4/locale-tr.m4: Likewise.
50542         * m4/locale-zh.m4: Likewise.
50543         * m4/lock.m4: Likewise.
50544         * m4/longlong.m4: Likewise.
50545         * m4/ls-mntd-fs.m4: Likewise.
50546         * m4/lstat.m4: Likewise.
50547         * m4/malloc.m4: Likewise.
50548         * m4/mathl.m4: Likewise.
50549         * m4/mbrtowc.m4: Likewise.
50550         * m4/mbstate_t.m4: Likewise.
50551         * m4/mbswidth.m4: Likewise.
50552         * m4/memchr.m4: Likewise.
50553         * m4/memcmp.m4: Likewise.
50554         * m4/memcpy.m4: Likewise.
50555         * m4/memmem.m4: Likewise.
50556         * m4/memmove.m4: Likewise.
50557         * m4/mempcpy.m4: Likewise.
50558         * m4/memrchr.m4: Likewise.
50559         * m4/memset.m4: Likewise.
50560         * m4/minmax.m4: Likewise.
50561         * m4/mkdir-slash.m4: Likewise.
50562         * m4/mkdtemp.m4: Likewise.
50563         * m4/mktime.m4: Likewise.
50564         * m4/mmap-anon.m4: Likewise.
50565         * m4/mountlist.m4: Likewise.
50566         * m4/nanosleep.m4: Likewise.
50567         * m4/nls.m4: Likewise.
50568         * m4/nocrash.m4: Likewise.
50569         * m4/open.m4: Likewise.
50570         * m4/openat.m4: Likewise.
50571         * m4/openmp.m4: Likewise.
50572         * m4/pathmax.m4: Likewise.
50573         * m4/perl.m4: Likewise.
50574         * m4/physmem.m4: Likewise.
50575         * m4/pipe.m4: Likewise.
50576         * m4/po.m4: Likewise.
50577         * m4/poll.m4: Likewise.
50578         * m4/posixtm.m4: Likewise.
50579         * m4/posixver.m4: Likewise.
50580         * m4/printf-frexp.m4: Likewise.
50581         * m4/printf-frexpl.m4: Likewise.
50582         * m4/printf-posix.m4: Likewise.
50583         * m4/printf-posix-rpl.m4: Likewise.
50584         * m4/printf.m4: Likewise.
50585         * m4/progtest.m4: Likewise.
50586         * m4/putenv.m4: Likewise.
50587         * m4/readline.m4: Likewise.
50588         * m4/readlink.m4: Likewise.
50589         * m4/readutmp.m4: Likewise.
50590         * m4/realloc.m4: Likewise.
50591         * m4/regex.m4: Likewise.
50592         * m4/relocatable.m4: Likewise.
50593         * m4/relocatable-lib.m4: Likewise.
50594         * m4/rename-dest-slash.m4: Likewise.
50595         * m4/rename.m4: Likewise.
50596         * m4/rmdir-errno.m4: Likewise.
50597         * m4/rmdir.m4: Likewise.
50598         * m4/roundf.m4: Likewise.
50599         * m4/roundl.m4: Likewise.
50600         * m4/rpmatch.m4: Likewise.
50601         * m4/save-cwd.m4: Likewise.
50602         * m4/selinux-selinux-h.m4: Likewise.
50603         * m4/setenv.m4: Likewise.
50604         * m4/settime.m4: Likewise.
50605         * m4/sig2str.m4: Likewise.
50606         * m4/sig_atomic_t.m4: Likewise.
50607         * m4/signalblocking.m4: Likewise.
50608         * m4/signbit.m4: Likewise.
50609         * m4/sigpipe.m4: Likewise.
50610         * m4/sockets.m4: Likewise.
50611         * m4/sockpfaf.m4: Likewise.
50612         * m4/st_dm_mode.m4: Likewise.
50613         * m4/stat-time.m4: Likewise.
50614         * m4/stdbool.m4: Likewise.
50615         * m4/stdint.m4: Likewise.
50616         * m4/stdint_h.m4: Likewise.
50617         * m4/stpcpy.m4: Likewise.
50618         * m4/stpncpy.m4: Likewise.
50619         * m4/strcase.m4: Likewise.
50620         * m4/strchrnul.m4: Likewise.
50621         * m4/strcspn.m4: Likewise.
50622         * m4/strdup.m4: Likewise.
50623         * m4/strftime.m4: Likewise.
50624         * m4/strndup.m4: Likewise.
50625         * m4/strnlen.m4: Likewise.
50626         * m4/strpbrk.m4: Likewise.
50627         * m4/strptime.m4: Likewise.
50628         * m4/strsep.m4: Likewise.
50629         * m4/strtod.m4: Likewise.
50630         * m4/strtoimax.m4: Likewise.
50631         * m4/strtok_r.m4: Likewise.
50632         * m4/strtol.m4: Likewise.
50633         * m4/strtoll.m4: Likewise.
50634         * m4/strtoul.m4: Likewise.
50635         * m4/strtoull.m4: Likewise.
50636         * m4/strtoumax.m4: Likewise.
50637         * m4/strverscmp.m4: Likewise.
50638         * m4/threadlib.m4: Likewise.
50639         * m4/timegm.m4: Likewise.
50640         * m4/tm_gmtoff.m4: Likewise.
50641         * m4/tmpdir.m4: Likewise.
50642         * m4/tmpfile.m4: Likewise.
50643         * m4/tzset.m4: Likewise.
50644         * m4/uintmax_t.m4: Likewise.
50645         * m4/unlinkdir.m4: Likewise.
50646         * m4/unlocked-io.m4: Likewise.
50647         * m4/uptime.m4: Likewise.
50648         * m4/userspec.m4: Likewise.
50649         * m4/utimbuf.m4: Likewise.
50650         * m4/utime.m4: Likewise.
50651         * m4/utimes-null.m4: Likewise.
50652         * m4/utimes.m4: Likewise.
50653         * m4/vararrays.m4: Likewise.
50654         * m4/vasnprintf.m4: Likewise.
50655         * m4/vfprintf-posix.m4: Likewise.
50656         * m4/vprintf-posix.m4: Likewise.
50657         * m4/wait-process.m4: Likewise.
50658         * m4/wchar_t.m4: Likewise.
50659         * m4/wint_t.m4: Likewise.
50660         * m4/write-any-file.m4: Likewise.
50661         * m4/yield.m4: Likewise.
50662
50663 2009-01-13  Bruno Haible  <bruno@clisp.org>
50664
50665         Avoid test-copy-file.sh failures when ACL support insufficient.
50666         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
50667         TESTS_ENVIRONMENT.
50668         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
50669         Reported by Jim Meyering.
50670
50671 2009-01-13  Bruno Haible  <bruno@clisp.org>
50672
50673         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
50674         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
50675         * modules/unistdio/u8-printf-parse (Files): Likewise.
50676         * modules/unistdio/u32-printf-parse (Files): Likewise.
50677         * modules/unistdio/ulc-printf-parse (Files): Likewise.
50678
50679 2009-01-13  Simon Josefsson  <simon@josefsson.org>
50680
50681         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
50682         and m4/inttypes_h.m4 too.
50683
50684 2009-01-12  Eric Blake  <ebb9@byu.net>
50685
50686         tests: IRIX 6.2 cc can't compile -0.0 into .data
50687         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
50688         rather than at compile-time.
50689         * tests/test-floorl.c (minus_zero): Likewise.
50690         * tests/test-frexpl.c (minus_zero): Likewise.
50691         * tests/test-isnan.c (minus_zerol): Likewise.
50692         * tests/test-isnanl.h (minus_zero): Likewise.
50693         * tests/test-ldexpl.c (minus_zero): Likewise.
50694         * tests/test-roundl.c (minus_zero): Likewise.
50695         * tests/test-signbit.c (minus_zerol): Likewise.
50696         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
50697         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
50698         * tests/test-truncl.c (minus_zero): Likewise.
50699         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
50700         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
50701         Reported by Tom G. Christensen and Nelson H. F. Beebe.
50702
50703 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50704
50705         regex: fix glibc bug 9697
50706         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
50707         handling.
50708
50709 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50710
50711         regex: fix glibc bug 697
50712         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
50713         being NULL also if there are no backreferences.
50714
50715 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50716
50717         regex: merge glibc changes
50718         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
50719         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
50720         re_string_skip_chars, re_string_reconstruct): Likewise.
50721         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
50722
50723 2009-01-07  Jim Meyering  <meyering@redhat.com>
50724
50725         poll: filter through cppi
50726         * lib/poll.c: Indent cpp directives to reflect nesting.
50727
50728 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
50729
50730         poll: don't return uninitialized
50731         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
50732
50733 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
50734
50735         avoid compile failure on AIX 6.1
50736         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
50737         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
50738
50739 2009-01-04  Jim Meyering  <meyering@redhat.com>
50740
50741         remove duplicate inclusion of <stdio.h>
50742         * tests/test-fprintf-posix.c: Likewise.
50743         * tests/test-printf-posix.c: Likewise.
50744         * tests/test-snprintf-posix.c: Likewise.
50745         * tests/test-sprintf-posix.c: Likewise.
50746         * tests/test-vasprintf-posix.c: Likewise.
50747         * tests/test-vfprintf-posix.c: Likewise.
50748         * tests/test-vprintf-posix.c: Likewise.
50749         * tests/test-vsnprintf-posix.c: Likewise.
50750         * tests/test-vsprintf-posix.c: Likewise.
50751
50752 2009-01-03  Jim Meyering  <meyering@redhat.com>
50753
50754         gnulib-tool: fix sed-based filtering
50755         * gnulib-tool (func_filter_filelist): Remove extra backslash
50756         in sed_fff_filter definition.
50757
50758 2009-01-02  Jim Meyering  <meyering@redhat.com>
50759
50760         strftime: avoid compilation failure on Solaris 2.6
50761         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
50762         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
50763         Don't #define mbrlen or mbsinit, since now they're guaranteed to
50764         be available.  Reported by Tom G. Christensen.  Details in
50765         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
50766
50767 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50768             Bruno Haible  <bruno@clisp.org>
50769
50770         Speed up gnulib-tool by doing more string processing through shell
50771         built-ins.
50772         * gnulib-tool (fast_func_append): New variable.
50773         (func_remove_prefix, func_remove_suffix): New functions.
50774         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
50775         (func_filter_filelist): New function.
50776         (func_get_dependencies): Use func_remove_suffix instead of sed.
50777         (func_get_automake_snippet): Use func_filter_filelist instead of a
50778         subshell and sed invocation.
50779
50780 2009-01-01  Bruno Haible  <bruno@clisp.org>
50781
50782         Fix a security bug.
50783         * gnulib-tool (func_import, import, update): Don't allow the characters
50784         '"', '$', '`', '\' in macro arguments that become part of commands that
50785         are evaluated.
50786
50787 2009-01-01  Bruno Haible  <bruno@clisp.org>
50788
50789         * gnulib-tool (func_reset_sigpipe): Add more comments.
50790
50791 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50792
50793         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
50794         func_emit_tests_Makefile_am, func_import): Abort loops early if we
50795         already know the answer.
50796
50797 2009-01-01  Jim Meyering  <meyering@redhat.com>
50798
50799         * lib/version-etc.c (version_etc_va): Update copyright year.
50800
50801 2008-12-30  Bruno Haible  <bruno@clisp.org>
50802
50803         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
50804         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
50805         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
50806
50807 2008-12-29  Eric Blake  <ebb9@byu.net>
50808
50809         multiarch: avoid autoconf AC_REQUIRE bug
50810         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
50811         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
50812         2.63 and older.
50813         Reported by Bruno Haible, and analyzed in
50814         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
50815
50816 2008-12-29  Bruno Haible  <bruno@clisp.org>
50817
50818         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
50819         files in subdirectories correctly.
50820         Reported by Ralf Wildenhues.
50821
50822 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50823
50824         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
50825         rather than 'join FILE -', for Solaris join.
50826
50827 2008-12-29  Bruno Haible  <bruno@clisp.org>
50828
50829         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
50830         quoting.
50831         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
50832         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
50833         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
50834         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
50835         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
50836         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
50837         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
50838         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
50839         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50840         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
50841         * m4/nls.m4 (AM_NLS): Likewise.
50842         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
50843         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
50844         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
50845         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
50846         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
50847         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
50848         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
50849         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
50850         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
50851         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50852         * m4/xsize.m4 (gl_XSIZE): Likewise.
50853         Suggested by Jim Meyering.
50854
50855 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50856
50857         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
50858         * lib/parse-duration.c: use a switch instead of cascading if's.
50859
50860 2008-12-29  Eric Blake  <ebb9@byu.net>
50861
50862         wchar.h: supply WEOF on Irix 5.3
50863         * lib/wchar.in.h (wint_t): Also supply WEOF.
50864         * lib/wctype.in.h (wint_t): Likewise.
50865         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
50866         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
50867         Reported by Tom G. Christensen.
50868
50869 2008-12-26  Bruno Haible  <bruno@clisp.org>
50870
50871         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
50872         i486, i586, i686.
50873
50874 2008-12-26  Bruno Haible  <bruno@clisp.org>
50875
50876         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
50877
50878 2008-12-26  Bruno Haible  <bruno@clisp.org>
50879
50880         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
50881         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
50882         not __STDC_CONSTANT_MACROS.
50883         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50884
50885 2008-12-25  Bruno Haible  <bruno@clisp.org>
50886
50887         Add support for universal builds to vasnprintf.
50888         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
50889         universal builds, guess no.
50890         * modules/vasnprintf-posix (Depends-on): Add multiarch.
50891         * modules/vasprintf-posix (Depends-on): Likewise.
50892         * modules/fprintf-posix (Depends-on): Likewise.
50893         * modules/vfprintf-posix (Depends-on): Likewise.
50894         * modules/snprintf-posix (Depends-on): Likewise.
50895         * modules/vsnprintf-posix (Depends-on): Likewise.
50896         * modules/sprintf-posix (Depends-on): Likewise.
50897         * modules/vsprintf-posix (Depends-on): Likewise.
50898         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50899         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50900         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50901         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50902         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50903         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50904         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50905
50906         Add support for universal builds to <inttypes.h>.
50907         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
50908         _SCNu64_PREFIX): In Apple
50909         universal builds, define directly, using _LP64.
50910         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
50911         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
50912         * modules/inttypes (Depends-on): Add multiarch.
50913         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50914
50915         Add support for universal builds to <stdint.h>.
50916         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
50917         universal builds, define directly, using _LP64.
50918         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
50919         Apple universal builds, don't test for the size and suffix of ptrdiff_t
50920         and size_t.
50921         * modules/stdint (Depends-on): Add multiarch.
50922         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50923
50924         New module 'multiarch'.
50925         * modules/multiarch: New file.
50926         * m4/multiarch.m4: New file.
50927
50928 2008-12-25  Bruno Haible  <bruno@clisp.org>
50929
50930         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
50931
50932 2008-12-25  Bruno Haible  <bruno@clisp.org>
50933
50934         * modules/btowc (License): Relicense under LGPLv2+.
50935         * modules/mbsinit (License): Likewise.
50936         * modules/mbrtowc (License): Likewise.
50937         * modules/wcrtomb (License): Likewise.
50938         * modules/streq (License): Likewise.
50939         Reported by David Lutterkort <lutter@redhat.com>.
50940
50941 2008-12-23  Bruno Haible  <bruno@clisp.org>
50942
50943         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
50944
50945 2008-12-23  Bruno Haible  <bruno@clisp.org>
50946
50947         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
50948         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
50949         GETADDRINFO_LIB, not in LIBS.
50950         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
50951         * modules/canon-host (Link): Likewise.
50952         * NEWS: Mention the change.
50953         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
50954         GETADDRINFO_LIB.
50955
50956 2008-12-22  Bruno Haible  <bruno@clisp.org>
50957
50958         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
50959         * doc/posix-functions/iswalpha_l.texi: Likewise.
50960         * doc/posix-functions/iswblank_l.texi: Likewise.
50961         * doc/posix-functions/iswcntrl_l.texi: Likewise.
50962         * doc/posix-functions/iswctype_l.texi: Likewise.
50963         * doc/posix-functions/iswdigit_l.texi: Likewise.
50964         * doc/posix-functions/iswgraph_l.texi: Likewise.
50965         * doc/posix-functions/iswlower_l.texi: Likewise.
50966         * doc/posix-functions/iswprint_l.texi: Likewise.
50967         * doc/posix-functions/iswpunct_l.texi: Likewise.
50968         * doc/posix-functions/iswspace_l.texi: Likewise.
50969         * doc/posix-functions/iswupper_l.texi: Likewise.
50970         * doc/posix-functions/iswxdigit_l.texi: Likewise.
50971         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
50972         * doc/posix-functions/open_wmemstream.texi: Likewise.
50973         * doc/posix-functions/swscanf.texi: Likewise.
50974         * doc/posix-functions/towctrans_l.texi: Likewise.
50975         * doc/posix-functions/towlower.texi: Likewise.
50976         * doc/posix-functions/towlower_l.texi: Likewise.
50977         * doc/posix-functions/towupper.texi: Likewise.
50978         * doc/posix-functions/towupper_l.texi: Likewise.
50979         * doc/posix-functions/vfwprintf.texi: Likewise.
50980         * doc/posix-functions/vfwscanf.texi: Likewise.
50981         * doc/posix-functions/vswscanf.texi: Likewise.
50982         * doc/posix-functions/vwprintf.texi: Likewise.
50983         * doc/posix-functions/vwscanf.texi: Likewise.
50984         * doc/posix-functions/wcpcpy.texi: Likewise.
50985         * doc/posix-functions/wcpncpy.texi: Likewise.
50986         * doc/posix-functions/wcscasecmp.texi: Likewise.
50987         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
50988         * doc/posix-functions/wcscoll_l.texi: Likewise.
50989         * doc/posix-functions/wcsdup.texi: Likewise.
50990         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50991         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
50992         * doc/posix-functions/wcsnlen.texi: Likewise.
50993         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50994         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
50995         * doc/posix-functions/wctrans_l.texi: Likewise.
50996         * doc/posix-functions/wctype_l.texi: Likewise.
50997         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
50998         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
50999         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
51000         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
51001         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
51002         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
51003         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
51004         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
51005         * doc/glibc-functions/wcschrnul.texi: Likewise.
51006         * doc/glibc-functions/wcsftime_l.texi: Likewise.
51007         * doc/glibc-functions/wcstod_l.texi: Likewise.
51008         * doc/glibc-functions/wcstof_l.texi: Likewise.
51009         * doc/glibc-functions/wcstol_l.texi: Likewise.
51010         * doc/glibc-functions/wcstold_l.texi: Likewise.
51011         * doc/glibc-functions/wcstoll_l.texi: Likewise.
51012         * doc/glibc-functions/wcstoq.texi: Likewise.
51013         * doc/glibc-functions/wcstoul_l.texi: Likewise.
51014         * doc/glibc-functions/wcstoull_l.texi: Likewise.
51015         * doc/glibc-functions/wcstouq.texi: Likewise.
51016         * doc/glibc-functions/wmempcpy.texi: Likewise.
51017
51018 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
51019             Eric Blake  <ebb9@byu.net>
51020             Paolo Bonzini  <bonzini@gnu.org>
51021             Bruno Haible  <bruno@clisp.org>
51022
51023         Make c-stack work on Haiku.
51024         * lib/c-stack.c (SA_ONSTACK): Define fallback.
51025         (c_stack_action): Use SA_ONSTACK flag.
51026
51027 2008-12-22  Bruno Haible  <bruno@clisp.org>
51028
51029         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
51030
51031 2008-12-22  Bruno Haible  <bruno@clisp.org>
51032
51033         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
51034         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
51035         being overridden.
51036         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
51037         New macros.
51038         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
51039         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
51040         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
51041         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
51042
51043 2008-12-22  Bruno Haible  <bruno@clisp.org>
51044
51045         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
51046         from test code.
51047
51048 2008-12-22  Eric Blake  <ebb9@byu.net>
51049
51050         Avoid gcc warnings on cygwin.
51051         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
51052         Avoid unused variable.
51053         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
51054         Likewise.
51055
51056 2008-12-22  Bruno Haible  <bruno@clisp.org>
51057
51058         Remove HAVE_MBRTOWC conditionals.
51059         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
51060         (mbscasecmp): Assume mbrtowc function.
51061         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
51062         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
51063         * lib/mbschr.c: Include mbuiter.h unconditionally.
51064         (mbschr): Assume mbrtowc function.
51065         * lib/mbscspn.c: Include mbuiter.h unconditionally.
51066         (mbscspn): Assume mbrtowc function.
51067         * lib/mbslen.c: Include mbuiter.h unconditionally.
51068         (mbslen): Assume mbrtowc function.
51069         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
51070         (mbsncasecmp): Assume mbrtowc function.
51071         * lib/mbsnlen.c: Include mbiter.h unconditionally.
51072         (mbsnlen): Assume mbrtowc function.
51073         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
51074         (mbspbrk): Assume mbrtowc function.
51075         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
51076         (mbspcasecmp): Assume mbrtowc function.
51077         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
51078         (mbsrchr): Assume mbrtowc function.
51079         * lib/mbssep.c: Include mbuiter.h unconditionally.
51080         (mbssep): Assume mbrtowc function.
51081         * lib/mbsspn.c: Include mbuiter.h unconditionally.
51082         (mbsspn): Assume mbrtowc function.
51083         * lib/mbsstr.c: Include mbuiter.h unconditionally.
51084         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
51085         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
51086         (mbstok_r): Assume mbrtowc function.
51087         * lib/propername.c: Include mbuiter.h unconditionally.
51088         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
51089         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
51090         (trim2): Assume mbrtowc function.
51091         * lib/mbswidth.c (mbsinit): Remove fallback definition.
51092         (mbsnwidth): Assume mbrtowc function.
51093         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
51094         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
51095         fallback definitions.
51096         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
51097
51098 2008-12-22  Bruno Haible  <bruno@clisp.org>
51099
51100         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
51101
51102 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
51103
51104         * modules/regex: Request emulations for the mb*/wc* functions we need.
51105         * m4/regex.m4: Don't look for those functions here.
51106         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
51107
51108 2008-12-22  Bruno Haible  <bruno@clisp.org>
51109
51110         * modules/fnmatch (Depends-on): Remove duplicated dependency.
51111
51112 2008-12-21  Bruno Haible  <bruno@clisp.org>
51113
51114         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
51115         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
51116         (Include): Remove conditionalization.
51117         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
51118         (Include): Remove conditionalization.
51119         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
51120         (Include): Remove conditionalization.
51121         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
51122         * m4/mbfile.m4 (gl_MBFILE): Likewise.
51123         * NEWS: Mention the change.
51124         Reported by Alan Hourihane <alanh@fairlite.co.uk>
51125         via Sergey Poznyakoff <gray@gnu.org.ua>.
51126
51127 2008-12-21  Bruno Haible  <bruno@clisp.org>
51128
51129         * MODULES.html.sh (Extended multibyte and wide character utilities
51130         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
51131         wcrtomb, wcsrtombs.
51132         (Support for systems lacking POSIX:2008): Add accept, bind, close,
51133         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
51134         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
51135         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
51136
51137 2008-12-21  Bruno Haible  <bruno@clisp.org>
51138
51139         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
51140
51141 2008-12-21  Bruno Haible  <bruno@clisp.org>
51142
51143         * modules/wcsnrtombs-tests: New file.
51144         * tests/test-wcsnrtombs1.sh: New file.
51145         * tests/test-wcsnrtombs2.sh: New file.
51146         * tests/test-wcsnrtombs3.sh: New file.
51147         * tests/test-wcsnrtombs4.sh: New file.
51148         * tests/test-wcsnrtombs.c: New file.
51149
51150         New module 'wcsnrtombs'.
51151         * lib/wchar.in.h (wcsnrtombs): New declaration.
51152         * lib/wcsnrtombs.c: New file.
51153         * lib/wcsrtombs-state.c: New file.
51154         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
51155         (internal_state): Remove variable.
51156         * m4/wcsnrtombs.m4: New file.
51157         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
51158         compilation units.
51159         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
51160         HAVE_WCSNRTOMBS.
51161         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
51162         HAVE_WCSNRTOMBS.
51163         * modules/wcsnrtombs: New file.
51164         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
51165         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
51166
51167 2008-12-21  Bruno Haible  <bruno@clisp.org>
51168
51169         * modules/wcsrtombs-tests: New file.
51170         * tests/test-wcsrtombs1.sh: New file.
51171         * tests/test-wcsrtombs2.sh: New file.
51172         * tests/test-wcsrtombs3.sh: New file.
51173         * tests/test-wcsrtombs4.sh: New file.
51174         * tests/test-wcsrtombs.c: New file.
51175
51176         New module 'wcsrtombs'.
51177         * lib/wchar.in.h (wcsrtombs): New declaration.
51178         * lib/wcsrtombs.c: New file.
51179         * m4/wcsrtombs.m4: New file.
51180         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
51181         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
51182         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
51183         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
51184         * modules/wcsrtombs: New file.
51185         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
51186         bugs.
51187
51188 2008-12-21  Bruno Haible  <bruno@clisp.org>
51189
51190         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
51191         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
51192         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
51193         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
51194         if not correct.
51195         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
51196         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
51197         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51198         m4/locale-zh.m4, m4/codeset.m4.
51199         * doc/posix-functions/wcrtomb.texi: Document the bug.
51200
51201 2008-12-21  Bruno Haible  <bruno@clisp.org>
51202
51203         Work around a btowc() bug on IRIX 6.5.
51204         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
51205         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
51206         REPLACE_WTOBC if not.
51207         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
51208         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
51209         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
51210
51211 2008-12-21  Bruno Haible  <bruno@clisp.org>
51212
51213         * modules/wcrtomb-tests: New file.
51214         * tests/test-wcrtomb.sh: New file.
51215         * tests/test-wcrtomb.c: New file.
51216
51217         New module 'wcrtomb'.
51218         * lib/wchar.in.h (wcrtomb): New declaration.
51219         * lib/wcrtomb.c: New file.
51220         * m4/wcrtomb.m4: New file.
51221         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
51222         HAVE_WCRTOMB.
51223         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
51224         HAVE_WCRTOMB.
51225         * modules/wcrtomb: New file.
51226         * doc/posix-functions/wcrtomb.texi: Mention the new module.
51227
51228 2008-12-21  Bruno Haible  <bruno@clisp.org>
51229
51230         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
51231         * modules/mbsrtowcs (Files): Likewise.
51232         * modules/wctob (Files): Likewise.
51233         * modules/c-strcase-tests (Files): Likewise.
51234         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
51235         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
51236         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
51237         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
51238         * modules/vasnprintf-posix-tests (Files): Likewise.
51239
51240 2008-12-21  William Pursell  <bill.pursell@gmail.com>
51241
51242         gitlog-to-changelog: pass all command-line arguments to git-log
51243         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
51244         it is sometimes convenient to filter the commits in various ways.
51245         gitlog-to-changelog only allows --since to specify a start date,
51246         but git-log itself supports many other filtering mechanisms.
51247         At the moment, I want to filter by branch name.  Rather than
51248         adding a --branch option to gitlog-to-changelog, it seems more
51249         flexible to simply pass all options directly to git-log and let
51250         git do the work.  Notice that this effectively makes --since a
51251         redundant option for gitlog-to-changelog, but removing it would
51252         require current usage to change since calls would then require
51253         an additional '--'.
51254
51255 2008-12-21  Bruno Haible  <bruno@clisp.org>
51256
51257         * modules/mbsnrtowcs-tests: New file.
51258         * tests/test-mbsnrtowcs1.sh: New file.
51259         * tests/test-mbsnrtowcs2.sh: New file.
51260         * tests/test-mbsnrtowcs3.sh: New file.
51261         * tests/test-mbsnrtowcs4.sh: New file.
51262         * tests/test-mbsnrtowcs.c: New file.
51263
51264         New module 'mbsnrtowcs'.
51265         * lib/wchar.in.h (mbsnrtowcs): New declaration.
51266         * lib/mbsnrtowcs.c: New file.
51267         * lib/mbsrtowcs-state.c: New file.
51268         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
51269         (internal_state): Remove variable.
51270         * m4/mbsnrtowcs.m4: New file.
51271         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
51272         compilation units.
51273         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
51274         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
51275         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
51276         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
51277         * modules/mbsnrtowcs: New file.
51278         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
51279         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
51280         portability problem.
51281
51282 2008-12-21  Bruno Haible  <bruno@clisp.org>
51283
51284         Work around mbsrtowcs bug.
51285         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
51286         (gl_FUNC_MBSRTOWCS): Invoke it.
51287         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51288         m4/locale-zh.m4.
51289         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
51290
51291 2008-12-21  Bruno Haible  <bruno@clisp.org>
51292
51293         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
51294
51295 2008-12-21  Bruno Haible  <bruno@clisp.org>
51296
51297         Update doc for AIX.
51298         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
51299         16-bit wchar_t type.
51300         * doc/posix-functions/btowc.texi: Likewise.
51301         * doc/posix-functions/fgetwc.texi: Likewise.
51302         * doc/posix-functions/fgetws.texi: Likewise.
51303         * doc/posix-functions/fputwc.texi: Likewise.
51304         * doc/posix-functions/fputws.texi: Likewise.
51305         * doc/posix-functions/fwide.texi: Likewise.
51306         * doc/posix-functions/fwprintf.texi: Likewise.
51307         * doc/posix-functions/fwscanf.texi: Likewise.
51308         * doc/posix-functions/getwchar.texi: Likewise.
51309         * doc/posix-functions/getwc.texi: Likewise.
51310         * doc/posix-functions/iswalnum.texi: Likewise.
51311         * doc/posix-functions/iswalpha.texi: Likewise.
51312         * doc/posix-functions/iswblank.texi: Likewise.
51313         * doc/posix-functions/iswcntrl.texi: Likewise.
51314         * doc/posix-functions/iswctype.texi: Likewise.
51315         * doc/posix-functions/iswdigit.texi: Likewise.
51316         * doc/posix-functions/iswgraph.texi: Likewise.
51317         * doc/posix-functions/iswlower.texi: Likewise.
51318         * doc/posix-functions/iswprint.texi: Likewise.
51319         * doc/posix-functions/iswpunct.texi: Likewise.
51320         * doc/posix-functions/iswspace.texi: Likewise.
51321         * doc/posix-functions/iswupper.texi: Likewise.
51322         * doc/posix-functions/iswxdigit.texi: Likewise.
51323         * doc/posix-functions/mbrtowc.texi: Likewise.
51324         * doc/posix-functions/mbsrtowcs.texi: Likewise.
51325         * doc/posix-functions/mbstowcs.texi: Likewise.
51326         * doc/posix-functions/mbtowc.texi: Likewise.
51327         * doc/posix-functions/putwchar.texi: Likewise.
51328         * doc/posix-functions/putwc.texi: Likewise.
51329         * doc/posix-functions/swprintf.texi: Likewise.
51330         * doc/posix-functions/tolower.texi: Likewise.
51331         * doc/posix-functions/toupper.texi: Likewise.
51332         * doc/posix-functions/towctrans.texi: Likewise.
51333         * doc/posix-functions/ungetwc.texi: Likewise.
51334         * doc/posix-functions/vswprintf.texi: Likewise.
51335         * doc/posix-functions/wcrtomb.texi: Likewise.
51336         * doc/posix-functions/wcscat.texi: Likewise.
51337         * doc/posix-functions/wcschr.texi: Likewise.
51338         * doc/posix-functions/wcscmp.texi: Likewise.
51339         * doc/posix-functions/wcscoll.texi: Likewise.
51340         * doc/posix-functions/wcscpy.texi: Likewise.
51341         * doc/posix-functions/wcscspn.texi: Likewise.
51342         * doc/posix-functions/wcsftime.texi: Likewise.
51343         * doc/posix-functions/wcslen.texi: Likewise.
51344         * doc/posix-functions/wcsncat.texi: Likewise.
51345         * doc/posix-functions/wcsncmp.texi: Likewise.
51346         * doc/posix-functions/wcsncpy.texi: Likewise.
51347         * doc/posix-functions/wcspbrk.texi: Likewise.
51348         * doc/posix-functions/wcsrchr.texi: Likewise.
51349         * doc/posix-functions/wcsrtombs.texi: Likewise.
51350         * doc/posix-functions/wcsspn.texi: Likewise.
51351         * doc/posix-functions/wcsstr.texi: Likewise.
51352         * doc/posix-functions/wcstod.texi: Likewise.
51353         * doc/posix-functions/wcstof.texi: Likewise.
51354         * doc/posix-functions/wcstoimax.texi: Likewise.
51355         * doc/posix-functions/wcstok.texi: Likewise.
51356         * doc/posix-functions/wcstold.texi: Likewise.
51357         * doc/posix-functions/wcstoll.texi: Likewise.
51358         * doc/posix-functions/wcstol.texi: Likewise.
51359         * doc/posix-functions/wcstombs.texi: Likewise.
51360         * doc/posix-functions/wcstoull.texi: Likewise.
51361         * doc/posix-functions/wcstoul.texi: Likewise.
51362         * doc/posix-functions/wcstoumax.texi: Likewise.
51363         * doc/posix-functions/wcswidth.texi: Likewise.
51364         * doc/posix-functions/wcsxfrm.texi: Likewise.
51365         * doc/posix-functions/wctob.texi: Likewise.
51366         * doc/posix-functions/wctomb.texi: Likewise.
51367         * doc/posix-functions/wctrans.texi: Likewise.
51368         * doc/posix-functions/wctype.texi: Likewise.
51369         * doc/posix-functions/wcwidth.texi: Likewise.
51370         * doc/posix-functions/wmemchr.texi: Likewise.
51371         * doc/posix-functions/wmemcmp.texi: Likewise.
51372         * doc/posix-functions/wmemcpy.texi: Likewise.
51373         * doc/posix-functions/wmemmove.texi: Likewise.
51374         * doc/posix-functions/wmemset.texi: Likewise.
51375         * doc/posix-functions/wprintf.texi: Likewise.
51376         * doc/posix-functions/wscanf.texi: Likewise.
51377
51378 2008-12-21  Bruno Haible  <bruno@clisp.org>
51379
51380         Update doc for HP-UX 11.11.
51381         * doc/posix-functions/btowc.texi: Clarify that the function is missing
51382         in HP-UX version 11.00, not in all versions of HP-UX 11.
51383         * doc/posix-functions/fwide.texi: Likewise.
51384         * doc/posix-functions/fwprintf.texi: Likewise.
51385         * doc/posix-functions/fwscanf.texi: Likewise.
51386         * doc/posix-functions/inet_ntop.texi: Likewise.
51387         * doc/posix-functions/inet_pton.texi: Likewise.
51388         * doc/posix-functions/mbrlen.texi: Likewise.
51389         * doc/posix-functions/mbrtowc.texi: Likewise.
51390         * doc/posix-functions/mbsinit.texi: Likewise.
51391         * doc/posix-functions/mbsrtowcs.texi: Likewise.
51392         * doc/posix-functions/swprintf.texi: Likewise.
51393         * doc/posix-functions/swscanf.texi: Likewise.
51394         * doc/posix-functions/towctrans.texi: Likewise.
51395         * doc/posix-functions/vfwprintf.texi: Likewise.
51396         * doc/posix-functions/vswprintf.texi: Likewise.
51397         * doc/posix-functions/vwprintf.texi: Likewise.
51398         * doc/posix-functions/wcrtomb.texi: Likewise.
51399         * doc/posix-functions/wcsrtombs.texi: Likewise.
51400         * doc/posix-functions/wcsstr.texi: Likewise.
51401         * doc/posix-functions/wctob.texi: Likewise.
51402         * doc/posix-functions/wctrans.texi: Likewise.
51403         * doc/posix-functions/wmemchr.texi: Likewise.
51404         * doc/posix-functions/wmemcmp.texi: Likewise.
51405         * doc/posix-functions/wmemcpy.texi: Likewise.
51406         * doc/posix-functions/wmemmove.texi: Likewise.
51407         * doc/posix-functions/wmemset.texi: Likewise.
51408         * doc/posix-functions/wprintf.texi: Likewise.
51409         * doc/posix-functions/wscanf.texi: Likewise.
51410
51411 2008-12-21  Bruno Haible  <bruno@clisp.org>
51412
51413         Work around a portability problem.
51414         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
51415         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
51416
51417 2008-12-20  Bruno Haible  <bruno@clisp.org>
51418
51419         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
51420         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
51421         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
51422         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
51423         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
51424
51425         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
51426         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
51427         set.
51428         (GNULIB_defined_mbstate_t): New macro.
51429         (mbsinit): Redefine if REPLACE_MBSINIT is set.
51430         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
51431         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
51432         reuses the system's mbrtowc function but works around the bugs.
51433         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
51434         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
51435         macros.
51436         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
51437         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
51438         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
51439         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
51440         REPLACE_MBSINIT if mbsinit needs to be overridden.
51441         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
51442         REPLACE_MBSINIT, REPLACE_MBRTOWC.
51443         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
51444         REPLACE_MBSINIT, REPLACE_MBRTOWC.
51445         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51446         m4/locale-zh.m4.
51447         (Depends): Add mbsinit.
51448         * modules/mbsinit (Depends): Add mbrtowc.
51449         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
51450
51451 2008-12-20  Bruno Haible  <bruno@clisp.org>
51452
51453         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
51454         so that there are no conversion errors on AIX.
51455         * tests/test-mbsrtowcs.c (main): LIkewise.
51456
51457 2008-12-20  Bruno Haible  <bruno@clisp.org>
51458
51459         Work around wctob bug on Solaris <= 9.
51460         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
51461         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
51462         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
51463         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
51464         * modules/wctob (Files): Add m4/locale-fr.m4.
51465         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
51466
51467 2008-12-20  Bruno Haible  <bruno@clisp.org>
51468
51469         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
51470         /dev/null.
51471         * tests/test-select-in.sh: Likewise.
51472         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51473
51474 2008-12-20  Bruno Haible  <bruno@clisp.org>
51475
51476         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
51477         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
51478         Cygwin 1.5.x.
51479
51480 2008-12-20  Bruno Haible  <bruno@clisp.org>
51481
51482         Ensure mbstate_t is defined on HP-UX 11.11.
51483         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
51484         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
51485         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
51486         AC_USE_SYSTEM_EXTENSIONS.
51487         * modules/fnmatch (Depends-on): Add extensions.
51488         * modules/mbrlen (Depends-on): Likewise.
51489         * modules/mbrtowc (Depends-on): Likewise.
51490         * modules/mbsinit (Depends-on): Likewise.
51491         * modules/mbsrtowcs (Depends-on): Likewise.
51492         * modules/mbswidth (Depends-on): Likewise.
51493         * modules/quotearg (Depends-on): Likewise.
51494         * modules/strftime (Depends-on): Likewise.
51495
51496 2008-12-20  Bruno Haible  <bruno@clisp.org>
51497
51498         Ensure wctob is declared on IRIX 6.5.
51499         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
51500         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
51501         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
51502         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
51503         of HAVE_WCTOB.
51504         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
51505         HAVE_WCTOB.
51506         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
51507
51508 2008-12-19  Bruno Haible  <bruno@clisp.org>
51509
51510         * modules/mbsrtowcs-tests: New file.
51511         * tests/test-mbsrtowcs1.sh: New file.
51512         * tests/test-mbsrtowcs2.sh: New file.
51513         * tests/test-mbsrtowcs3.sh: New file.
51514         * tests/test-mbsrtowcs4.sh: New file.
51515         * tests/test-mbsrtowcs.c: New file.
51516
51517         New module 'mbsrtowcs'.
51518         * lib/wchar.in.h (mbsrtowcs): New declaration.
51519         * lib/mbsrtowcs.c: New file.
51520         * m4/mbsrtowcs.m4: New file.
51521         * modules/mbsrtowcs: New file.
51522         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
51523         HAVE_MBSRTOWCS.
51524         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
51525         HAVE_MBSRTOWCS.
51526         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
51527
51528 2008-12-19  Bruno Haible  <bruno@clisp.org>
51529
51530         New module 'mbrlen'.
51531         * lib/wchar.in.h (mbrlen): New declaration.
51532         * lib/mbrlen.c: New file.
51533         * m4/mbrlen.m4: New file.
51534         * modules/mbrlen: New file.
51535         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
51536         HAVE_MBRLEN.
51537         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
51538         HAVE_MBRLEN.
51539         * doc/posix-functions/mbrlen.texi: Document the new module.
51540
51541 2008-12-19  Bruno Haible  <bruno@clisp.org>
51542
51543         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
51544         * modules/mbrtowc (Depends-on): Add verify.
51545         Suggested by Paul Eggert.
51546
51547 2008-12-18  Bruno Haible  <bruno@clisp.org>
51548
51549         * modules/mbsinit-tests: New file.
51550         * tests/test-mbsinit.sh: New file.
51551         * tests/test-mbsinit.c: New file.
51552
51553 2008-12-18  Bruno Haible  <bruno@clisp.org>
51554
51555         * modules/mbrtowc-tests: New file.
51556         * tests/test-mbrtowc1.sh: New file.
51557         * tests/test-mbrtowc2.sh: New file.
51558         * tests/test-mbrtowc3.sh: New file.
51559         * tests/test-mbrtowc4.sh: New file.
51560         * tests/test-mbrtowc.c: New file.
51561
51562         New module 'mbrtowc'.
51563         * lib/wchar.in.h (mbstate_t): Override when the system does not have
51564         mbsinit and mbrtowc.
51565         (mbrtowc): New declaration.
51566         * lib/mbrtowc.c: New file.
51567         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
51568         * modules/mbrtowc: New file.
51569         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
51570         HAVE_MBRTOWC.
51571         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
51572         HAVE_MBRTOWC.
51573         * doc/posix-functions/mbrtowc.texi: Document the new module.
51574
51575 2008-12-18  Bruno Haible  <bruno@clisp.org>
51576
51577         New module 'wctob'.
51578         * lib/wchar.in.h (wctob): New declaration.
51579         * lib/wctob.c: New file.
51580         * m4/wctob.m4: New file.
51581         * modules/wctob: New file.
51582         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
51583         HAVE_WCTOB.
51584         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
51585         * doc/posix-functions/wctob.texi: Document the new module.
51586
51587 2008-12-18  Bruno Haible  <bruno@clisp.org>
51588
51589         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
51590         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
51591
51592 2008-12-18  Simon Josefsson  <simon@josefsson.org>
51593
51594         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
51595         G. Christensen" <tgc@jupiterrise.com>.
51596
51597         * lib/flock.c: Need to include errno.h.  Reported by "Tom
51598         G. Christensen" <tgc@jupiterrise.com>.
51599
51600         * lib/flock.c: Need to include string.h.  Reported by "Tom
51601         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
51602         <ebb9@byu.net>.
51603
51604 2008-12-18  Bruno Haible  <bruno@clisp.org>
51605
51606         * m4/locale-ja.m4: New file, from GNU gettext.
51607
51608 2008-12-17  Bruno Haible  <bruno@clisp.org>
51609
51610         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
51611         Suggested by Eric Blake.
51612
51613 2008-12-17  Bruno Haible  <bruno@clisp.org>
51614
51615         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
51616
51617 2008-12-17  Bruno Haible  <bruno@clisp.org>
51618
51619         * lib/mbsinit.c: Include verify.h. Verify an assumption.
51620         * modules/mbsinit (Depends-on): Add verify.
51621         Suggested by Paul Eggert.
51622
51623 2008-12-17  Bruno Haible  <bruno@clisp.org>
51624
51625         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
51626         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
51627         gl_FUNC_MBRTOWC.
51628         * m4/mbiter.m4 (gl_MBITER): LIkewise.
51629         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
51630         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
51631         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
51632         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
51633         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
51634         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
51635         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
51636         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
51637         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
51638         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
51639         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
51640         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
51641         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
51642         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
51643         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51644         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
51645         * modules/trim (configure.ac): Likewise.
51646
51647 2008-12-17  Bruno Haible  <bruno@clisp.org>
51648
51649         * modules/btowc-tests: New file.
51650         * tests/test-btowc1.sh: New file.
51651         * tests/test-btowc2.sh: New file.
51652         * tests/test-btowc.c: New file.
51653
51654         New module 'btowc'.
51655         * lib/wchar.in.h (btowc): New declaration.
51656         * lib/btowc.c: New file.
51657         * m4/btowc.m4: New file.
51658         * modules/btowc: New file.
51659         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
51660         HAVE_BTOWC.
51661         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
51662         * doc/posix-functions/btowc.texi: Document the new module.
51663
51664 2008-12-17  Bruno Haible  <bruno@clisp.org>
51665
51666         New module 'mbsinit'.
51667         * lib/wchar.in.h (mbsinit): New declaration.
51668         * lib/mbsinit.c: New file.
51669         * m4/mbsinit.m4: New file.
51670         * modules/mbsinit: New file.
51671         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
51672         HAVE_MBSINIT.
51673         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
51674         HAVE_MBSINIT.
51675         * doc/posix-functions/mbsinit.texi: Document the new module.
51676
51677 2008-12-16  Bruno Haible  <bruno@clisp.org>
51678
51679         * lib/unistd.in.h: Add comment.
51680         * tests/test-environ.c: Don't include <stdlib.h>.
51681
51682 2008-12-16  Bruno Haible  <bruno@clisp.org>
51683
51684         * lib/parse-duration.h (parse_duration): Document return value
51685         convention.
51686         * lib/parse-duration.c: Include specification header first. Add
51687         comments.
51688         (_): Remove macro.
51689         (parse_year_month_day, parse_hour_minute_second): Move side effects
51690         outside of strchr call.
51691         (parse_non_iso8601): Move side effects outside of isspace call.
51692         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
51693         call.
51694
51695 2008-12-16  Bruno Haible  <bruno@clisp.org>
51696
51697         * tests/test-parse-duration.sh: Produce no output when the test
51698         succeeds.
51699
51700 2008-12-16  Bruno Haible  <bruno@clisp.org>
51701
51702         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
51703         expressions.
51704
51705 2008-12-15  Bruno Haible  <bruno@clisp.org>
51706
51707         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
51708         * doc/glibc-functions/flistxattr.texi: Likewise.
51709         * doc/glibc-functions/fopencookie.texi: Likewise.
51710         * doc/glibc-functions/fremovexattr.texi: Likewise.
51711         * doc/glibc-functions/fsetxattr.texi: Likewise.
51712         * doc/glibc-functions/getxattr.texi: Likewise.
51713         * doc/glibc-functions/lgetxattr.texi: Likewise.
51714         * doc/glibc-functions/listxattr.texi: Likewise.
51715         * doc/glibc-functions/llistxattr.texi: Likewise.
51716         * doc/glibc-functions/lremovexattr.texi: Likewise.
51717         * doc/glibc-functions/lsetxattr.texi: Likewise.
51718         * doc/glibc-functions/removexattr.texi: Likewise.
51719         * doc/glibc-functions/setxattr.texi: Likewise.
51720         * doc/posix-functions/open_memstream.texi: Likewise.
51721
51722 2008-12-15  Eric Blake  <ebb9@byu.net>
51723
51724         Update doc for cygwin 1.7.
51725         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
51726         functions.
51727         * doc/posix-functions/fchmodat.texi: Likewise.
51728         * doc/posix-functions/fchownat.texi: Likewise.
51729         * doc/posix-functions/fdopendir.texi: Likewise.
51730         * doc/posix-functions/fmemopen.texi: Likewise.
51731         * doc/posix-functions/freeaddrinfo.texi: Likewise.
51732         * doc/posix-functions/fstatat.texi: Likewise.
51733         * doc/posix-functions/futimens.texi: Likewise.
51734         * doc/posix-functions/gai_strerror.texi: Likewise.
51735         * doc/posix-functions/getaddrinfo.texi: Likewise.
51736         * doc/posix-functions/getnameinfo.texi: Likewise.
51737         * doc/posix-functions/if_freenameindex.texi: Likewise.
51738         * doc/posix-functions/if_indextoname.texi: Likewise.
51739         * doc/posix-functions/if_nameindex.texi: Likewise.
51740         * doc/posix-functions/if_nametoindex.texi: Likewise.
51741         * doc/posix-functions/insque.texi: Likewise.
51742         * doc/posix-functions/linkat.texi: Likewise.
51743         * doc/posix-functions/llrint.texi: Likewise.
51744         * doc/posix-functions/llrintf.texi: Likewise.
51745         * doc/posix-functions/llrintl.texi: Likewise.
51746         * doc/posix-functions/lockf.texi: Likewise.
51747         * doc/posix-functions/lrintl.texi: Likewise.
51748         * doc/posix-functions/mkdirat.texi: Likewise.
51749         * doc/posix-functions/mkfifoat.texi: Likewise.
51750         * doc/posix-functions/mknodat.texi: Likewise.
51751         * doc/posix-functions/mq_close.texi: Likewise.
51752         * doc/posix-functions/mq_getattr.texi: Likewise.
51753         * doc/posix-functions/mq_notify.texi: Likewise.
51754         * doc/posix-functions/mq_open.texi: Likewise.
51755         * doc/posix-functions/mq_receive.texi: Likewise.
51756         * doc/posix-functions/mq_send.texi: Likewise.
51757         * doc/posix-functions/mq_setattr.texi: Likewise.
51758         * doc/posix-functions/mq_timedreceive.texi: Likewise.
51759         * doc/posix-functions/mq_timedsend.texi: Likewise.
51760         * doc/posix-functions/mq_unlink.texi: Likewise.
51761         * doc/posix-functions/open_memstream.texi: Likewise.
51762         * doc/posix-functions/openat.texi: Likewise.
51763         * doc/posix-functions/posix_fadvise.texi: Likewise.
51764         * doc/posix-functions/posix_fallocate.texi: Likewise.
51765         * doc/posix-functions/posix_madvise.texi: Likewise.
51766         * doc/posix-functions/posix_memalign.texi: Likewise.
51767         * doc/posix-functions/posix_openpt.texi: Likewise.
51768         * doc/posix-functions/readlinkat.texi: Likewise.
51769         * doc/posix-functions/remque.texi: Likewise.
51770         * doc/posix-functions/renameat.texi: Likewise.
51771         * doc/posix-functions/rintl.texi: Likewise.
51772         * doc/posix-functions/sem_unlink.texi: Likewise.
51773         * doc/posix-functions/shm_open.texi: Likewise.
51774         * doc/posix-functions/shm_unlink.texi: Likewise.
51775         * doc/posix-functions/signgam.texi: Likewise.
51776         * doc/posix-functions/sigset.texi: Likewise.
51777         * doc/posix-functions/stpcpy.texi: Likewise.
51778         * doc/posix-functions/stpncpy.texi: Likewise.
51779         * doc/posix-functions/strerror.texi: Likewise.
51780         * doc/posix-functions/strtod.texi: Likewise.
51781         * doc/posix-functions/symlinkat.texi: Likewise.
51782         * doc/posix-functions/unlinkat.texi: Likewise.
51783         * doc/posix-functions/utimensat.texi: Likewise.
51784         * doc/glibc-functions/bindresvport.texi: Likewise.
51785         * doc/glibc-functions/dn_expand.texi: Likewise.
51786         * doc/glibc-functions/exp10.texi: Likewise.
51787         * doc/glibc-functions/exp10f.texi: Likewise.
51788         * doc/glibc-functions/fgetxattr.texi: Likewise.
51789         * doc/glibc-functions/flistxattr.texi: Likewise.
51790         * doc/glibc-functions/fopencookie.texi: Likewise.
51791         * doc/glibc-functions/freeifaddrs.texi: Likewise.
51792         * doc/glibc-functions/fremovexattr.texi: Likewise.
51793         * doc/glibc-functions/fsetxattr.texi: Likewise.
51794         * doc/glibc-functions/getifaddrs.texi: Likewise.
51795         * doc/glibc-functions/getxattr.texi: Likewise.
51796         * doc/glibc-functions/lgetxattr.texi: Likewise.
51797         * doc/glibc-functions/listxattr.texi: Likewise.
51798         * doc/glibc-functions/llistxattr.texi: Likewise.
51799         * doc/glibc-functions/lremovexattr.texi: Likewise.
51800         * doc/glibc-functions/lsetxattr.texi: Likewise.
51801         * doc/glibc-functions/pow10.texi: Likewise.
51802         * doc/glibc-functions/pow10f.texi: Likewise.
51803         * doc/glibc-functions/rcmd_af.texi: Likewise.
51804         * doc/glibc-functions/removexattr.texi: Likewise.
51805         * doc/glibc-functions/res_init.texi: Likewise.
51806         * doc/glibc-functions/res_mkquery.texi: Likewise.
51807         * doc/glibc-functions/res_query.texi: Likewise.
51808         * doc/glibc-functions/res_querydomain.texi: Likewise.
51809         * doc/glibc-functions/res_send.texi: Likewise.
51810         * doc/glibc-functions/rresvport_af.texi: Likewise.
51811         * doc/glibc-functions/setxattr.texi: Likewise.
51812         * doc/glibc-functions/strcasestr.texi: Likewise.
51813
51814 2008-12-15  Bruno Haible  <bruno@clisp.org>
51815
51816         Fix compilation error on OSF/1 4.0.
51817         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
51818         <sys/time.h>, simply delegate to the system header.
51819         Reported by Daniel Richard G. <oss@teragram.com>.
51820
51821 2008-12-15  Bruno Haible  <bruno@clisp.org>
51822
51823         * doc/posix-functions/openat.texi: Mention the 'openat' module.
51824         * doc/posix-functions/fchmodat.texi: Likewise.
51825         * doc/posix-functions/fchownat.texi: Likewise.
51826         * doc/posix-functions/fdopendir.texi: Likewise.
51827         * doc/posix-functions/fstatat.texi: Likewise.
51828         * doc/posix-functions/mkdirat.texi: Likewise.
51829         * doc/posix-functions/unlinkat.texi: Likewise.
51830
51831 2008-12-14  Bruno Haible  <bruno@clisp.org>
51832
51833         Update doc for POSIX:2008.
51834         * doc/posix-functions/faccessat.texi: New file.
51835         * doc/posix-functions/fchmodat.texi: New file.
51836         * doc/posix-functions/fchownat.texi: New file.
51837         * doc/posix-functions/fdopendir.texi: New file.
51838         * doc/posix-functions/fstatat.texi: New file.
51839         * doc/posix-functions/futimens.texi: New file.
51840         * doc/posix-functions/linkat.texi: New file.
51841         * doc/posix-functions/mkdirat.texi: New file.
51842         * doc/posix-functions/mkfifoat.texi: New file.
51843         * doc/posix-functions/mknodat.texi: New file.
51844         * doc/posix-functions/open_wmemstream.texi: New file.
51845         * doc/posix-functions/openat.texi: New file.
51846         * doc/posix-functions/psiginfo.texi: New file.
51847         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
51848         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
51849         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
51850         * doc/posix-functions/readlinkat.texi: New file.
51851         * doc/posix-functions/renameat.texi: New file.
51852         * doc/posix-functions/strerror_l.texi: New file.
51853         * doc/posix-functions/symlinkat.texi: New file.
51854         * doc/posix-functions/unlinkat.texi: New file.
51855         * doc/posix-functions/utimensat.texi: New file.
51856         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51857
51858 2008-12-14  Bruno Haible  <bruno@clisp.org>
51859
51860         Update doc for POSIX:2008.
51861         * doc/posix-functions/alphasort.texi: Renamed from
51862         doc/glibc-functions/alphasort.texi.
51863         * doc/posix-functions/dirfd.texi: Renamed from
51864         doc/glibc-functions/dirfd.texi.
51865         * doc/posix-functions/dprintf.texi: Renamed from
51866         doc/glibc-functions/dprintf.texi.
51867         * doc/posix-functions/duplocale.texi: Renamed from
51868         doc/glibc-functions/duplocale.texi.
51869         * doc/posix-functions/fexecve.texi: Renamed from
51870         doc/glibc-functions/fexecve.texi.
51871         * doc/posix-functions/fmemopen.texi: Renamed from
51872         doc/glibc-functions/fmemopen.texi.
51873         * doc/posix-functions/freelocale.texi: Renamed from
51874         doc/glibc-functions/freelocale.texi.
51875         * doc/posix-functions/getdate_err.texi: Renamed from
51876         doc/glibc-functions/getdate_err.texi.
51877         * doc/posix-functions/isalnum_l.texi: Renamed from
51878         doc/glibc-functions/isalnum_l.texi.
51879         * doc/posix-functions/isalpha_l.texi: Renamed from
51880         doc/glibc-functions/isalpha_l.texi.
51881         * doc/posix-functions/isblank_l.texi: Renamed from
51882         doc/glibc-functions/isblank_l.texi.
51883         * doc/posix-functions/iscntrl_l.texi: Renamed from
51884         doc/glibc-functions/iscntrl_l.texi.
51885         * doc/posix-functions/isdigit_l.texi: Renamed from
51886         doc/glibc-functions/isdigit_l.texi.
51887         * doc/posix-functions/isgraph_l.texi: Renamed from
51888         doc/glibc-functions/isgraph_l.texi.
51889         * doc/posix-functions/islower_l.texi: Renamed from
51890         doc/glibc-functions/islower_l.texi.
51891         * doc/posix-functions/isprint_l.texi: Renamed from
51892         doc/glibc-functions/isprint_l.texi.
51893         * doc/posix-functions/ispunct_l.texi: Renamed from
51894         doc/glibc-functions/ispunct_l.texi.
51895         * doc/posix-functions/isspace_l.texi: Renamed from
51896         doc/glibc-functions/isspace_l.texi.
51897         * doc/posix-functions/isupper_l.texi: Renamed from
51898         doc/glibc-functions/isupper_l.texi.
51899         * doc/posix-functions/iswalnum_l.texi: Renamed from
51900         doc/glibc-functions/iswalnum_l.texi.
51901         * doc/posix-functions/iswalpha_l.texi: Renamed from
51902         doc/glibc-functions/iswalpha_l.texi.
51903         * doc/posix-functions/iswblank_l.texi: Renamed from
51904         doc/glibc-functions/iswblank_l.texi.
51905         * doc/posix-functions/iswcntrl_l.texi: Renamed from
51906         doc/glibc-functions/iswcntrl_l.texi.
51907         * doc/posix-functions/iswctype_l.texi: Renamed from
51908         doc/glibc-functions/iswctype_l.texi.
51909         * doc/posix-functions/iswdigit_l.texi: Renamed from
51910         doc/glibc-functions/iswdigit_l.texi.
51911         * doc/posix-functions/iswgraph_l.texi: Renamed from
51912         doc/glibc-functions/iswgraph_l.texi.
51913         * doc/posix-functions/iswlower_l.texi: Renamed from
51914         doc/glibc-functions/iswlower_l.texi.
51915         * doc/posix-functions/iswprint_l.texi: Renamed from
51916         doc/glibc-functions/iswprint_l.texi.
51917         * doc/posix-functions/iswpunct_l.texi: Renamed from
51918         doc/glibc-functions/iswpunct_l.texi.
51919         * doc/posix-functions/iswspace_l.texi: Renamed from
51920         doc/glibc-functions/iswspace_l.texi.
51921         * doc/posix-functions/iswupper_l.texi: Renamed from
51922         doc/glibc-functions/iswupper_l.texi.
51923         * doc/posix-functions/iswxdigit_l.texi: Renamed from
51924         doc/glibc-functions/iswxdigit_l.texi.
51925         * doc/posix-functions/isxdigit_l.texi: Renamed from
51926         doc/glibc-functions/isxdigit_l.texi.
51927         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
51928         doc/glibc-functions/mbsnrtowcs.texi.
51929         * doc/posix-functions/mkdtemp.texi: Renamed from
51930         doc/glibc-functions/mkdtemp.texi.
51931         * doc/posix-functions/newlocale.texi: Renamed from
51932         doc/glibc-functions/newlocale.texi.
51933         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
51934         doc/glibc-functions/nl_langinfo_l.texi.
51935         * doc/posix-functions/open_memstream.texi: Renamed from
51936         doc/glibc-functions/open_memstream.texi.
51937         * doc/posix-functions/opterr.texi: Renamed from
51938         doc/glibc-functions/opterr.texi.
51939         * doc/posix-functions/optind.texi: Renamed from
51940         doc/glibc-functions/optind.texi.
51941         * doc/posix-functions/optopt.texi: Renamed from
51942         doc/glibc-functions/optopt.texi.
51943         * doc/posix-functions/psignal.texi: Renamed from
51944         doc/glibc-functions/psignal.texi.
51945         * doc/posix-functions/scandir.texi: Renamed from
51946         doc/glibc-functions/scandir.texi.
51947         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
51948         doc/glibc-functions/sched_get_priority_min.texi.
51949         * doc/posix-functions/signgam.texi: Renamed from
51950         doc/glibc-functions/signgam.texi.
51951         * doc/posix-functions/stpcpy.texi: Renamed from
51952         doc/glibc-functions/stpcpy.texi.
51953         * doc/posix-functions/stpncpy.texi: Renamed from
51954         doc/glibc-functions/stpncpy.texi.
51955         * doc/posix-functions/strcasecmp_l.texi: Renamed from
51956         doc/glibc-functions/strcasecmp_l.texi.
51957         * doc/posix-functions/strcoll_l.texi: Renamed from
51958         doc/glibc-functions/strcoll_l.texi.
51959         * doc/posix-functions/strfmon_l.texi: Renamed from
51960         doc/glibc-functions/strfmon_l.texi.
51961         * doc/posix-functions/strftime_l.texi: Renamed from
51962         doc/glibc-functions/strftime_l.texi.
51963         * doc/posix-functions/strncasecmp_l.texi: Renamed from
51964         doc/glibc-functions/strncasecmp_l.texi.
51965         * doc/posix-functions/strndup.texi: Renamed from
51966         doc/glibc-functions/strndup.texi.
51967         * doc/posix-functions/strnlen.texi: Renamed from
51968         doc/glibc-functions/strnlen.texi.
51969         * doc/posix-functions/strsignal.texi: Renamed from
51970         doc/glibc-functions/strsignal.texi.
51971         * doc/posix-functions/strxfrm_l.texi: Renamed from
51972         doc/glibc-functions/strxfrm_l.texi.
51973         * doc/posix-functions/timer_gettime.texi: Renamed from
51974         doc/glibc-functions/timer_gettime.texi.
51975         * doc/posix-functions/tolower_l.texi: Renamed from
51976         doc/glibc-functions/tolower_l.texi.
51977         * doc/posix-functions/toupper_l.texi: Renamed from
51978         doc/glibc-functions/toupper_l.texi.
51979         * doc/posix-functions/towctrans_l.texi: Renamed from
51980         doc/glibc-functions/towctrans_l.texi.
51981         * doc/posix-functions/towlower_l.texi: Renamed from
51982         doc/glibc-functions/towlower_l.texi.
51983         * doc/posix-functions/towupper_l.texi: Renamed from
51984         doc/glibc-functions/towupper_l.texi.
51985         * doc/posix-functions/uselocale.texi: Renamed from
51986         doc/glibc-functions/uselocale.texi.
51987         * doc/posix-functions/vdprintf.texi: Renamed from
51988         doc/glibc-functions/vdprintf.texi.
51989         * doc/posix-functions/wcpcpy.texi:
51990         Renamed from doc/glibc-functions/wcpcpy.texi.
51991         * doc/posix-functions/wcpncpy.texi: Renamed from
51992         doc/glibc-functions/wcpncpy.texi.
51993         * doc/posix-functions/wcscasecmp.texi: Renamed from
51994         doc/glibc-functions/wcscasecmp.texi.
51995         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
51996         doc/glibc-functions/wcscasecmp_l.texi.
51997         * doc/posix-functions/wcscoll_l.texi: Renamed from
51998         doc/glibc-functions/wcscoll_l.texi.
51999         * doc/posix-functions/wcsdup.texi: Renamed from
52000         doc/glibc-functions/wcsdup.texi.
52001         * doc/posix-functions/wcsncasecmp.texi: Renamed from
52002         doc/glibc-functions/wcsncasecmp.texi.
52003         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
52004         doc/glibc-functions/wcsncasecmp_l.texi.
52005         * doc/posix-functions/wcsnlen.texi: Renamed from
52006         doc/glibc-functions/wcsnlen.texi.
52007         * doc/posix-functions/wcsnrtombs.texi: Renamed from
52008         doc/glibc-functions/wcsnrtombs.texi.
52009         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
52010         doc/glibc-functions/wcsxfrm_l.texi.
52011         * doc/posix-functions/wctrans_l.texi: Renamed from
52012         doc/glibc-functions/wctrans_l.texi.
52013         * doc/posix-functions/wctype_l.texi: Renamed from
52014         doc/glibc-functions/wctype_l.texi.
52015         * doc/gnulib.texi (Function Substitutes): Add these subsections.
52016         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
52017         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
52018         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
52019         these subsections.
52020         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
52021         Remove sections.
52022
52023 2008-12-14  Bruno Haible  <bruno@clisp.org>
52024
52025         Update doc for POSIX:2008.
52026         * doc/posix-functions/*.texi: Update URL of POSIX specification.
52027
52028 2008-12-14  Bruno Haible  <bruno@clisp.org>
52029
52030         Update doc for POSIX:2008.
52031         * doc/pastposix-functions/bcmp.texi: Renamed from
52032         doc/posix-functions/bcmp.texi.
52033         * doc/pastposix-functions/bcopy.texi: Renamed from
52034         doc/posix-functions/bcopy.texi.
52035         * doc/pastposix-functions/bsd_signal.texi: Renamed from
52036         doc/posix-functions/bsd_signal.texi.
52037         * doc/pastposix-functions/bzero.texi: Renamed from
52038         doc/posix-functions/bzero.texi.
52039         * doc/pastposix-functions/ecvt.texi: Renamed from
52040         doc/posix-functions/ecvt.texi.
52041         * doc/pastposix-functions/fcvt.texi: Renamed from
52042         doc/posix-functions/fcvt.texi.
52043         * doc/pastposix-functions/ftime.texi: Renamed from
52044         doc/posix-functions/ftime.texi.
52045         * doc/pastposix-functions/gcvt.texi: Renamed from
52046         doc/posix-functions/gcvt.texi.
52047         * doc/pastposix-functions/getcontext.texi: Renamed from
52048         doc/posix-functions/getcontext.texi.
52049         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
52050         doc/posix-functions/gethostbyaddr.texi.
52051         * doc/pastposix-functions/gethostbyname.texi: Renamed from
52052         doc/posix-functions/gethostbyname.texi.
52053         * doc/pastposix-functions/getwd.texi: Renamed from
52054         doc/posix-functions/getwd.texi.
52055         * doc/pastposix-functions/h_errno.texi: Renamed from
52056         doc/posix-functions/h_errno.texi.
52057         * doc/pastposix-functions/index.texi: Renamed from
52058         doc/posix-functions/index.texi.
52059         * doc/pastposix-functions/makecontext.texi: Renamed from
52060         doc/posix-functions/makecontext.texi.
52061         * doc/pastposix-functions/mktemp.texi: Renamed from
52062         doc/posix-functions/mktemp.texi.
52063         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
52064         doc/posix-functions/pthread_attr_getstackaddr.texi.
52065         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
52066         doc/posix-functions/pthread_attr_setstackaddr.texi.
52067         * doc/pastposix-functions/rindex.texi: Renamed from
52068         doc/posix-functions/rindex.texi.
52069         * doc/pastposix-functions/scalb.texi: Renamed from
52070         doc/posix-functions/scalb.texi.
52071         * doc/pastposix-functions/setcontext.texi: Renamed from
52072         doc/posix-functions/setcontext.texi.
52073         * doc/pastposix-functions/swapcontext.texi: Renamed from
52074         doc/posix-functions/swapcontext.texi.
52075         * doc/pastposix-functions/ualarm.texi: Renamed from
52076         doc/posix-functions/ualarm.texi.
52077         * doc/pastposix-functions/usleep.texi: Renamed from
52078         doc/posix-functions/usleep.texi.
52079         * doc/pastposix-functions/vfork.texi: Renamed from
52080         doc/posix-functions/vfork.texi.
52081         * doc/pastposix-functions/wcswcs.texi: Renamed from
52082         doc/posix-functions/wcswcs.texi.
52083         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
52084         (Function Substitutes): Update.
52085
52086 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52087
52088         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
52089         m4/strerror.m4.
52090
52091 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52092             Bruno Haible  <bruno@clisp.org>
52093
52094         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
52095
52096 2008-12-13  Bruno Haible  <bruno@clisp.org>
52097
52098         * modules/strtoull (Depends-on): Remove unistd.
52099
52100 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52101
52102         * modules/strtoull (Depends-on): Add stdlib.
52103
52104 2008-12-11  Simon Josefsson  <simon@josefsson.org>
52105
52106         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
52107
52108 2008-12-10  Jim Meyering  <meyering@redhat.com>
52109
52110         gl_ASSERT: don't say assertions are disabled when they're not
52111         * m4/assert.m4 (gl_ASSERT): Do not make configure report
52112         "checking whether to enable assertions... no", when they are in
52113         fact enabled.  This is solely a bug in the output of configure.
52114         In spite of saying "no", NDEBUG was not defined in that case.
52115         Also, as noted by Eric Blake, leave assertions enabled upon
52116         --enable-assert=INVALID.
52117
52118 2008-12-10  Bruno Haible  <bruno@clisp.org>
52119
52120         Change MODULES.html to refer to POSIX:2008 where possible.
52121         * MODULES.html.sh (POSIX2008_URL): New variable.
52122         (posix_headers): Remove sys/timeb, ucontext.
52123         (posix2001_headers): New variable.
52124         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
52125         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
52126         index, makecontext, mktemp, pthread_attr_getstackaddr,
52127         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
52128         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
52129         (posix2001_functions): New variable.
52130         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
52131         otherwise.
52132
52133 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52134
52135         add missing include to parse-duration.c
52136         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
52137         * modules/parse-duration (Depends-on): Add xalloc.
52138
52139         fix sed script reading maint.mk
52140         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
52141         (syntax-check-rules): Use it.
52142
52143 2008-12-09  Bruno Haible  <bruno@clisp.org>
52144
52145         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
52146         MacOS X 10.4/PowerPC.
52147         Reported by Simon Josefsson.
52148
52149 2008-12-08  Jim Meyering  <meyering@redhat.com>
52150
52151         work around mingw's lack of some S_IF definitions
52152         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
52153         Reported by Simon Josefsson.
52154
52155 2008-12-08  Bruno Haible  <bruno@clisp.org>
52156
52157         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
52158         applied to variables. Needed on MacOS X 10.4/PowerPC.
52159         Reported by Simon Josefsson.
52160
52161 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
52162         and Eric Blake  <ebb9@byu.net>
52163
52164         assert: honor --enable-assert
52165         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
52166         order to honor --enable-assert, rather than treating it as a
52167         synonym for --disable-assert.
52168
52169 2008-12-08  Jim Meyering  <meyering@redhat.com>
52170
52171         * lib/posixtm.c: Remove now-useless declaration of mktime.
52172
52173         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
52174
52175 2008-12-07  Bruno Haible  <bruno@clisp.org>
52176
52177         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
52178         test_once): Mark functions as static.
52179         * tests/test-tls.c (test_tls): Likewise.
52180
52181 2008-12-07  Bruno Haible  <bruno@clisp.org>
52182
52183         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
52184         iconv_register_autodetect.
52185
52186 2008-12-07  Jim Meyering  <meyering@redhat.com>
52187
52188         posixtm.c: avoid a warning
52189         * lib/posixtm.c (posixtime): Don't initialize tm0.
52190         It's no longer needed to placate gcc4's -Wuninitialized,
52191         and the attempt to placate would elicit a new warning.
52192
52193         unicodeio.c: mark unused parameters
52194         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
52195         (fallback_failure_callback): Likewise.
52196
52197 2008-12-07  Bruno Haible  <bruno@clisp.org>
52198
52199         * gnulib-tool (func_create_testdir): When building the tests
52200         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
52201         Reported by Simon Josefsson.
52202
52203 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52204
52205         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
52206
52207 2008-12-06  Bruno Haible  <bruno@clisp.org>
52208
52209         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
52210         Suggested by Eric Blake.
52211
52212 2008-12-06  Bruno Haible  <bruno@clisp.org>
52213
52214         Fix a c-stack test failure on MacOS X.
52215         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
52216         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
52217         handler for SIGBUS as well.
52218         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
52219         install a signal handler for SIGBUS as well.
52220         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
52221
52222 2008-12-06  Bruno Haible  <bruno@clisp.org>
52223
52224         Advocacy documentation.
52225         * doc/gnulib-intro.texi (Benefits): New section.
52226         * doc/gnulib.texi: Update.
52227
52228 2008-12-06  Bruno Haible  <bruno@clisp.org>
52229
52230         Document the 'manywarnings' module.
52231         * doc/manywarnings.texi: New file.
52232         * doc/gnulib.texi: Include it.
52233
52234 2008-12-05  Eric Blake  <ebb9@byu.net>
52235
52236         tests: silence some gcc warnings
52237         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
52238         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
52239         type mismatches.
52240
52241 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52242             Bruno Haible  <bruno@clisp.org>
52243
52244         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
52245
52246 2008-11-29  Jim Meyering  <meyering@redhat.com>
52247
52248         unicodeio.c: mark unused parameters
52249         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
52250         (fallback_failure_callback): Likewise.
52251
52252         fts: fix a thinko
52253         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
52254         (set_stat_type): Return S_IF*-valued "type" directly.
52255         Prompted by James Youngman's spotting a related bug.
52256         Confirmed by further testing through find.
52257
52258         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
52259         * lib/fts.c (D_TYPE): Define.
52260         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
52261         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
52262         (s_ifmt_shift_bits): New function.
52263         (set_stat_type): New function.
52264         (fts_build): When not calling fts_stat, call set_stat_type
52265         to propagate dirent.d_type info to fts_read caller.
52266         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
52267         fts_statp->st_mode type information may be valid.
52268
52269 2008-11-28  Simon Josefsson  <simon@josefsson.org>
52270
52271         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
52272         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
52273         <sds@gnu.org>.
52274
52275 2008-11-20  Bruno Haible  <bruno@clisp.org>
52276
52277         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
52278         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
52279         INCLUDE_NEXT.
52280         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
52281         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
52282         * modules/math (Makefile.am): Substitute
52283         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
52284         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52285
52286 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
52287             Bruno Haible  <bruno@clisp.org>
52288
52289         * lib/stdint.in.h: Define all type macros so that their expansion is
52290         a single typedef'ed token. Fixes a compilation failure in Boost which
52291         does "using ::int8_t;".
52292
52293 2008-11-18  Simon Josefsson  <simon@josefsson.org>
52294
52295         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
52296         gl_MANYWARN_ALL_GCC.
52297         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
52298         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
52299         * modules/manywarnings: New file.
52300         * MODULES.html.sh: Mention manywarnings module.
52301
52302 2008-11-18  Bruno Haible  <bruno@clisp.org>
52303
52304         * doc/gnulib-tool.texi (Unit tests): New section.
52305
52306 2008-11-18  Simon Josefsson  <simon@josefsson.org>
52307
52308         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
52309         paths like 'lib/po/foo.po'.
52310
52311 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52312
52313         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
52314         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
52315
52316 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52317
52318         * m4/warnings.m4: Use CPPFLAGS to really check whether the
52319         parameter works.
52320
52321 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52322
52323         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
52324
52325 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52326
52327         * modules/parse-duration-tests: New file.
52328         * tests/test-parse-duration.sh: New file.
52329         * tests/test-parse-duration.c: New file.
52330
52331         New module 'parse-duration'.
52332         * lib/parse-duration.h: New file.
52333         * lib/parse-duration.c: New file.
52334         * modules/parse-duration: New file.
52335
52336 2008-11-17  Bruno Haible  <bruno@clisp.org>
52337
52338         * tests/test-select-out.sh: Comment out the first pipe test.
52339         Reported by Simon Josefsson.
52340
52341 2008-11-17  Bruno Haible  <bruno@clisp.org>
52342
52343         * modules/getaddrinfo (Depends-on): Add servent, hostent.
52344         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
52345         gl_HOSTENT.
52346
52347 2008-11-17  Bruno Haible  <bruno@clisp.org>
52348
52349         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
52350         -lnetwork and -lnet. Needed for Haiku and BeOS.
52351
52352 2008-11-16  Bruno Haible  <bruno@clisp.org>
52353
52354         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
52355
52356 2008-11-16  Bruno Haible  <bruno@clisp.org>
52357
52358         Avoid test failure on Haiku.
52359         * tests/test-fsync.c: Include <errno.h>.
52360         (main): Don't require that fsync (0) fails.
52361
52362 2008-11-15  Bruno Haible  <bruno@clisp.org>
52363
52364         New module 'hostent'.
52365         * modules/hostent: New file.
52366         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
52367
52368 2008-11-15  Bruno Haible  <bruno@clisp.org>
52369
52370         New module 'servent'.
52371         * modules/servent: New file.
52372         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
52373
52374 2008-11-15  Bruno Haible  <bruno@clisp.org>
52375
52376         Avoid generating same test program with two different rules.
52377         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
52378         test-frexp to test-frexp-nolibm.
52379         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
52380         test-frexpl to test-frexpl-nolibm.
52381
52382 2008-11-15  Bruno Haible  <bruno@clisp.org>
52383
52384         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
52385         $(FREXPL_LIBM).
52386
52387 2008-11-15  Bruno Haible  <bruno@clisp.org>
52388
52389         * lib/netdb.in.h: Activate the definitions also when the system's
52390         <netdb.h> has 'struct addrinfo'.
52391         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
52392         EAI_OVERFLOW or AI_NUMERICSERV.
52393         * doc/posix-headers/netdb.texi: Document the problem.
52394
52395 2008-11-15  Bruno Haible  <bruno@clisp.org>
52396
52397         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
52398
52399         Make the 'sched' module work on platforms where <sched.h> exists but
52400         is incomplete (such as Haiku).
52401         * lib/sched.in.h; Include the system's <sched.h> if it exists.
52402         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
52403         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
52404         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
52405         HAVE_STRUCT_SCHED_PARAM.
52406         * modules/sched (Depends-on): Add include_next.
52407         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
52408         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
52409         * doc/posix-headers/sched.texi: Document the issue.
52410
52411 2008-11-13  Jim Meyering  <meyering@redhat.com>
52412
52413         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
52414         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
52415         test would fail due to the difference in the Report bugs to ...
52416         line.  The expected address is empty, "<>", while the actual
52417         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
52418
52419 2008-11-12  Bruno Haible  <bruno@clisp.org>
52420
52421         lstat: don't compile lstat.c on systems lacking lstat
52422         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
52423         which don't have lstat; this is handled by lib/sys_stat.in.h already.
52424         Reported by Daniel P. Berrange via Jim Meyering.
52425
52426 2008-11-12  Jim Meyering  <meyering@redhat.com>
52427
52428         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
52429
52430 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52431
52432         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
52433         instead.
52434
52435 2008-11-12  Bruno Haible  <bruno@clisp.org>
52436
52437         * lib/unicodeio.c: Include unistr.h.
52438         (utf8_wctomb): Remove function.
52439         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
52440
52441 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52442
52443         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
52444         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
52445         <bruno@clisp.org>.
52446         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
52447
52448 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52449
52450         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
52451         * doc/gnulib.texi: Add section for warnings.
52452
52453 2008-11-11  Bruno Haible  <bruno@clisp.org>
52454
52455         * lib/sockets.h: Add a comment.
52456
52457 2008-11-11  Karl Berry  <karl@gnu.org>
52458
52459         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
52460
52461 2008-11-11  Eric Blake  <ebb9@byu.net>
52462
52463         fdl.texi: avoid git symlinks
52464         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
52465
52466 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52467
52468         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
52469
52470 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52471
52472         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
52473         (gl_WARN_ADD): Substitute $2 if literal.
52474
52475 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52476
52477         * m4/warning.m4: Remove.
52478
52479 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
52480
52481         * m4/warnings.m4: Almost complete rewrite. :-)
52482
52483 2008-11-10  Simon Josefsson  <simon@josefsson.org>
52484
52485         * modules/warnings: New module.
52486         * m4/warnings.m4: New file.
52487         * MODULES.html.sh: Mention warnings module.
52488         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
52489         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52490
52491 2008-11-10  Eric Blake  <ebb9@byu.net>
52492
52493         fdl.texi: make a symlink to the latest version
52494         * doc/standards.texi: Revert today's earlier change.
52495         * doc/fdl-1.2.texi: Rename from old fdl.texi...
52496         * doc/fdl.texi: ...and replace this with a symlink to the newer
52497         fdl-1.3.texi.
52498
52499 2008-11-10  Bruno Haible  <bruno@clisp.org>
52500
52501         * tests/test-select-fd.c (main): Accept the result file name as fourth
52502         argument.
52503         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
52504         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
52505
52506 2008-11-10  Bruno Haible  <bruno@clisp.org>
52507
52508         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
52509         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
52510         as autoconf-substituted macros.
52511         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
52512         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
52513         gl_NETDB_H_DEFAULTS. Set these variables.
52514         * modules/netdb (Makefile.am): Substitute these variables.
52515
52516 2008-11-10  Eric Blake  <ebb9@byu.net>
52517
52518         standards.texi: include correct file for FDL 1.3
52519         * doc/standards.texi (GNU Free Documentation License): Change
52520         include file to pull in FDL 1.3, not 1.2.
52521
52522         fdl.texi: revert accidental change to license
52523         * doc/fdl.texi: This is FDL 1.2, not 1.3.
52524
52525 2008-11-10  Bruno Haible  <bruno@clisp.org>
52526
52527         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
52528         cross-compiling guesses also when the native compile gives no result.
52529
52530 2008-11-10  Bruno Haible  <bruno@clisp.org>
52531
52532         * lib/spawni.c (__spawni): Force variable into the stack.
52533
52534 2008-11-10  Bruno Haible  <bruno@clisp.org>
52535
52536         Add support for Haiku.
52537         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
52538         glibc and BeOS, but also on Haiku.
52539         * lib/fpurge.c (fpurge): Likewise.
52540         * lib/freadable.c (freadable): Likewise.
52541         * lib/freadahead.c (freadahead): Likewise.
52542         * lib/freading.c (freading): Likewise.
52543         * lib/freadptr.c (freadptr): Likewise.
52544         * lib/freadseek.c (freadptrinc): Likewise.
52545         * lib/fseeko.c (rpl_fseeko): Likewise.
52546         * lib/fseterr.c (fseterr): Likewise.
52547         * lib/fwritable.c (fwritable): Likewise.
52548         * lib/fwriting.c (fwriting): Likewise.
52549         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
52550
52551 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
52552
52553         * lib/config.charset: Treat Haiku like BeOS.
52554
52555 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
52556
52557         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
52558         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
52559
52560 2008-11-08  Bruno Haible  <bruno@clisp.org>
52561
52562         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
52563         AC_CACHE_CHECK.
52564
52565 2008-11-08  Bruno Haible  <bruno@clisp.org>
52566
52567         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
52568
52569 2008-11-08  Bruno Haible  <bruno@clisp.org>
52570
52571         * tests/test-select-fd.c: New file.
52572         * tests/test-select-in.sh: New file.
52573         * tests/test-select-out.sh: New file.
52574         * tests/test-select-stdin.c: New file.
52575         * modules/select-tests (Files): Add the new files.
52576         (Depends-on): Add gettimeofday.
52577         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
52578         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
52579         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
52580
52581 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
52582             Bruno Haible  <bruno@clisp.org>
52583
52584         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
52585
52586 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
52587
52588         * build-aux/pmccabe2html: Added support for C++ source files.
52589
52590 2008-11-05  Ben Pfaff  <blp@gnu.org>
52591
52592         Fix lib/close.c build on Windows.
52593         * modules/close (Files): Add lib/w32sock.h.
52594
52595 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
52596
52597         Accept Bison's NEWS format.
52598         * build-aux/announce-gen (print_news_deltas): Tweak
52599         $re_prefix.
52600
52601 2008-11-04  Bruno Haible  <bruno@clisp.org>
52602
52603         * modules/random_r (Maintainer): Add glibc.
52604
52605 2008-11-04  Simon Josefsson  <simon@josefsson.org>
52606
52607         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
52608         by karl@freefriends.org (Karl Berry).
52609         * doc/alloca.texi: Likewise.
52610         * doc/c-ctype.texi: Likewise.
52611         * doc/c-strcase.texi: Likewise.
52612         * doc/c-strcaseeq.texi: Likewise.
52613         * doc/c-strcasestr.texi: Likewise.
52614         * doc/c-strstr.texi: Likewise.
52615         * doc/c-strtod.texi: Likewise.
52616         * doc/c-strtold.texi: Likewise.
52617         * doc/ctime.texi: Likewise.
52618         * doc/error.texi: Likewise.
52619         * doc/fdl.texi: Likewise.
52620         * doc/gcd.texi: Likewise.
52621         * doc/getdate.texi: Likewise.
52622         * doc/gnulib-intro.texi: Likewise.
52623         * doc/gnulib-tool.texi: Likewise.
52624         * doc/gnulib.texi: Likewise.
52625         * doc/inet_ntoa.texi: Likewise.
52626         * doc/maintain.texi: Likewise.
52627         * doc/make-stds.texi: Likewise.
52628         * doc/quote.texi: Likewise.
52629         * doc/regexprops-generic.texi: Likewise.
52630         * doc/standards.texi: Likewise.
52631         * doc/verify.texi: Likewise.
52632         * doc/visibility.texi: Likewise.
52633         * doc/gnulib.texi (GNU Free Documentation License): Include
52634         fdl-1.3.texi instead of fdl.texi.
52635
52636 2008-11-04  Simon Josefsson  <simon@josefsson.org>
52637
52638         * doc/fdl-1.3.texi: New file, from
52639         <http://www.gnu.org/licenses/fdl-1.3.texi>.
52640         * modules/fdl-1.3: Add.
52641         * MODULES.html.sh: Add fdl-1.3.
52642
52643 2008-11-03  Bruno Haible  <bruno@clisp.org>
52644
52645         Make determination of absolute name of header file work with AIX xlc.
52646         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
52647         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
52648         preprocessing.
52649         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52650         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52651
52652 2008-11-03  Simon Josefsson  <simon@josefsson.org>
52653
52654         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
52655         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
52656         <ludo@gnu.org>.
52657
52658 2008-11-02  Bruno Haible  <bruno@clisp.org>
52659
52660         Mark 'strpbrk' obsolete.
52661         * modules/strpbrk (Status, Notice): New sections.
52662         * modules/strtok_r (Depends-on): Add strpbrk.
52663
52664 2008-11-02  Bruno Haible  <bruno@clisp.org>
52665
52666         Mark 'strdup' obsolete.
52667         * modules/strdup (Status, Notice): New sections.
52668         * modules/findprog (Depends-on): Add strdup.
52669         * modules/getaddrinfo (Depends-on): Likewise.
52670         * modules/localename (Depends-on): Likewise.
52671         * modules/relocatable-lib (Depends-on): Likewise.
52672         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
52673         * modules/relocatable-prog (Depends-on): Likewise.
52674         * modules/trim (Depends-on): Likewise.
52675         * modules/unictype/gen-ctype (Depends-on): Likewise.
52676         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52677
52678 2008-11-02  Bruno Haible  <bruno@clisp.org>
52679
52680         Mark 'strcspn' obsolete.
52681         * modules/strcspn (Status, Notice): New sections.
52682
52683 2008-11-02  Bruno Haible  <bruno@clisp.org>
52684
52685         Mark 'rmdir' obsolete.
52686         * modules/rmdir (Status, Notice): New sections.
52687         * modules/clean-temp (Depends-on): Add rmdir.
52688         * modules/openat (Depends-on): Likewise.
52689
52690 2008-11-02  Bruno Haible  <bruno@clisp.org>
52691
52692         Mark 'raise' obsolete.
52693         * modules/raise (Status, Notice): New sections.
52694         (Include): Specify <signal.h>.
52695         * modules/stdio (Depends-on): Add raise.
52696         * modules/write (Depends-on): Likewise.
52697
52698 2008-11-02  Bruno Haible  <bruno@clisp.org>
52699
52700         Mark 'memset' obsolete.
52701         * modules/memset (Status, Notice): New sections.
52702
52703 2008-11-02  Bruno Haible  <bruno@clisp.org>
52704
52705         Mark 'memmove' obsolete.
52706         * modules/memmove (Status, Notice): New sections.
52707         * modules/argp (Depends-on): Add memmove.
52708         * modules/argz (Depends-on): Likewise.
52709         * modules/canonicalize (Depends-on): Likewise.
52710         * modules/canonicalize-lgpl (Depends-on): Likewise.
52711         * modules/fts (Depends-on): Likewise.
52712         * modules/getcwd (Depends-on): Likewise.
52713         * modules/human (Depends-on): Likewise.
52714         * modules/regex (Depends-on): Likewise.
52715         * modules/striconveh (Depends-on): Likewise.
52716         * modules/trim (Depends-on): Likewise.
52717         * modules/unistr/u8-move (Depends-on): Likewise.
52718         * modules/unistr/u16-move (Depends-on): Likewise.
52719         * modules/unistr/u32-move (Depends-on): Likewise.
52720
52721 2008-11-02  Bruno Haible  <bruno@clisp.org>
52722
52723         Mark 'memcpy' obsolete.
52724         * modules/memcpy (Status, Notice): New sections.
52725
52726 2008-11-02  Bruno Haible  <bruno@clisp.org>
52727
52728         Mark 'memcmp' obsolete.
52729         * modules/memcmp (Status, Notice): New sections.
52730         * modules/argmatch (Depends-on): Add memchr.
52731         * modules/backupfile (Depends-on): Likewise.
52732         * modules/c-strcasestr (Depends-on): Likewise.
52733         * modules/crypto/des (Depends-on): Likewise.
52734         * modules/csharpcomp (Depends-on): Likewise.
52735         * modules/fnmatch (Depends-on): Likewise.
52736         * modules/git-merge-changelog (Depends-on): Likewise.
52737         * modules/isnand (Depends-on): Likewise.
52738         * modules/isnand-nolibm (Depends-on): Likewise.
52739         * modules/isnanf (Depends-on): Likewise.
52740         * modules/isnanf-nolibm (Depends-on): Likewise.
52741         * modules/isnanl (Depends-on): Likewise.
52742         * modules/isnanl-nolibm (Depends-on): Likewise.
52743         * modules/mbchar (Depends-on): Likewise.
52744         * modules/memcoll (Depends-on): Likewise.
52745         * modules/quotearg (Depends-on): Likewise.
52746         * modules/regex (Depends-on): Likewise.
52747         * modules/relocatable-prog (Depends-on): Likewise.
52748         * modules/same (Depends-on): Likewise.
52749         * modules/signbit (Depends-on): Likewise.
52750         * modules/strcasestr-simple (Depends-on): Likewise.
52751         * modules/unictype/gen-ctype (Depends-on): Likewise.
52752         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52753         * modules/uniname/uniname (Depends-on): Likewise.
52754         * modules/unistr/u8-cmp (Depends-on): Likewise.
52755
52756 2008-11-02  Bruno Haible  <bruno@clisp.org>
52757
52758         Mark 'memchr' obsolete.
52759         * modules/memchr (Status, Notice): New sections.
52760         * modules/argp (Depends-on): Add memchr.
52761         * modules/base64 (Depends-on): Likewise.
52762         * modules/c-strcasestr (Depends-on): Likewise.
52763         * modules/chdir-long (Depends-on): Likewise.
52764         * modules/fnmatch (Depends-on): Likewise.
52765         * modules/getsubopt (Depends-on): Likewise.
52766         * modules/git-merge-changelog (Depends-on): Likewise.
52767         * modules/glob (Depends-on): Likewise.
52768         * modules/strcasestr-simple (Depends-on): Likewise.
52769         * modules/strnlen (Depends-on): Likewise.
52770
52771 2008-11-02  Bruno Haible  <bruno@clisp.org>
52772
52773         Mark 'atexit' obsolete.
52774         * modules/atexit (Status, Notice): New sections.
52775         * modules/chdir-long (Depends-on): Add atexit.
52776         * modules/wait-process (Depends-on): Likewise.
52777
52778 2008-11-02  Bruno Haible  <bruno@clisp.org>
52779
52780         * gnulib-tool: New option --with-obsolete.
52781         (func_usage): Document it.
52782         (func_modules_transitive_closure): Drop obsolete dependencies if
52783         incobsolete is not true.
52784         (func_import): Read and save the incobsolete variable to the cache.
52785
52786 2008-11-02  Bruno Haible  <bruno@clisp.org>
52787
52788         * modules/TEMPLATE-EXTENDED: New field 'Status'.
52789         * gnulib-tool: New option --extract-status.
52790         (func_usage): Document it.
52791         (sed_extract_prog): Recognize it.
52792         (func_get_status): New function.
52793
52794 2008-10-30  Simon Josefsson  <simon@josefsson.org>
52795
52796         * modules/sockets (License): Change from LGPL to LGPLv2+.
52797
52798 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52799
52800         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
52801
52802 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52803
52804         * MODULES.html.sh (Support for systems lacking POSIX:2001):
52805         Mention times and sys_times.
52806         * modules/sys_times, modules/sys_times-tests: New modules.
52807         * modules/times, modules/times-tests: Likewise
52808         * m4/sys_times_h.m4: New file.
52809         * lib/sys_times.in.h: Likewise
52810         * lib/times.c: Likewise.
52811         * tests/test-sys_times.c: Likewise.
52812         * tests/test-times.c: Likewise.
52813         * doc/posix-headers/sys_times.texi: Update.
52814         * doc/posix-functions/times.texi: Update.
52815
52816 2008-10-28  Jim Meyering  <meyering@redhat.com>
52817
52818         * modules/tempname (Depends-on): Add lstat.
52819
52820         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
52821
52822 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52823
52824         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
52825         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
52826         using idiom used elsewhere in gnulib.
52827
52828 2008-10-27  Jim Meyering  <meyering@redhat.com>
52829
52830         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
52831
52832 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52833
52834         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
52835         TESTS_ENVIRONMENT, for shell scripts that needs to call built
52836         programs.
52837         * tests/test-argp-2.sh: Use $EXEEXT when needed.
52838
52839 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52840
52841         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
52842
52843 2008-10-27  Bruno Haible  <bruno@clisp.org>
52844
52845         * tests/test-lstat.c: Include <stdio.h>.
52846
52847 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52848
52849         * modules/lstat-tests: New module.
52850         * tests/test-lstat.c: New file.
52851
52852 2008-10-26  Jim Meyering  <meyering@redhat.com>
52853
52854         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
52855
52856 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52857             Bruno Haible  <bruno@clisp.org>
52858
52859         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
52860         * modules/configmake (Include): Add a note that the include must come
52861         after all system headers.
52862         * lib/javaversion.c: Include configmake.h after all other includes.
52863
52864 2008-10-26  Bruno Haible  <bruno@clisp.org>
52865
52866         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
52867         HAVE_STRUCT_RANDOM_DATA to 1.
52868         (gl_STDLIB_H): Simplify.
52869
52870 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52871
52872         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
52873         substitute HAVE_STRUCT_RANDOM_DATA.
52874         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
52875         random_data.
52876         * modules/stdlib (Makefile.am): Substitute
52877         HAVE_STRUCT_RANDOM_DATA.
52878
52879 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52880
52881         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
52882         * doc/gnulib-intro.texi (Copyright): Likewise.
52883
52884 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52885
52886         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
52887         findings.
52888
52889 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
52890             Bruno Haible  <bruno@clisp.org>
52891
52892         * lib/unistd.in.h: Include <winsock2.h>.
52893         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
52894         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
52895         Provide dummy declarations.
52896         (gethostname): Override.
52897         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
52898         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
52899         gl_PREREQ_SYS_H_WINSOCK2.
52900         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
52901         * doc/posix-functions/gethostname.texi: More details.
52902
52903 2008-10-25  Bruno Haible  <bruno@clisp.org>
52904
52905         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52906         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
52907         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
52908
52909         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
52910         here ...
52911         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
52912         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
52913         gl_UNISTD_H_DEFAULTS.
52914
52915 2008-10-25  Eric Blake  <ebb9@byu.net>
52916
52917         signbit: avoid spurious compiler failure
52918         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
52919         declarations inside function.
52920
52921 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52922             Bruno Haible  <bruno@clisp.org>
52923
52924         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
52925         * modules/random_r (Depends-on): Add stdint.
52926
52927 2008-10-24  Bruno Haible  <bruno@clisp.org>
52928
52929         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
52930         Eggert.
52931         * modules/strerror (License): Likewise.
52932
52933 2008-10-24  Jim Meyering  <meyering@redhat.com>
52934
52935         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
52936         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
52937
52938 2008-10-24  Eric Blake  <ebb9@byu.net>
52939
52940         getgroups: fix compilation when getgroups is available
52941         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
52942         but with <config.h> override of getgroups disabled.
52943
52944 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52945
52946         * doc/gnulib.texi (Header files): Add note about C++ problems.
52947         Explained by Bruno Haible <bruno@clisp.org>.
52948
52949 2008-10-23  Bruno Haible  <bruno@clisp.org>
52950
52951         Define a dummy SA_NODEFER macro on Interix.
52952         * lib/signal.in.h (SA_NODEFER): Define fallback.
52953         Reported by Aleksey Cheusov <cheusov@tut.by> via
52954         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
52955
52956 2008-10-23  Bruno Haible  <bruno@clisp.org>
52957
52958         * modules/freadahead (License): Change to LGPLv2+.
52959         Suggested by Simon Josefsson.
52960
52961 2008-10-23  Jim Meyering  <meyering@redhat.com>
52962
52963         random_r: new module
52964         * modules/random_r: New file.
52965         * m4/random_r.m4: New file.
52966         * lib/random_r.c: New file, from glibc.
52967         * modules/random_r-tests: New file.
52968         * tests/test-random_r.c: New file.
52969         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
52970          Declare.
52971         (RAND_MAX): Define.
52972         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
52973         * modules/stdlib: Substitute them, too.
52974         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
52975         * doc/glibc-functions/initstate_r.texi: Mention the new module.
52976         * doc/glibc-functions/random_r.texi: Likewise.
52977         * doc/glibc-functions/setstate_r.texi: Likewise.
52978         * doc/glibc-functions/srandom_r.texi: Likewise.
52979         * config/srclist.txt: Mention it.
52980
52981 2008-10-23  David Lutterkort  <lutter@redhat.com>
52982
52983         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
52984         link requirement
52985
52986 2008-10-23  Jim Meyering  <meyering@redhat.com>
52987
52988         selinux-h: mark parameters of stub functions as intentionally unused
52989         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
52990         * lib/se-context.in.h: Likewise.
52991
52992 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52993
52994         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
52995
52996 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52997
52998         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
52999
53000 2008-10-22  Eric Blake  <ebb9@byu.net>
53001
53002         glthread/thread: avoid compiler warning
53003         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
53004         Add unreachable abort to silence compiler.
53005
53006 2008-10-22  Eric Blake  <ebb9@byu.net>
53007
53008         netdb: also supply struct addrinfo for cygwin 1.5.x
53009         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
53010         older cygwin.
53011         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
53012         cygwin.
53013         * doc/posix-headers/netdb.texi (netdb.h): Document this.
53014
53015 2008-10-22  Bruno Haible  <bruno@clisp.org>
53016
53017         * users.txt: Update entry about pspp.
53018
53019 2008-10-21  Bruno Haible  <bruno@clisp.org>
53020
53021         Simplification.
53022         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
53023         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
53024
53025         Simplification.
53026         * lib/ioctl.c (ioctl): Don't undefine.
53027         * lib/socket.c (socket): Don't undefine.
53028
53029         Remove unused module indicator macros.
53030         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
53031         GNULIB_$1 as a C macro.
53032
53033         * doc/posix-functions/close.texi: Undo last change.
53034         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
53035         Windows platforms.
53036
53037 2008-10-21  Bruno Haible  <bruno@clisp.org>
53038
53039         Add gethostname() declaration to <unistd.h>.
53040         * lib/unistd.in.h (gethostname): New declaration.
53041         * lib/gethostname.c: Include <unistd.h>.
53042         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
53043         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
53044         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
53045         and HAVE_GETHOSTNAME.
53046         * modules/gethostname (Depends-on): Add unistd.
53047         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53048         (Include): Specify <unistd.h>.
53049         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
53050         HAVE_GETHOSTNAME.
53051         * tests/test-gethostname.c: Include <unistd.h> first.
53052
53053 2008-10-21  Bruno Haible  <bruno@clisp.org>
53054
53055         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
53056         * modules/select-tests (Depends-on): Likewise.
53057         Reported by Simon Josefsson.
53058
53059 2008-10-21  Simon Josefsson  <simon@josefsson.org>
53060
53061         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
53062         * lib/accept.c: New file, based on winsock.c.
53063         * lib/bind.c: New file, based on winsock.c.
53064         * lib/connect.c: New file, based on winsock.c.
53065         * lib/getpeername.c: New file, based on winsock.c.
53066         * lib/getsockname.c: New file, based on winsock.c.
53067         * lib/getsockopt.c: New file, based on winsock.c.
53068         * lib/ioctl.c: New file, based on winsock.c.
53069         * lib/listen.c: New file, based on winsock.c.
53070         * lib/recv.c: New file, based on winsock.c.
53071         * lib/recvfrom.c: New file, based on winsock.c.
53072         * lib/send.c: New file, based on winsock.c.
53073         * lib/sendto.c: New file, based on winsock.c.
53074         * lib/setsockopt.c: New file, based on winsock.c.
53075         * lib/shutdown.c: New file, based on winsock.c.
53076         * lib/socket.c: New file, based on winsock.c.
53077         * lib/w32sock.h: New file, based on winsock.c.
53078         * lib/winsock.c: Remove file.
53079         * modules/accept: Likewise.
53080         * modules/bind: Likewise.
53081         * modules/connect: Likewise.
53082         * modules/getpeername: Likewise.
53083         * modules/getsockname: Likewise.
53084         * modules/getsockopt: Likewise.
53085         * modules/ioctl: Likewise.
53086         * modules/listen: Likewise.
53087         * modules/recv: Likewise.
53088         * modules/recvfrom: Likewise.
53089         * modules/send: Likewise.
53090         * modules/sendto: Likewise.
53091         * modules/setsockopt: Likewise.
53092         * modules/shutdown: Likewise.
53093         * modules/socket: Use socket.c instead of winsock.c.
53094         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
53095         * doc/posix-functions/accept.texi: Doc fix.
53096         * doc/posix-functions/bind.texi: Doc fix.
53097         * doc/posix-functions/close.texi: Doc fix.
53098         * doc/posix-functions/connect.texi: Doc fix.
53099         * doc/posix-functions/getpeername.texi: Doc fix.
53100         * doc/posix-functions/getsockname.texi: Doc fix.
53101         * doc/posix-functions/getsockopt.texi: Doc fix.
53102         * doc/posix-functions/ioctl.texi: Doc fix.
53103         * doc/posix-functions/listen.texi: Doc fix.
53104         * doc/posix-functions/recv.texi: Doc fix.
53105         * doc/posix-functions/recvfrom.texi: Doc fix.
53106         * doc/posix-functions/send.texi: Doc fix.
53107         * doc/posix-functions/sendto.texi: Doc fix.
53108         * doc/posix-functions/setsockopt.texi: Doc fix.
53109         * doc/posix-functions/shutdown.texi: Doc fix.
53110         * doc/posix-functions/socket.texi: Doc fix.
53111
53112 2008-10-20  Bruno Haible  <bruno@clisp.org>
53113
53114         Take into account the role of SIGABRT_COMPAT on Windows 2008.
53115         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
53116         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
53117         as an alias for SIGABRT.
53118         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
53119         (sigaction): Map it to SIGABRT.
53120         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
53121
53122 2008-10-20  Bruno Haible  <bruno@clisp.org>
53123
53124         * lib/fts.c: Don't include lstat.h.
53125         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
53126
53127         Move the lstat() declaration to <sys/stat.h>.
53128         * lib/lstat.h: Remove file.
53129         * lib/sys_stat.in.h: Add special invocation convention.
53130         (lstat): New declaration.
53131         * lib/lstat.c (orig_lstat): New function.
53132         (rpl_lstat): Use orig_lstat instead of lstat.
53133         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
53134         AC_C_INLINE. Set REPLACE_LSTAT.
53135         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
53136         and REPLACE_LSTAT.
53137         * modules/lstat (Files): Remove lib/lstat.h.
53138         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
53139         (Include): Specify <sys/stat.h> instead of lstat.h.
53140         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
53141         REPLACE_LSTAT.
53142         * NEWS: Mention the change.
53143
53144 2008-10-20  Bruno Haible  <bruno@clisp.org>
53145
53146         * modules/posix_spawn-tests: New file.
53147         * tests/test-posix_spawn3.c: New file.
53148
53149 2008-10-20  Bruno Haible  <bruno@clisp.org>
53150
53151         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
53152         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
53153         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
53154         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
53155         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
53156
53157 2008-10-20  Bruno Haible  <bruno@clisp.org>
53158
53159         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
53160         of posix_spawn on AIX 5.3.
53161
53162 2008-10-20  Bruno Haible  <bruno@clisp.org>
53163
53164         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
53165
53166 2008-10-20  Bruno Haible  <bruno@clisp.org>
53167
53168         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
53169         of AC_LANG_PROGRAM.
53170
53171 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53172
53173         * lib/netdb.in.h: Don't define GNU specific constants until they
53174         are supported or needed.  Reported by Bruno Haible
53175         <bruno@clisp.org>.
53176
53177 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53178
53179         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
53180
53181 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53182
53183         * lib/getaddrinfo.h: Remove file.
53184         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
53185         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
53186         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
53187         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
53188         * modules/netdb: Substitute GNULIB_GETADDRINFO.
53189         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
53190         * tests/test-getaddrinfo.c: Likewise.
53191         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
53192         * NEWS: Mention change.
53193
53194 2008-10-19  Bruno Haible  <bruno@clisp.org>
53195
53196         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
53197
53198 2008-10-19  Bruno Haible  <bruno@clisp.org>
53199
53200         * lib/wait-process.c: Include simply <sys/wait.h>.
53201         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
53202         WIFSTOPPED): Remove fallback definitions.
53203         * modules/wait-process (Depends-on): Add sys_wait.
53204
53205         New module 'sys_wait'.
53206         * modules/sys_wait: New file.
53207         * lib/sys_wait.in.h: New file, partially copied from
53208         lib/wait-process.c.
53209         * m4/sys_wait_h.m4: New file.
53210         * doc/posix-headers/sys_wait.texi: Mention the new module.
53211
53212 2008-10-19  Bruno Haible  <bruno@clisp.org>
53213
53214         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
53215
53216 2008-10-19  Bruno Haible  <bruno@clisp.org>
53217
53218         Assume that waitpid() fills an 'int' status, not a 'union wait'.
53219         * lib/wait-process.c (WAIT_T): Remove type.
53220         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
53221         (wait_subprocess): Update.
53222
53223 2008-10-19  Bruno Haible  <bruno@clisp.org>
53224
53225         New module 'atoll'.
53226         * modules/atoll: New file.
53227         * lib/stdlib.in.h (atoll): New declaration.
53228         * lib/atoll.c: New file, from glibc with modifications.
53229         * m4/atoll.m4: New file.
53230         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
53231         HAVE_ATOLL.
53232         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
53233         * doc/posix-functions/atoll.texi: Mention the new module.
53234
53235 2008-10-19  Bruno Haible  <bruno@clisp.org>
53236
53237         Add strtoull() declaration to <stdlib.h>.
53238         * lib/stdlib.in.h (strtoull): New declaration.
53239         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
53240         Set HAVE_STRTOULL.
53241         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
53242         HAVE_STRTOULL.
53243         * modules/strtoull (Depends-on): Add stdlib.
53244         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53245         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
53246         HAVE_STRTOULL.
53247
53248 2008-10-19  Bruno Haible  <bruno@clisp.org>
53249
53250         Add strtoll() declaration to <stdlib.h>.
53251         * lib/stdlib.in.h (strtoll): New declaration.
53252         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
53253         Set HAVE_STRTOLL.
53254         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
53255         HAVE_STRTOLL.
53256         * modules/strtoll (Depends-on): Add stdlib.
53257         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53258         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
53259
53260 2008-10-19  Bruno Haible  <bruno@clisp.org>
53261
53262         * modules/bcopy (Depends-on): Add strings.
53263         (Include): Specify <strings.h>.
53264
53265 2008-10-19  Bruno Haible  <bruno@clisp.org>
53266
53267         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
53268
53269 2008-10-19  Bruno Haible  <bruno@clisp.org>
53270
53271         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
53272         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
53273         mingw.
53274
53275 2008-10-19  Bruno Haible  <bruno@clisp.org>
53276
53277         * lib/atanl.c: Don't include isnanl.h.
53278         * lib/cosl.c: Likewise.
53279         * lib/ldexpl.c: Likewise.
53280         * lib/logl.c: Likewise.
53281         * lib/sinl.c: Likewise.
53282         * lib/sqrtl.c: Likewise.
53283         * lib/tanl.c: Likewise.
53284
53285         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
53286         * lib/isnanf.h: Remove file.
53287         * lib/isnand.h: Remove file.
53288         * lib/isnanl.h: Remove file.
53289         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
53290         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
53291         macros.
53292         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
53293         HAVE_ISNANF, don't define it as a C macro.
53294         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
53295         HAVE_ISNAND, don't define it as a C macro.
53296         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
53297         HAVE_ISNANL, don't define it as a C macro.
53298         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
53299         HAVE_ISNAN[FDL].
53300         * modules/isnanf (Files): Remove lib/isnanf.h.
53301         (Depends-on): Add math.
53302         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53303         (Include): Specify <math.h> instead of isnanf.h.
53304         * modules/isnand (Files): Remove lib/isnand.h.
53305         (Depends-on): Add math.
53306         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53307         (Include): Specify <math.h> instead of isnand.h.
53308         * modules/isnanl (Files): Remove lib/isnanl.h.
53309         (Depends-on): Add math.
53310         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53311         (Include): Specify <math.h> instead of isnanl.h.
53312         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
53313         HAVE_ISNAN[FDL].
53314         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
53315         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
53316         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
53317         * NEWS: Mention the change.
53318
53319 2008-10-18  Bruno Haible  <bruno@clisp.org>
53320
53321         Add getusershell(), setusershell(), endusershell() declarations to
53322         <unistd.h>.
53323         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
53324         declarations.
53325         * lib/getusershell.c: Include unistd.h.
53326         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
53327         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
53328         HAVE_GETUSERSHELL.
53329         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
53330         and HAVE_GETUSERSHELL.
53331         * modules/getusershell (Depends-on): Add unistd, extensions.
53332         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53333         (Include): Specify <unistd.h>.
53334         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
53335         HAVE_GETUSERSHELL.
53336
53337 2008-10-18  Bruno Haible  <bruno@clisp.org>
53338
53339         Add a getloadavg() declaration to <stdlib.h>.
53340         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
53341         getloadavg declaration.
53342         (getloadavg): New declaration.
53343         * lib/getloadavg.c: Include <stdlib.h> first.
53344         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
53345         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
53346         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
53347         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
53348         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
53349         * modules/getloadavg (Depends-on): Add stdlib, extensions.
53350         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53351         (Include): Specify <stdlib.h>.
53352         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
53353         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
53354
53355 2008-10-18  Bruno Haible  <bruno@clisp.org>
53356
53357         * lib/dirchownmod.c: Don't include lchmod.h.
53358
53359         Move the lchmod() declaration to <sys/stat.h>.
53360         * lib/lchmod.h: Remove file.
53361         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
53362         (lchmod): New declaration, moved here from lib/lchown.h.
53363         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
53364         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
53365         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
53366         and HAVE_LCHMOD.
53367         * modules/lchmod (Files): Remove lib/lchmod.h.
53368         (Depends-on): Add sys_stat, extensions.
53369         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
53370         (Include): Specify <sys/stat.h> instead of lchmod.h.
53371         * modules/sys_stat (Depends-on): Add link-warning.
53372         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
53373         definition of GL_LINK_WARNING.
53374         * NEWS: Mention the change.
53375
53376 2008-10-18  Bruno Haible  <bruno@clisp.org>
53377
53378         * lib/fchdir.c: Don't include dirfd.h.
53379         * lib/fts.c: Likewise.
53380         * lib/getcwd.c: Likewise.
53381         * lib/glob.c: Likewise.
53382
53383         Move the dirfd() declaration to <dirent.h>.
53384         * lib/dirfd.h: Remove file.
53385         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
53386         (dirfd): New declaration.
53387         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
53388         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
53389         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
53390         HAVE_DECL_DIRFD.
53391         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
53392         HAVE_DECL_DIRFD.
53393         * modules/dirfd (Files): Remove lib/dirfd.h.
53394         (Depends-on): Add dirent, extensions.
53395         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
53396         (Include): Specify <dirent.h> instead of dirfd.h.
53397         * modules/dirent (Depends-on): Add link-warning.
53398         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
53399         definition of GL_LINK_WARNING.
53400         * NEWS: Mention the change.
53401
53402 2008-10-18  Bruno Haible  <bruno@clisp.org>
53403
53404         Move the euidaccess() declaration to <unistd.h>.
53405         * lib/euidaccess.h: Remove file.
53406         * lib/unistd.in.h (euidaccess): New declaration.
53407         * lib/euidaccess.c: Don't include euidaccess.h.
53408         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
53409         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
53410         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
53411         and HAVE_EUIDACCESS.
53412         * modules/euidaccess (Files): Remove lib/euidaccess.h.
53413         (Depends-on): Add unistd.
53414         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53415         (Include): Specify <unistd.h> instead of euidaccess.h.
53416         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
53417         HAVE_EUIDACCESS.
53418         * NEWS: Mention the change.
53419
53420 2008-10-18  Bruno Haible  <bruno@clisp.org>
53421
53422         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
53423
53424         Move the getdomainname() declaration to <unistd.h>.
53425         * lib/getdomainname.h: Remove file.
53426         * lib/unistd.in.h (getdomainname): New declaration.
53427         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
53428         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
53429         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
53430         HAVE_GETDOMAINNAME.
53431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53432         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
53433         * modules/getdomainname (Files): Remove lib/getdomainname.h.
53434         (Depends-on): Add unistd, extensions.
53435         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53436         (Includes): Specify <unistd.h> instead of getdomainname.h.
53437         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
53438         HAVE_GETDOMAINNAME.
53439         * NEWS: Mention the change.
53440
53441 2008-10-18  Bruno Haible  <bruno@clisp.org>
53442
53443         * modules/dirent: New file.
53444         * m4/dirent_h.m4: New file.
53445         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
53446         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
53447         * modules/fchdir (Files): Remove lib/dirent.in.h.
53448         (Depends-on): Add dirent.
53449         (Makefile.am): Move rules to modules/dirent.
53450         * doc/posix-headers/dirent.texi: Mention the new module.
53451
53452 2008-10-18  Bruno Haible  <bruno@clisp.org>
53453
53454         Avoid -Wunused-parameter warnings in public gnulib header files.
53455         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
53456         macro.
53457         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
53458
53459 2008-10-18  Bruno Haible  <bruno@clisp.org>
53460
53461         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
53462         * doc/glibc-functions/error.texi: Mention the module 'error'.
53463         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
53464         * doc/glibc-functions/getdomainname.texi: Mention the module
53465         'getdomainname'.
53466         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
53467         * doc/glibc-functions/getpagesize.texi: Mention the module
53468         'getpagesize'.
53469         * doc/glibc-functions/getusershell.texi: Mention the module
53470         'getusershell'.
53471         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
53472         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
53473         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
53474         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
53475         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
53476         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
53477         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
53478         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
53479         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
53480         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
53481         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
53482         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
53483         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
53484         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
53485
53486 2008-10-17  Bruno Haible  <bruno@clisp.org>
53487
53488         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
53489         HP-UX and IRIX, use -0.0L.
53490         * tests/test-ceill.c (minus_zero): Likewise.
53491         * tests/test-floorl.c (minus_zero): Likewise.
53492         * tests/test-frexpl.c (minus_zero): Likewise.
53493         * tests/test-isnan.c (minus_zerol): Likewise.
53494         * tests/test-isnanl.h (minus_zero): Likewise.
53495         * tests/test-ldexpl.c (minus_zero): Likewise.
53496         * tests/test-roundl.c (minus_zero): Likewise.
53497         * tests/test-signbit.c (minus_zerol): Likewise.
53498         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
53499         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
53500         * tests/test-truncl.c (minus_zero): Likewise.
53501         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
53502         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
53503         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
53504         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
53505
53506 2008-10-17  Bruno Haible  <bruno@clisp.org>
53507
53508         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
53509         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
53510         that it gets activated only for gcc >= 3.0.
53511         * lib/dirent.in.h: Likewise.
53512         * lib/errno.in.h: Likewise.
53513         * lib/fcntl.in.h: Likewise.
53514         * lib/float.in.h: Likewise.
53515         * lib/iconv.in.h: Likewise.
53516         * lib/inttypes.in.h: Likewise.
53517         * lib/locale.in.h: Likewise.
53518         * lib/math.in.h: Likewise.
53519         * lib/netdb.in.h: Likewise.
53520         * lib/netinet_in.in.h: Likewise.
53521         * lib/search.in.h: Likewise.
53522         * lib/signal.in.h: Likewise.
53523         * lib/spawn.in.h: Likewise.
53524         * lib/stdarg.in.h: Likewise.
53525         * lib/stdint.in.h: Likewise.
53526         * lib/stdio.in.h: Likewise.
53527         * lib/stdlib.in.h: Likewise.
53528         * lib/string.in.h: Likewise.
53529         * lib/strings.in.h: Likewise.
53530         * lib/sys_file.in.h: Likewise.
53531         * lib/sys_ioctl.in.h: Likewise.
53532         * lib/sys_select.in.h: Likewise.
53533         * lib/sys_socket.in.h: Likewise.
53534         * lib/sys_stat.in.h: Likewise.
53535         * lib/sys_time.in.h: Likewise.
53536         * lib/sysexits.in.h: Likewise.
53537         * lib/time.in.h: Likewise.
53538         * lib/unistd.in.h: Likewise.
53539         * lib/wchar.in.h: Likewise.
53540         * lib/wctype.in.h: Likewise.
53541         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53542
53543 2008-10-17  Jim Meyering  <meyering@redhat.com>
53544
53545         ignore-value: don't depend on inline module
53546         * modules/ignore-value (Depends-on): Remove 'inline'.
53547         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
53548         Suggestion from Bruno Haible.
53549
53550 2008-10-17  Bruno Haible  <bruno@clisp.org>
53551
53552         New implementation of condition variables for Win32.
53553         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
53554         (gl_linked_waitqueue_t): New type.
53555         (gl_cond_t): Use it.
53556         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
53557         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
53558         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
53559         (glthread_cond_init_func, glthread_cond_wait_func,
53560         glthread_cond_timedwait_func, glthread_cond_signal_func,
53561         glthread_cond_broadcast_func, glthread_cond_destroy_func):
53562         Reimplemented on the basis of gl_linked_waitqueue_t.
53563         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
53564         gl_waitqueue_t.
53565         (gl_rwlock_t): Update.
53566         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
53567
53568 2008-10-17  Simon Josefsson  <simon@josefsson.org>
53569
53570         * modules/recvfrom (Depends-on): Add dependency on getpeername.
53571         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53572
53573 2008-10-17  Jim Meyering  <meyering@redhat.com>
53574
53575         ignore-value: new module
53576         * modules/ignore-value: New file.
53577         * lib/ignore-value.h: New file.
53578         * MODULES.html.sh (Compiler warning management): New section,
53579         just for this module.  More to come.
53580
53581 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
53582
53583         open-safer.c: avoid 'signed and unsigned in conditional...' warning
53584         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
53585         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
53586
53587 2008-10-16  Jim Meyering  <meyering@redhat.com>
53588
53589         openat-die.c: avoid 'no previous prototype' warning
53590         * lib/openat-die.c: Include "openat.h".
53591         Reported by Reuben Thomas <rrt@sc3d.org>.
53592
53593 2008-10-16  Simon Josefsson  <simon@josefsson.org>
53594
53595         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
53596         * lib/netdb.in.h: Fix typo.
53597         Reported by Bruno Haible  <bruno@clisp.org>
53598
53599         * lib/netdb.in.h: Include sys/socket.h for platforms without
53600         netdb.h, to get structures like hostent on MinGW.
53601         * modules/netdb (Depends-on): Add sys_socket.
53602
53603 2008-10-15  Simon Josefsson  <simon@josefsson.org>
53604
53605         * modules/netdb, modules/netdb-tests: New file.
53606         * m4/netdb_h.m4: New file.
53607         * lib/netdb.in.h: Add, currently just an empty file pending
53608         definitions.
53609         * tests/test-netdb.c: New file.
53610         * doc/posix-headers/netdb.texi: Mention that we replace it if
53611         needed.
53612         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53613         netdb.
53614
53615 2008-10-15  Simon Josefsson  <simon@josefsson.org>
53616
53617         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
53618         with code.
53619
53620 2008-10-13  Bruno Haible  <bruno@clisp.org>
53621
53622         * lib/glthread/cond.c (glthread_cond_wait_func,
53623         glthread_cond_timedwait_func): Add a comment.
53624
53625 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53626
53627         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
53628         * tests/test-select.c: Likewise,
53629
53630 2008-10-13  Bruno Haible  <bruno@clisp.org>
53631
53632         * lib/glthread/cond.c (glthread_cond_wait_func,
53633         glthread_cond_timedwait_func): Fix variable name.
53634         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53635
53636 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
53637
53638         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
53639         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
53640         struct sockaddr.sa_len.
53641         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
53642
53643 2008-10-13  Simon Josefsson  <simon@josefsson.org>
53644
53645         * build-aux/pmccabe2html: Add css and css_url parameters.
53646
53647 2008-10-12  Bruno Haible  <bruno@clisp.org>
53648
53649         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
53650         calling aclx_get.
53651         Reported by Rainer Tammer <tammer@tammer.net>.
53652
53653 2008-10-12  Bruno Haible  <bruno@clisp.org>
53654
53655         Use msvcrt aware primitives for creation/termination of Win32 threads.
53656         * lib/glthread/thread.c: Include <process.h>.
53657         (glthread_create_func): Use _beginthreadex instead of CreateThread.
53658         (wrapper_func): Update signature.
53659         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
53660
53661 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53662             Bruno Haible  <bruno@clisp.org>
53663
53664         Provide a Win32 implementation of the 'cond' module.
53665         * lib/glthread/cond.h [USE_WIN32]: New implementation.
53666         * lib/glthread/cond.c (glthread_cond_init_func,
53667         glthread_cond_wait_func, glthread_cond_timedwait_func,
53668         glthread_cond_signal_func, glthread_cond_broadcast_func,
53669         glthread_cond_destroy_func) [USE_WIN32]: New functions.
53670         * modules/cond (Dependencies): Add gettimeofday.
53671
53672 2008-10-11  Bruno Haible  <bruno@clisp.org>
53673
53674         Make sleep work on older versions of mingw.
53675         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
53676         only whether it exists.
53677         * doc/posix-functions/sleep.texi: Mention the problem with older
53678         versions of mingw.
53679
53680 2008-10-11  Bruno Haible  <bruno@clisp.org>
53681
53682         New module 'shutdown'.
53683         * modules/shutdown: New file.
53684         * lib/sys_socket.in.h (shutdown): New declaration.
53685         * lib/winsock.c (shutdown): New function.
53686         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
53687         GNULIB_SHUTDOWN.
53688         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
53689         * doc/posix-functions/shutdown.texi: Document the new module.
53690
53691 2008-10-11  Jim Meyering  <meyering@redhat.com>
53692
53693         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
53694
53695 2008-10-11  Bruno Haible  <bruno@clisp.org>
53696
53697         New module 'fclose'.
53698         * modules/fclose: New file.
53699         * lib/stdio.in.h (fclose): New declaration.
53700         * lib/fclose.c: New file.
53701         * m4/fclose.m4: New file.
53702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
53703         REPLACE_FCLOSE.
53704         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
53705         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
53706         REPLACE_FCLOSE.
53707         * modules/close (Depends-on): fclose.
53708         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
53709
53710 2008-10-11  Bruno Haible  <bruno@clisp.org>
53711
53712         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
53713         set errno and don't call _close.
53714
53715 2008-10-10  Bruno Haible  <bruno@clisp.org>
53716
53717         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
53718         ACL, not afterwards. Fixes test failure on Cygwin.
53719
53720 2008-10-09  Ben Pfaff  <blp@gnu.org>
53721
53722         * build-aux/announce-gen: Fix gnulib version related part of usage
53723         message.  Die with a useful error message if no tarballs are
53724         found.
53725
53726 2008-10-10  Jim Meyering  <meyering@redhat.com>
53727
53728         bootstrap: use git's --depth=N option only if it's supported
53729         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
53730         recognize the --depth option.  Reported by Pádraig Brady.
53731
53732 2008-10-09  Bruno Haible  <bruno@clisp.org>
53733
53734         New module 'ioctl'.
53735         * modules/ioctl: New file.
53736         * lib/sys_socket.in.h (ioctl): Remove declaration.
53737         * lib/winsock.c: Include <sys/ioctl.h>.
53738         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
53739         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53740         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
53741         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
53742         * doc/posix-functions/ioctl.texi: Mention the new module.
53743
53744 2008-10-09  Bruno Haible  <bruno@clisp.org>
53745
53746         New module 'sys_ioctl'.
53747         * lib/sys_ioctl.in.h: New file.
53748         * m4/sys_ioctl_h.m4: New file.
53749         * modules/sys_ioctl: New file.
53750         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
53751
53752 2008-10-09  Bruno Haible  <bruno@clisp.org>
53753
53754         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
53755         * lib/winsock.c: Include <stdarg.h>.
53756         (rpl_ioctl): Change to second argument 'int' and then varargs.
53757
53758 2008-10-09  Bruno Haible  <bruno@clisp.org>
53759
53760         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
53761         when the sys_socket module is present and the system has <winsock2.h>.
53762
53763 2008-10-09  Bruno Haible  <bruno@clisp.org>
53764
53765         * doc/posix-functions/close.texi: Mention module 'close' instead of
53766         module 'sys_socket'.
53767
53768 2008-10-09  Bruno Haible  <bruno@clisp.org>
53769
53770         * doc/glibc-headers/sys_ioctl.texi: New file.
53771         * doc/gnulib.texi: Include it.
53772
53773 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53774             Bruno Haible  <bruno@clisp.org>
53775
53776         Combine the two replacements of 'close'.
53777         * lib/sys_socket.in.h (close): Define to a reminder to include
53778         <unistd.h>.
53779         (_gl_close_fd_maybe_socket): New declaration.
53780         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
53781         * lib/winsock.c (close): Remove undefinition.
53782         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
53783         needed for the gnulib module 'close'.
53784         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
53785         define to an error symbol or to a warning, if suitable.
53786         * lib/close.c: Include <sys/socket.h>.
53787         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
53788         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
53789         UNISTD_H_HAVE_WINSOCK2_H.
53790         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
53791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53792         UNISTD_H_HAVE_WINSOCK2_H.
53793         * modules/sys_socket (Files): Add m4/unistd_h.m4.
53794         (configure.ac): Set a module indicator.
53795         (Makefile.am): Substitute GNULIB_CLOSE.
53796         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
53797         * modules/poll-tests (Depends-on): Add close.
53798         * modules/select-tests (Depends-on): Likewise.
53799
53800 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53801             Bruno Haible  <bruno@clisp.org>
53802
53803         New module 'close'.
53804         * modules/close: New file.
53805         * lib/unistd.in.h (close): Move declaration out of the
53806         FCHDIR_REPLACEMENT scope.
53807         (_gl_unregister_fd): New declaration.
53808         * lib/close.c: New file.
53809         * lib/fchdir.c (rpl_close): Remove function.
53810         * m4/close.m4: New file.
53811         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53812         close.
53813         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
53814         REPLACE_CLOSE.
53815         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
53816         REPLACE_CLOSE.
53817         * modules/fchdir (Depends-on): Add close.
53818
53819 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53820             Bruno Haible  <bruno@clisp.org>
53821
53822         * lib/fcntl.in.h (open): Simplify conditionals.
53823         (_gl_register_fd): New declaration.
53824         * lib/fchdir.c (rpl_open): Remove function.
53825         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
53826         also.
53827         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
53828         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53829         open.
53830
53831 2008-10-09  Jim Meyering  <meyering@redhat.com>
53832
53833         GNUmakefile: use the more name-space-friendly "_version"
53834         * top/GNUmakefile (_dummy): Update.
53835         (_version): Rename from "version".
53836
53837 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53838             Bruno Haible  <bruno@clisp.org>
53839
53840         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
53841         rpl_close.
53842         (_gl_register_fd): New function, extracted from rpl_open.
53843         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
53844         (rpl_open, rpl_opendir): Use _gl_register_fd.
53845
53846 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53847
53848         Fix organization of 'open' replacement.
53849         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
53850         (gl_FUNC_OPEN): Use it.
53851         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
53852
53853 2008-10-08  Bruno Haible  <bruno@clisp.org>
53854
53855         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
53856
53857 2008-10-08  Simon Josefsson  <simon@josefsson.org>
53858
53859         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
53860         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
53861         listen).
53862
53863 2008-10-08  Eric Blake  <ebb9@byu.net>
53864
53865         GNUmakefile: add 'make version' target
53866         * top/GNUmakefile (_curr-ver): Split version update rules...
53867         (version): ...into a target.
53868
53869 2008-10-07  Bruno Haible  <bruno@clisp.org>
53870
53871         Use a more portable replacement expression for -0.0L.
53872         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
53873         instead of -0.0L. Fix m4 quotation.
53874
53875         * tests/test-signbit.c: Include <float.h>.
53876         (minus_zero): New variable.
53877         (test_signbitl): Use minus_zero instead of -zero.
53878         * modules/signbit-tests (Depends-on): Add float.
53879
53880         * tests/test-ceill.c: Include <float.h>.
53881         (zero): Remove variable.
53882         (minus_zero): New variable.
53883         (main): Use minus_zero instead of -zero.
53884         * modules/ceill-tests (Depends-on): Add float.
53885
53886         * tests/test-floorl.c: Include <float.h>.
53887         (zero): Remove variable.
53888         (minus_zero): New variable.
53889         (main): Use minus_zero instead of -zero.
53890         * modules/floorl-tests (Depends-on): Add float.
53891
53892         * tests/test-roundl.c: Include <float.h>.
53893         (zero): Remove variable.
53894         (minus_zero): New variable.
53895         (main): Use minus_zero instead of -zero.
53896         * modules/roundl-tests (Depends-on): Add float.
53897
53898         * tests/test-truncl.c: Include <float.h>.
53899         (zero): Remove variable.
53900         (minus_zero): New variable.
53901         (main): Use minus_zero instead of -zero.
53902         * modules/truncl-tests (Depends-on): Add float.
53903
53904         * tests/test-frexpl.c (zero): Remove variable.
53905         (minus_zero): New variable.
53906         (main): Use minus_zero instead of -zero.
53907         * modules/frexpl-tests (Depends-on): Add float.
53908
53909         * tests/test-isnan.c (zerol): Remove variable.
53910         (minus_zerol): New variable.
53911         (test_long_double): Use minus_zerol instead of -zerol.
53912         * modules/isnan-tests (Depends-on): Add float.
53913
53914         * tests/test-isnanl.h (zero): Remove variable.
53915         (minus_zero): New variable.
53916         (main): Use minus_zero instead of -zero.
53917         * modules/isnanl-nolibm-tests (Depends-on): Add float.
53918         * modules/isnanl-tests (Depends-on): Add float.
53919
53920         * tests/test-ldexpl.c (zero): Remove variable.
53921         (minus_zero): New variable.
53922         (main): Use minus_zero instead of -zero.
53923         * modules/ldexpl-tests (Depends-on): Add float.
53924
53925         * tests/test-snprintf-posix.h (zerol): Remove variable.
53926         (minus_zerol): New variable.
53927         (test_function): Use minus_zerol instead of -zerol.
53928         * modules/snprintf-posix-tests (Depends-on): Add float.
53929         * modules/vsnprintf-posix-tests (Depends-on): Add float.
53930
53931         * tests/test-sprintf-posix.h (zerol): Remove variable.
53932         (minus_zerol): New variable.
53933         (test_function): Use minus_zerol instead of -zerol.
53934         * modules/sprintf-posix-tests (Depends-on): Add float.
53935         * modules/vsprintf-posix-tests (Depends-on): Add float.
53936
53937         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
53938         (minus_zerol): New variable.
53939         (test_function): Use minus_zerol instead of -zerol.
53940         * modules/vasnprintf-posix-tests (Depends-on): Add float.
53941
53942         * tests/test-vasprintf-posix.c (zerol): Remove variable.
53943         (minus_zerol): New variable.
53944         (test_function): Use minus_zerol instead of -zerol.
53945         * modules/vasprintf-posix-tests (Depends-on): Add float.
53946
53947 2008-10-07  Simon Josefsson  <simon@josefsson.org>
53948
53949         * MODULES.html.sh (Support for building documentation): Mention
53950         pmccabe2html.  Sort entries.
53951
53952         Add pmccabe2html module, from gnupdf.
53953         * build-aux/pmccabe.css: New file.
53954         * build-aux/pmccabe2html: New file.
53955         * m4/pmccabe2html.m4: New file.
53956         * modules/pmccabe2html: New file.
53957
53958 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
53959
53960         flock: new module
53961         * MODULES.html.sh: Add to list of modules.
53962         * lib/flock.c: flock implementation for Windows and Unix systems
53963         which have fcntl.
53964         * doc/glibc-functions/flock.texi: Update documentation.
53965         * lib/sys_file.in.h: <sys/file.h> header file.
53966         * m4/flock.m4: M4 macros.
53967         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
53968         * modules/flock: flock module.
53969         * modules/flock-tests: flock tests module.
53970         * modules/sys_file: sys/file.h module.
53971         * tests/test-flock.c: test suite for flock.
53972
53973 2008-10-06  Jim Meyering  <meyering@redhat.com>
53974
53975         bootstrap: check for LT_INIT more portably still ;-)
53976         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
53977         Spotted by Bruno Haible.
53978
53979 2008-10-06  Eric Blake  <ebb9@byu.net>
53980
53981         test-signbit: avoid tripping Irix cc bug on -0.0L
53982         * tests/test-signbit.c (minus_zerol): Delete, and replace with
53983         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
53984         entire testsuite consistent and avoids an Irix 6.2 bug.
53985
53986 2008-10-05  Bruno Haible  <bruno@clisp.org>
53987             Jim Meyering  <jim@meyering.net>
53988
53989         Add an option for ignoring EPIPE during close_stdout.
53990         * lib/closeout.h: Include <stdbool.h>.
53991         (close_stdout_set_ignore_EPIPE): New declaration.
53992         * lib/closeout.c: Include <stdbool.h>.
53993         (ignore_EPIPE): New variable.
53994         (close_stdout_set_ignore_EPIPE): New function.
53995         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
53996         * lib/close-stream.c (close_stream): Mention the possible EPIPE
53997         failure.
53998         * modules/closeout (Depends-on): Add stdbool.
53999
54000 2008-10-05  Bruno Haible  <bruno@clisp.org>
54001
54002         * modules/accept: New file.
54003         * modules/bind: New file.
54004         * modules/connect: New file.
54005         * modules/getpeername: New file.
54006         * modules/getsockname: New file.
54007         * modules/getsockopt: New file.
54008         * modules/listen: New file.
54009         * modules/recv: New file.
54010         * modules/recvfrom: New file.
54011         * modules/send: New file.
54012         * modules/sendto: New file.
54013         * modules/setsockopt: New file.
54014         * modules/socket: New file.
54015         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
54016         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54017         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
54018         the particular module is requested. Add a link warning when the
54019         particular module is not requested.
54020         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
54021         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
54022         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
54023         the particular module is requested.
54024         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
54025         gl_SYS_SOCKET_H_DEFAULTS): New macros.
54026         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
54027         * modules/sys_socket (Depends-on): Add link-warning.
54028         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
54029         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
54030         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
54031         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
54032         GL_LINK_WARNING.
54033         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
54034         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
54035         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
54036         * doc/posix-functions/getpeername.texi: Mention the new module
54037         'getpeername'.
54038         * doc/posix-functions/getsockname.texi: Mention the new module
54039         'getsockname'.
54040         * doc/posix-functions/getsockopt.texi: Mention the new module
54041         'getsockopt'.
54042         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
54043         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
54044         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
54045         * doc/posix-functions/send.texi: Mention the new module 'send'.
54046         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
54047         * doc/posix-functions/setsockopt.texi: Mention the new module
54048         'setsockopt'.
54049         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
54050         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
54051         listen, connect, accept.
54052         * modules/select-tests (Depends-on): Likewise.
54053
54054 2008-10-05  Bruno Haible  <bruno@clisp.org>
54055
54056         * lib/winsock.c (strerror): Remove unused #undef.
54057         (rpl_close): Remove unused local variable.
54058
54059         * modules/sys_socket (Depends-on); Add errno.
54060
54061 2008-10-05  Bruno Haible  <bruno@clisp.org>
54062
54063         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
54064         (select): Add a link warning when the 'select' module is not used.
54065         * modules/sys_select (Depends-on): Add link-warning.
54066         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
54067         Suggested by Paolo Bonzini.
54068
54069 2008-10-05  Jim Meyering  <meyering@redhat.com>
54070
54071         bootstrap: check for LT_INIT more portably
54072         * build-aux/bootstrap: Avoid using grep -E, since it's not
54073         portable enough.  Suggestion from Bruno Haible.
54074
54075 2008-10-05  Bruno Haible  <bruno@clisp.org>
54076
54077         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
54078         as being fixed by gnulib.
54079
54080 2008-10-05  Bruno Haible  <bruno@clisp.org>
54081
54082         * modules/select-tests: New file, mostly copied from
54083         modules/sys_select-tests.
54084         * tests/test-select.c: New file, mostly copied from
54085         tests/test-sys_select.c.
54086         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
54087         * modules/sys_select-tests (Depends-on): Remove all dependencies.
54088         (Makefile.am): Remove test_sys_select_LDADD.
54089
54090         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
54091         to an undefined symbol, for an error message.
54092         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
54093         (gl_SYS_SELECT_H_DEFAULTS): New macro.
54094         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
54095         winsock-select.c here.
54096         * modules/sys_select (Files): Remove lib/winsock-select.c.
54097         (Depends-on): Remove alloca.
54098         (Makefile.am): Substitute GNULIB_SELECT.
54099         * modules/select: New file.
54100         * doc/posix-functions/select.texi: Update.
54101
54102 2008-10-05  Bruno Haible  <bruno@clisp.org>
54103
54104         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
54105         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
54106         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
54107         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
54108         getdtablesize.
54109         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
54110         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
54111
54112 2008-10-05  Bruno Haible  <bruno@clisp.org>
54113
54114         * modules/getdtablesize-tests: New file.
54115         * tests/test-getdtablesize.c: New file.
54116
54117         New module 'getdtablesize'.
54118         * lib/unistd.in.h (getdtablesize): New declaration.
54119         * lib/getdtablesize.c: New file.
54120         * m4/getdtablesize.m4: New file.
54121         * modules/getdtablesize: New file.
54122         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54123         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
54124         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
54125         HAVE_GETDTABLESIZE.
54126         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
54127
54128 2008-10-05  Bruno Haible  <bruno@clisp.org>
54129
54130         * modules/sched (Makefile.am): Fix typo.
54131         Reported by Simon Josefsson.
54132
54133 2008-10-05  Jim Meyering  <meyering@redhat.com>
54134
54135         bootstrap: check for LT_INIT, too
54136         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
54137         are deprecated.  Suggestion from Ralf Wildenhues.
54138
54139 2008-10-05  Bruno Haible  <bruno@clisp.org>
54140
54141         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
54142         overriding them by ours.
54143         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
54144
54145 2008-10-05  Jim Meyering  <meyering@redhat.com>
54146
54147         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
54148         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
54149         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
54150
54151 2008-10-04  Bruno Haible  <bruno@clisp.org>
54152
54153         * modules/dup2 (License): Change to LGPLv2+.
54154         * modules/sleep (License): Likewise.
54155         * modules/perror (License): Likewise.
54156         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
54157         Blake.
54158         * modules/signal (License): Likewise.
54159         * modules/sigprocmask (License): Likewise.
54160         * modules/raise (License): Change to LGPLv2+, with approval by Jim
54161         Meyering.
54162
54163 2008-10-04  Bruno Haible  <bruno@clisp.org>
54164
54165         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
54166         Reported by Rainer Tammer <tammer@tammer.net>.
54167
54168 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
54169             Bruno Haible  <bruno@clisp.org>
54170
54171         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
54172         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
54173         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
54174
54175 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
54176
54177         filevercmp: new module
54178         * lib/filevercmp.h: New function filevercmp comparing version strings.
54179         * lib/filevercmp.c: Implementation of filevercmp function.
54180         * modules/filevercmp: Module metadata.
54181         * tests/test-filevercmp.c: Unit test for new module.
54182         * modules/filevercmp-tests: Unit test metadata.
54183         * MODULES.html.sh: Add filevercmp module.
54184
54185 2008-10-03  Bruno Haible  <bruno@clisp.org>
54186
54187         * lib/c-ctype.h: Add comment.
54188         Reported by Jim Meyering.
54189
54190 2008-10-02  Bruno Haible  <bruno@clisp.org>
54191
54192         * modules/posix_spawn-internal (Depends-on): Add 'open'.
54193
54194 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54195
54196         * build-aux/bootstrap: Allow renaming bootstrap, and change the
54197         name of bootstrap.conf accordingly.
54198
54199 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54200
54201         * build-aux/bootstrap: Install git-merge-changelog configuration
54202         items into .gitconfig if needed.
54203
54204 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54205
54206         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
54207         git repository, and initialize/update it accordingly.
54208
54209 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
54210
54211         * modules/fsync-tests: New file.
54212         * tests/test-fsync.c: New file.
54213
54214         New module 'fsync'.
54215         * lib/fsync.c: New file.
54216         * m4/fsync.m4: New file.
54217         * modules/fsync: New file.
54218         * lib/unistd.in.h (fsync): New declaration.
54219         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
54220         GNULIB_FSYNC and HAVE_FSYNC.
54221         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
54222         * MODULES.html.sh (posix_functions): Add fsync.
54223         * doc/posix-functions/fsync.texi: Mention the new module.
54224
54225 2008-10-02  Jim Meyering  <meyering@redhat.com>
54226
54227         fts.c: sync with similar code from coreutils' remove.c
54228         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
54229         Guard also with "#if defined __linux__", since for now at least,
54230         this code is Linux-kernel-specific.
54231
54232 2008-10-02  Jim Meyering  <meyering@redhat.com>
54233
54234         fts: bug fixes
54235         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
54236         Include <sys/vfs.h>, not <sys/statfs.h>.
54237
54238         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
54239         Include <sys/vfs.h>, not <sys/statfs.h>.
54240
54241 2008-10-01  Bruno Haible  <bruno@clisp.org>
54242
54243         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
54244         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
54245         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
54246         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
54247         * doc/posix-functions/posix_spawnp.texi: Likewise.
54248         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
54249         whether posix_spawn actually works.
54250         * m4/pipe.m4 (gl_PIPE): Likewise.
54251         * modules/execute (Files): Add m4/posix_spawn.m4.
54252         * modules/pipe (Files): Add m4/posix_spawn.m4.
54253         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
54254
54255 2008-10-01  Jim Meyering  <meyering@redhat.com>
54256
54257         remove trailing spaces
54258         * NEWS: Likewise.
54259         * lib/poll.c (poll): Likewise.
54260         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
54261         * lib/winsock.c (rpl_close): Likewise.
54262         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
54263         * modules/yield: Likewise.
54264         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
54265         * tests/test-sys_select.c (connect_to_socket): Likewise.
54266
54267         fts.c: adjust a new interface to be more generally useful
54268         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
54269         (fts_build): Adjust caller.
54270
54271 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54272
54273         * modules/cond-tests: New file.
54274         * tests/test-cond.c: New file.
54275
54276 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54277             Bruno Haible  <bruno@clisp.org>
54278
54279         * modules/cond (Dependencies): Add errno, time.
54280         * lib/glthread/cond.h: Include <time.h>.
54281         (gl_cond_define, gl_cond_define_initialized): Use the same definition
54282         across platforms.
54283
54284 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54285             Bruno Haible  <bruno@clisp.org>
54286
54287         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
54288
54289 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54290             Bruno Haible  <bruno@clisp.org>
54291
54292         * modules/tls-tests (Depends-on): Add thread, yield.
54293         (configure.ac): Remove all checks.
54294         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
54295         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
54296         gl_thread_self): Remove definitions. Include glthread/thread.h and
54297         glthread/yield.h instead.
54298         (test_tls): Pass an additional NULL argument to gl_thread_join.
54299
54300 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54301             Bruno Haible  <bruno@clisp.org>
54302
54303         * modules/lock-tests (Depends-on): Add thread, yield.
54304         (configure.ac): Remove all checks.
54305         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
54306         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
54307         gl_thread_self): Remove definitions. Include glthread/thread.h and
54308         glthread/yield.h instead.
54309         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
54310         additional NULL argument to gl_thread_join.
54311
54312 2008-09-30  Bruno Haible  <bruno@clisp.org>
54313
54314         Fix the Win32 implementation of the 'thread' module.
54315         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
54316         pointer type.
54317         (gl_thread_self): Invoke gl_thread_self_func.
54318         (gl_thread_self_func): New declaration.
54319         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
54320         (do_init_self_key, init_self_key): New functions.
54321         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
54322         Remove some fields.
54323         (running_threads, running_lock): Remove variables.
54324         (get_current_thread_handle): New function.
54325         (gl_thread_self_func, wrapper_func, glthread_create_func,
54326         glthread_join_func, gl_thread_exit_func): Largely rewritten and
54327         simplified.
54328
54329 2008-09-30  Bruno Haible  <bruno@clisp.org>
54330
54331         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
54332         files.
54333
54334 2008-09-30  Jim Meyering  <meyering@redhat.com>
54335
54336         fts.m4: correct the test for statfs.f_type
54337         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
54338         when checking for statfs.f_type.
54339
54340 2008-09-15  Simon Josefsson  <simon@josefsson.org>
54341
54342         tests: avoid some compiler warnings
54343         * tests/test-memchr.c (main): Pass NULL indirectly.
54344         * tests/test-getdate.c (main): Remove unused variable 'ret'.
54345
54346 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
54347
54348         getdate.y: disallow countable dayshifts like "4 yesterday ago"
54349         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
54350         exactly specified dayshifts.
54351         (dayshift): New rule.
54352         (rel): Add dayshift.
54353         (relative_time_table) [tomorrow, yesterday, today, now]:
54354         Use tDAY_SHIFT in place of tDAY_UNIT.
54355         * tests/test-getdate.c: Add tests for now-disallowed countable
54356         dayshifts, e.g., "4 yesterday ago".
54357
54358 2008-09-29  Bruno Haible  <bruno@clisp.org>
54359
54360         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
54361         * tests/test-posix_spawn1.in.sh: Renamed from
54362         tests/test-posix_spawn.in.sh.
54363         * tests/test-posix_spawn2.c: New file.
54364         * tests/test-posix_spawn2.in.sh: New file.
54365         * modules/posix_spawnp-tests (Files): Update.
54366         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
54367
54368 2008-09-29  Bruno Haible  <bruno@clisp.org>
54369
54370         Propagate effects of putenv/setenv/unsetenv to child processes.
54371         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
54372         * lib/pipe.c (create_pipe): Likewise.
54373
54374 2008-09-29  Bruno Haible  <bruno@clisp.org>
54375
54376         Enable use of shell scripts as executables in mingw.
54377         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
54378         run the program as a shell script.
54379         * lib/pipe.c (create_pipe): Likewise.
54380         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
54381         resulting array.
54382
54383 2008-09-29  Eric Blake  <ebb9@byu.net>
54384
54385         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
54386
54387 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
54388
54389         * doc/posix-functions/accept.texi: Update mingw problems.
54390         * doc/posix-functions/bind.texi: Update mingw problems.
54391         * doc/posix-functions/close.texi: Update mingw problems.
54392         * doc/posix-functions/connect.texi: Update mingw problems.
54393         * doc/posix-functions/getpeername.texi: Update mingw problems.
54394         * doc/posix-functions/getsockname.texi: Update mingw problems.
54395         * doc/posix-functions/getsockopt.texi: Update mingw problems.
54396         * doc/posix-functions/ioctl.texi: Update mingw problems.
54397         * doc/posix-functions/listen.texi: Update mingw problems.
54398         * doc/posix-functions/recv.texi: Update mingw problems.
54399         * doc/posix-functions/recvfrom.texi: Update mingw problems.
54400         * doc/posix-functions/select.texi: Update mingw problems.
54401         * doc/posix-functions/send.texi: Update mingw problems.
54402         * doc/posix-functions/sendto.texi: Update mingw problems.
54403         * doc/posix-functions/setsockopt.texi: Update mingw problems.
54404         * doc/posix-functions/socket.texi: Update mingw problems.
54405
54406 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
54407             Bruno Haible  <bruno@clisp.org>
54408
54409         * lib/sys_select.in.h: Include sys/time.h.
54410         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
54411         * modules/sys_select: Depend on sys_time.
54412         * tests/test-sys_select.c: Test that sys/select.h defines struct
54413         timeval fully.
54414
54415 2008-09-29  Bruno Haible  <bruno@clisp.org>
54416
54417         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
54418         * lib/sys_select.in.h: Likewise.
54419
54420 2008-09-29  Bruno Haible  <bruno@clisp.org>
54421
54422         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
54423
54424 2008-09-29  Bruno Haible  <bruno@clisp.org>
54425
54426         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
54427         Set LIBSOCKET instead of augmenting LIBS.
54428         * modules/sockets (Link): New section.
54429         * modules/sockets-tests (test_sockets_LDADD): New variable.
54430         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
54431         * modules/poll-tests (test_poll_LDADD): New variable.
54432         * NEWS: Document the change.
54433
54434 2008-09-29  Bruno Haible  <bruno@clisp.org>
54435
54436         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
54437         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
54438         ARPA_INET_H directly.
54439         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54440
54441 2008-09-28  Bruno Haible  <bruno@clisp.org>
54442
54443         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
54444         from gl_HEADER_SYS_SOCKET.
54445         (gl_HEADER_SYS_SOCKET): Invoke it.
54446         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54447
54448 2008-09-28  Bruno Haible  <bruno@clisp.org>
54449
54450         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
54451         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
54452         Needed on OSF/1 4.0.
54453
54454 2008-09-28  Bruno Haible  <bruno@clisp.org>
54455
54456         Override open more carefully.
54457         * lib/open.c (orig_open): New function.
54458         (rpl_open): Use orig_open instead of open.
54459         * lib/fcntl.in.h: Add special invocation convention.
54460         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
54461         (gl_FUNC_OPEN): Invoke it.
54462
54463         Override freopen more carefully.
54464         * lib/freopen.c (orig_freopen): New function.
54465         (rpl_freopen): Use orig_freopen instead of freopen.
54466         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
54467         (gl_FUNC_FREOPEN): Invoke it.
54468
54469         Override fopen more carefully.
54470         * lib/fopen.c (orig_fopen): New function.
54471         (rpl_fopen): Use orig_fopen instead of fopen.
54472         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
54473         (gl_FUNC_FOPEN): Invoke it.
54474         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
54475
54476 2008-09-28  Bruno Haible  <bruno@clisp.org>
54477
54478         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
54479         SIGPIPE.
54480
54481 2008-09-28  Bruno Haible  <bruno@clisp.org>
54482
54483         * tests/test-sigaction.c (handler, main): Disable the check whether
54484         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
54485         glibc systems with LinuxThreads.
54486
54487 2008-09-28  Bruno Haible  <bruno@clisp.org>
54488
54489         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
54490
54491         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
54492         with AIX xlc.
54493         * lib/fcntl.in.h (open): Likewise.
54494         Reported by Rainer Tammer <tammer@tammer.net>.
54495
54496 2008-09-28  Bruno Haible  <bruno@clisp.org>
54497
54498         * modules/posix_spawnp-tests: New file.
54499         * tests/test-posix_spawn.c: New file.
54500         * tests/test-posix_spawn.in.sh: New file.
54501
54502         New module 'posix_spawnp'.
54503         * modules/posix_spawnp: New file.
54504         * lib/spawnp.c: New file, from GNU libc with modifications.
54505         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
54506
54507         New module 'posix_spawn'.
54508         * modules/posix_spawn: New file.
54509         * lib/spawn.c: New file, from GNU libc with modifications.
54510         * doc/posix-functions/posix_spawn.texi: Mention the new module.
54511
54512         New module 'posix_spawnattr_destroy'.
54513         * modules/posix_spawnattr_destroy: New file.
54514         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
54515         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
54516         module.
54517
54518         New module 'posix_spawnattr_setsigmask'.
54519         * modules/posix_spawnattr_setsigmask: New file.
54520         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
54521         modifications.
54522         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
54523         new module.
54524
54525         New module 'posix_spawnattr_getsigmask'.
54526         * modules/posix_spawnattr_getsigmask: New file.
54527         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
54528         modifications.
54529         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
54530         new module.
54531
54532         New module 'posix_spawnattr_setsigdefault'.
54533         * modules/posix_spawnattr_setsigdefault: New file.
54534         * lib/spawnattr_setdefault.c: New file, from GNU libc with
54535         modifications.
54536         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
54537         new module.
54538
54539         New module 'posix_spawnattr_getsigdefault'.
54540         * modules/posix_spawnattr_getsigdefault: New file.
54541         * lib/spawnattr_getdefault.c: New file, from GNU libc with
54542         modifications.
54543         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
54544         new module.
54545
54546         New module 'posix_spawnattr_setschedpolicy'.
54547         * modules/posix_spawnattr_setschedpolicy: New file.
54548         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
54549         modifications.
54550         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
54551         new module.
54552
54553         New module 'posix_spawnattr_getschedpolicy'.
54554         * modules/posix_spawnattr_getschedpolicy: New file.
54555         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
54556         modifications.
54557         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
54558         new module.
54559
54560         New module 'posix_spawnattr_setschedparam'.
54561         * modules/posix_spawnattr_setschedparam: New file.
54562         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
54563         modifications.
54564         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
54565         new module.
54566
54567         New module 'posix_spawnattr_getschedparam'.
54568         * modules/posix_spawnattr_getschedparam: New file.
54569         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
54570         modifications.
54571         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
54572         new module.
54573
54574         New module 'posix_spawnattr_setpgroup'.
54575         * modules/posix_spawnattr_setpgroup: New file.
54576         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
54577         modifications.
54578         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
54579         module.
54580
54581         New module 'posix_spawnattr_getpgroup'.
54582         * modules/posix_spawnattr_getpgroup: New file.
54583         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
54584         modifications.
54585         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
54586         module.
54587
54588         New module 'posix_spawnattr_setflags'.
54589         * modules/posix_spawnattr_setflags: New file.
54590         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
54591         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
54592         module.
54593
54594         New module 'posix_spawnattr_getflags'.
54595         * modules/posix_spawnattr_getflags: New file.
54596         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
54597         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
54598         module.
54599
54600         New module 'posix_spawnattr_init'.
54601         * modules/posix_spawnattr_init: New file.
54602         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
54603         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
54604         module.
54605
54606         New module 'posix_spawn_file_actions_destroy'.
54607         * modules/posix_spawn_file_actions_destroy: New file.
54608         * lib/spawn_faction_destroy.c: New file, from GNU libc with
54609         modifications.
54610         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
54611         the new module.
54612
54613         New module 'posix_spawn_file_actions_addopen'.
54614         * modules/posix_spawn_file_actions_addopen: New file.
54615         * lib/spawn_faction_addopen.c: New file, from GNU libc with
54616         modifications.
54617         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
54618         the new module.
54619
54620         New module 'posix_spawn_file_actions_adddup2'.
54621         * modules/posix_spawn_file_actions_adddup2: New file.
54622         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
54623         modifications.
54624         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
54625         the new module.
54626
54627         New module 'posix_spawn_file_actions_addclose'.
54628         * modules/posix_spawn_file_actions_addclose: New file.
54629         * lib/spawn_faction_addclose.c: New file, from GNU libc with
54630         modifications.
54631         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
54632         the new module.
54633
54634         New module 'posix_spawn_file_actions_init'.
54635         * modules/posix_spawn_file_actions_init: New file.
54636         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
54637         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
54638         new module.
54639
54640         New module 'posix_spawn-internal'.
54641         * modules/posix_spawn-internal: New file.
54642         * lib/spawn_int.h: New file, from GNU libc with modifications.
54643         * lib/spawni.c: New file, from GNU libc with modifications.
54644         * m4/posix_spawn.m4: New file.
54645
54646         New module 'spawn'.
54647         * modules/spawn: New file.
54648         * lib/spawn.in.h: New file, from GNU libc with modifications.
54649         * m4/spawn_h.m4: New file.
54650         * doc/posix-headers/spawn.texi: Mention the new module.
54651
54652 2008-09-28  Bruno Haible  <bruno@clisp.org>
54653
54654         * modules/sched-tests: New file.
54655         * tests/test-sched.c: New file.
54656
54657         New module 'sched'.
54658         * modules/sched: New file.
54659         * lib/sched.in.h: New file.
54660         * m4/sched_h.m4: New file.
54661         * doc/posix-headers/sched.texi: Mention the new module.
54662
54663 2008-09-27  Eric Blake  <ebb9@byu.net>
54664
54665         Fix previous patch, and tweak references to $0.
54666         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
54667         (func_version, func_gnulib_dir): Don't call this program
54668         gnulib-tool.
54669         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
54670         with using $0 in function.
54671         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
54672         (func_fatal_error): Reuse the name the user invoked us with.
54673
54674 2008-09-27  Bruno Haible  <bruno@clisp.org>
54675
54676         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
54677         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
54678         (gl_ICONV_H): Not here.
54679         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54680         instead of assigning ICONV_H directly.
54681
54682         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
54683         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
54684         WCHAR_H directly.
54685
54686 2008-09-27  Bruno Haible  <bruno@clisp.org>
54687
54688         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
54689         * modules/arpa_inet (Depends-on): Add link-warning.
54690         (Makefile.am): Insert the definition of GL_LINK-WARNING.
54691         * modules/unistd (Makefile.am): Likewise.
54692
54693 2008-09-26  Bruno Haible  <bruno@clisp.org>
54694
54695         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
54696         variables.
54697         (func_version): Essentially copied from gnulib-tool.
54698         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
54699         func_readlink): Copied from gnulib-tool.
54700
54701 2008-09-26  Bruno Haible  <bruno@clisp.org>
54702
54703         * gnulib-tool (func_version): Change directory to $gnulib_dir before
54704         invoking git-version-gen.
54705
54706 2008-09-26  Bruno Haible  <bruno@clisp.org>
54707
54708         * posix-modules: Update to directory names changed on 2008-01-19.
54709         Remove commas in output before splitting into words. No more need to
54710         avoid 'ftruncate' since 2007-02-19.
54711
54712 2008-09-26  Bruno Haible  <bruno@clisp.org>
54713
54714         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
54715
54716 2008-09-26  Bruno Haible  <bruno@clisp.org>
54717
54718         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
54719         * modules/fwriteerror (Depends-on): Add errno.
54720
54721 2008-09-26  Bruno Haible  <bruno@clisp.org>
54722
54723         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
54724         * tests/test-vc-list-files-cvs.sh: Likewise.
54725
54726 2008-09-26  Bruno Haible  <bruno@clisp.org>
54727
54728         * doc/posix-headers/sys_resource.texi: Reorder items.
54729
54730 2008-09-26  Jim Meyering  <meyering@redhat.com>
54731
54732         fts: tweak inode comparison function
54733         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
54734         inode numbers, as documented.
54735
54736         fts: sort dirent entries on inode number before traversing
54737         This avoids a quadratic, seek-related performance penalty when
54738         operating on a directory containing many entries (measurable at 10k;
54739         3.5 hours at 2 million entries with a cold cache) on certain types
54740         of file systems, including ext3 and ext4, but not tmpfs.
54741         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
54742         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
54743         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
54744         (fs_handles_readdir_ordered_dirents_efficiently): New function.
54745         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
54746         (fts_build): Set the stat.st_ino member from D_INO.
54747         If it is likely to be useful, sort dirent entries on inode number.
54748
54749         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
54750         and the struct statfs.f_type member.
54751         * modules/fts (Depends-on): Add d-ino.
54752
54753 2008-09-26  Bruno Haible  <bruno@clisp.org>
54754
54755         * modules/sigpipe-die (Depends-on): Add sigpipe.
54756
54757         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
54758         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
54759         and GNULIB_STDIO_H_SIGPIPE are set.
54760         * lib/stdio-write.c: New file.
54761         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
54762         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54763         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54764         REPLACE_STDIO_WRITE_FUNCS.
54765         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
54766         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54767         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54768         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54769         * modules/stdio (Files): Add lib/stdio-write.c.
54770         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
54771         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54772         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54773         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54774         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
54775         REPLACE_FPRINTF_POSIX.
54776         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
54777         REPLACE_PRINTF_POSIX.
54778         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
54779         REPLACE_VFPRINTF_POSIX.
54780         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
54781         REPLACE_VPRINTF_POSIX.
54782         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
54783         SIGPIPE issue.
54784         * doc/posix-functions/fputc.texi: Likewise.
54785         * doc/posix-functions/fputs.texi: Likewise.
54786         * doc/posix-functions/fwrite.texi: Likewise.
54787         * doc/posix-functions/printf.texi: Likewise.
54788         * doc/posix-functions/putc.texi: Likewise.
54789         * doc/posix-functions/putchar.texi: Likewise.
54790         * doc/posix-functions/puts.texi: Likewise.
54791         * doc/posix-functions/vfprintf.texi: Likewise.
54792         * doc/posix-functions/vprintf.texi: Likewise.
54793
54794         * modules/safe-write (Depends-on): Add write.
54795
54796         * modules/sigpipe-tests: New file.
54797         * tests/test-sigpipe.c: New file.
54798         * tests/test-sigpipe.sh: New file.
54799
54800         * modules/write: New file.
54801         * lib/unistd.in.h: Include <sys/types.h>.
54802         (write): New declaration.
54803         * lib/write.c: New file.
54804         * m4/write.m4: New file.
54805         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54806         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
54807         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
54808         GNULIB_WRITE, REPLACE_WRITE.
54809         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
54810         and the SIGPIPE issue.
54811
54812         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
54813         (raise): New declaration.
54814         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
54815         (ext_signal): New function.
54816         (rpl_raise): New function.
54817         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
54818         GNULIB_SIGNAL_H_SIGPIPE.
54819         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
54820         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
54821
54822         * modules/sigpipe: New file.
54823         * m4/sigpipe.m4: New file.
54824
54825 2008-09-25  Derek Price  <derek@ximbiot.com>
54826             Bruno Haible  <bruno@clisp.org>
54827
54828         * gnulib-tool (func_import): Report all license incompatibilities, not
54829         just the first one.
54830
54831 2008-09-25  Bruno Haible  <bruno@clisp.org>
54832
54833         * gnulib-tool (func_import): When computing the edits, consider not
54834         only the Makefile.ams that exist but also those that will be generated.
54835
54836 2008-09-25  Simon Josefsson  <simon@josefsson.org>
54837
54838         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
54839         fixes gnulib-tool --test warning about duplicate dependency.
54840
54841 2008-09-25  Bruno Haible  <bruno@clisp.org>
54842
54843         * gnulib-tool: Don't ask the user to perform edits in the generated
54844         Makefile.ams.
54845         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
54846         apply to the Makefile.am being generated.
54847         (func_emit_tests_Makefile_am): Execute edits that apply to the
54848         Makefile.am being generated.
54849         (func_import): Setup list of Makefile.am edits before emitting the
54850         Makefile.ams, not at the end.
54851         (func_create_testdir): Update.
54852         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54853
54854 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54855
54856         * gnulib-tool (func_import): Store the --tests-base option in the
54857         comment in gnulib-cache.m4.
54858
54859 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
54860
54861         * NEWS: Document increased portability that sys_select now provides.
54862
54863         * lib/sys_select.in.h: Install select wrapper.
54864         * lib/sys_socket.in.h: Use more descriptive name when there is no
54865         select wrapper.
54866         * lib/winsock-select.c: New.
54867         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
54868         Require gl_HEADER_SYS_SOCKET.
54869         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
54870         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
54871         * tests/test-sys_select.c: Add functional tests.
54872
54873 2008-09-24  Eric Blake  <ebb9@byu.net>
54874
54875         open, fopen: close fd leak in last patch
54876         * lib/open.c (rpl_open): Close fd before returning error.
54877         * lib/fopen.c (rpl_fopen): Close fd before returning error.
54878         * doc/posix-functions/open.texi (open): Document that Irix also
54879         has the bug.
54880         * doc/posix-functions/fopen.texi (fopen): Likewise.
54881         Reported by Paolo Bonzini.
54882
54883 2008-09-24  Bruno Haible  <bruno@clisp.org>
54884
54885         Ensure that a filename ending in a slash cannot be used to access a
54886         non-directory.
54887         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
54888         to check whether it's really a directory.
54889         * lib/fopen.c: Include fcntl.h, unistd.h.
54890         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
54891         and fdopen().
54892         * modules/fopen (Depends-on): Add unistd.
54893         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
54894         * tests/test-fopen.c (main): Likewise.
54895         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
54896         * doc/posix-functions/fopen.texi: Likewise.
54897         Reported by Eric Blake.
54898
54899 2008-09-23  Eric Blake  <ebb9@byu.net>
54900
54901         c-stack: avoid compiler optimizations when provoking overflow
54902         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
54903         recursion harder to optimize, to ensure a stack overflow occurs.
54904         * tests/test-c-stack.c (recurse): Likewise.
54905         Borrowed from libsigsegv.
54906
54907         c-stack: work around Irix sigaltstack bug
54908         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
54909         whether sigaltstack uses wrong end of stack_t (copied in part from
54910         libsigsegv).
54911         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
54912         Irix bug, without requiring an over-allocation.
54913         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
54914         bug.
54915
54916         fopen: document mingw bug on directories
54917         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
54918         not allowing a stream visiting a directory, even though reading
54919         from such a stream is not portable.
54920
54921 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54922
54923         * lib/poll.c: Rewrite.
54924         * modules/poll: Depend on alloca.
54925
54926 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54927
54928         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
54929         instead define prototypes for a full set of wrappers.  Ensure
54930         that Cygwin does not use the compatibility code, which is only
54931         for MinGW.
54932         * lib/winsock.c: New.
54933         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
54934         * modules/sys_socket: Add lib/winsock.c.
54935
54936         * modules/poll-tests: Add errno and perror.
54937         * tests/test-poll.c: Use ioctl, not ioctlsocket.
54938
54939 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54940
54941         * tests/test-poll.c: Downgrade minimum needed Winsock version.
54942
54943 2008-09-23  Bruno Haible  <bruno@clisp.org>
54944
54945         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
54946         * doc/glibc-functions/*: Likewise.
54947
54948 2008-09-23  Simon Josefsson  <simon@josefsson.org>
54949
54950         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
54951         success.
54952
54953 2008-09-22  Eric Blake  <ebb9@byu.net>
54954             Bruno Haible  <bruno@clisp.org>
54955
54956         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
54957         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
54958         supply %A but mishandle pseudo-NaN.
54959         Reported by Simon Josefsson.
54960
54961 2008-09-21  Bruno Haible  <bruno@clisp.org>
54962
54963         * tests/test-lock.c (main): Tweak skip message.
54964         * tests/test-tls.c (main): Likewise.
54965
54966 2008-09-21  Bruno Haible  <bruno@clisp.org>
54967
54968         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
54969         whether 'struct sigaction' has sa_sigaction here...
54970         (gl_PREREQ_SIG_HANDLER_H): ... not here.
54971         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
54972
54973 2008-09-21  Bruno Haible  <bruno@clisp.org>
54974
54975         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
54976         section.
54977         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
54978         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
54979         the new section.
54980         (Support for obsolete systems lacking POSIX:2001): New section.
54981         (String handling <string.h>): Move strdup to the new section.
54982         Suggested by Simon Josefsson and Paolo Bonzini.
54983
54984 2008-09-21  Bruno Haible  <bruno@clisp.org>
54985
54986         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
54987         exponents in %e and %g results on 'long double'. Needed for mingw's
54988         improved *printf functions.
54989         * tests/test-vasprintf-posix.c (test_function): Likewise.
54990         * tests/test-snprintf-posix.h (test_function): Likewise.
54991         * tests/test-sprintf-posix.h (test_function): Likewise.
54992         Reported by Eric Blake.
54993
54994 2008-09-21  Bruno Haible  <bruno@clisp.org>
54995
54996         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
54997         * tests/test-sprintf-posix.h (test_function): Likewise.
54998
54999 2008-09-21  Bruno Haible  <bruno@clisp.org>
55000
55001         * modules/getpass (Depends-on): Add strdup-posix.
55002
55003         New module 'strdup-posix'.
55004         * modules/strdup-posix: New file.
55005         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
55006         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
55007         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55008         REPLACE_STRDUP.
55009         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
55010         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
55011         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55012         strdup-posix.
55013
55014         * modules/strdup (Depends-on): Remove malloc-posix.
55015
55016 2008-09-20  Bruno Haible  <bruno@clisp.org>
55017
55018         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
55019         Wildenhues.
55020
55021 2008-09-20  Bruno Haible  <bruno@clisp.org>
55022
55023         Ensure that wint_t gets defined on IRIX 5.3.
55024         * lib/wchar.in.h (wint_t): Define if not defined by the system.
55025         * lib/wctype.in.h (wint_t): Likewise.
55026         (__wctype_wint_t): Remove type.
55027         (isw*): Use wint_t instead of __wctype_wint_t.
55028         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
55029         * modules/wchar (Files): Add m4/wint_t.m4.
55030         (Makefile.am): Substitute HAVE_WINT_T.
55031         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
55032         * tests/test-wctype.c: Check that wint_t is defined.
55033         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
55034         * doc/posix-headers/wctype.texi: Likewise.
55035         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55036
55037 2008-09-18  Bruno Haible  <bruno@clisp.org>
55038
55039         * gnulib-tool (func_exit): Update comment.
55040
55041 2008-09-18  Simon Josefsson  <simon@josefsson.org>
55042
55043         * modules/getaddrinfo (Depends-on): Remove strdup, this module
55044         assumes strdup exists and does not depend on strdup to return
55045         ENOMEM on out of memory conditions.
55046
55047 2008-09-18  Bruno Haible  <bruno@clisp.org>
55048
55049         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
55050         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
55051         digits for the exponent.
55052
55053 2008-09-18  Jim Meyering  <meyering@redhat.com>
55054             Bruno Haible  <bruno@clisp.org>
55055
55056         * lib/vasnprintf.c (decimal_point_char): Define also if
55057         NEED_PRINTF_INFINITE_LONG_DOUBLE.
55058
55059 2008-09-16  Bruno Haible  <bruno@clisp.org>
55060         and Eric Blake  <ebb9@byu.net>
55061
55062         vasnprintf: support Irix 5.3
55063         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
55064         that mishandle long double infinity.
55065         Reported by Tom G. Christensen.
55066
55067 2008-09-16  Bruno Haible  <bruno@clisp.org>
55068
55069         * doc/glibc-functions/scandir.texi: Mention the function is missing on
55070         Solaris 9.
55071         * doc/glibc-functions/alphasort.texi: Likewise.
55072         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
55073
55074 2008-09-16  Jim Meyering  <meyering@redhat.com>
55075
55076         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
55077         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
55078         a umask modification leak out of a subshell.  Otherwise, the
55079         opensolaris /bin/sh would be accepted and thus cause unwarranted
55080         failures in the coreutils test suite.
55081
55082 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
55083
55084         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
55085         to succeed.
55086
55087 2008-09-16  Jim Meyering  <meyering@redhat.com>
55088
55089         avoid spurious test failure when library is built without ACL support
55090         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
55091         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
55092         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
55093         * tests/test-copy-acl.sh: Likewise.
55094
55095 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55096
55097         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
55098         based on character occurrence counts.
55099
55100 2008-09-15  Eric Blake  <ebb9@byu.net>
55101
55102         tests: avoid some compiler warnings
55103         * tests/test-memchr.c (main): Pass NULL indirectly.
55104         * tests/test-closein.c (main): Avoid unused variable.
55105
55106 2008-09-15  Bruno Haible  <bruno@clisp.org>
55107
55108         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
55109         are missing on OpenBSD 4.0 individually.
55110         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55111
55112 2008-09-15  Bruno Haible  <bruno@clisp.org>
55113
55114         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
55115         * doc/posix-functions/strerror.texi: Mention also Cygwin.
55116         * doc/posix-functions/perror.texi: Likewise.
55117         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
55118         is missing.
55119         Reported by Eric Blake.
55120
55121         * lib/errno.in.h: Use replacement values >= 2000.
55122         Reported by Eric Blake.
55123
55124 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55125
55126         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
55127         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
55128         limit.
55129         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
55130         compareseq was aborted.
55131
55132 2008-09-14  Bruno Haible  <bruno@clisp.org>
55133
55134         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
55135         yvec_edit_count.
55136         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
55137         (fstrcmp_bounded): Simplify result computation accordingly.
55138
55139 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55140
55141         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
55142         (fstrcmp): Define in terms of fstrcmp_bounded.
55143         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
55144         lower_bound argument.
55145         Return quickly if the result is certainly < lower_bound.
55146         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
55147
55148 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55149
55150         * lib/diffseq.h (EARLY_ABORT): New macro.
55151         (compareseq): Change return type to bool. Return true when EARLY_ABORT
55152         evaluates to true.
55153
55154 2008-09-14  Bruno Haible  <bruno@clisp.org>
55155
55156         * modules/perror-tests: New file.
55157         * tests/test-perror.sh: New file.
55158         * tests/test-perror.c: New file.
55159
55160         New module 'perror'.
55161         * lib/stdio.in.h (perror): New declaration.
55162         * lib/perror.c: New file.
55163         * m4/perror.m4: New file.
55164         * modules/perror: New file.
55165         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
55166         * doc/posix-functions/perror.texi: Mention the perror module.
55167         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
55168         REPLACE_PERROR.
55169         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
55170         REPLACE_PERROR.
55171
55172 2008-09-14  Bruno Haible  <bruno@clisp.org>
55173
55174         * modules/stdio (Makefile.am): Reorder to match the order in
55175         lib/stdio.in.h.
55176         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55177
55178 2008-09-13  Bruno Haible  <bruno@clisp.org>
55179
55180         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
55181
55182 2008-09-13  Bruno Haible  <bruno@clisp.org>
55183
55184         Extend strerror to cover the added errno values.
55185         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
55186         (rpl_strerror): Provide error messages for the added errno values and
55187         for the WSA* values.
55188         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
55189         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
55190         strerror.
55191         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
55192         * modules/strerror (Depends-on): Add errno.
55193         * doc/posix-functions/strerror.texi: Document the change.
55194         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
55195         and EOVERFLOW.
55196
55197 2008-09-13  Bruno Haible  <bruno@clisp.org>
55198
55199         * modules/EOVERFLOW: Remove file.
55200         * m4/eoverflow.m4: Remove file.
55201         * modules/EOVERFLOW-tests: Remove file.
55202         * tests/test-EOVERFLOW.c: Remove file.
55203         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
55204         * modules/ftell (Depends-on): Likewise.
55205         * modules/getdelim (Depends-on): Likewise.
55206         * modules/getugroups (Depends-on): Likewise.
55207         * modules/poll (Depends-on): Likewise.
55208         * modules/snprintf (Depends-on): Likewise.
55209         * modules/sprintf-posix (Depends-on): Likewise.
55210         * modules/vasnprintf (Depends-on): Likewise.
55211         * modules/vasprintf (Depends-on): Likewise.
55212         * modules/vfprintf-posix (Depends-on): Likewise.
55213         * modules/vsnprintf (Depends-on): Likewise.
55214         * modules/vsprintf-posix (Depends-on): Likewise.
55215         * modules/xvasprintf (Depends-on): Likewise.
55216         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55217         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
55218         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
55219         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
55220         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55221         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
55222         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
55223         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
55224         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55225         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
55226         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
55227         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
55228         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55229         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
55230         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
55231         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
55232         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55233         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
55234         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
55235         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
55236         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55237         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
55238         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
55239         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
55240         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
55241         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55242         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
55243         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
55244         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
55245         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
55246         * MODULES.html.sh: Remove EOVERFLOW.
55247         * NEWS: Mention the change.
55248
55249 2008-09-13  Bruno Haible  <bruno@clisp.org>
55250
55251         * modules/errno-tests: New file.
55252         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
55253
55254         * lib/errno.in.h: New file.
55255         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
55256         * modules/errno: New file.
55257         * doc/posix-headers/errno.texi: Update documentation.
55258         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
55259
55260 2008-09-13  Bruno Haible  <bruno@clisp.org>
55261
55262         * tests/test-poll.c: Use #if for native Windows, rather than testing
55263         __MSVCRT__.
55264
55265 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55266             Bruno Haible  <bruno@clisp.org>
55267
55268         * lib/glob.c: Don't include <pwd.h> on native Windows.
55269         (WINDOWS32): New macro.
55270         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
55271
55272 2008-09-13  Bruno Haible  <bruno@clisp.org>
55273
55274         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
55275         (ETIMEDOUT): Remove macro.
55276         (glthread_cond_timedwait_multithreaded): New declaration.
55277         (glthread_cond_timedwait): Use it.
55278         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
55279         (glthread_cond_timedwait_multithreaded): New function.
55280
55281 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55282
55283         * modules/poll-tests: Do not check for io.h.
55284         * tests/test-poll.c: Check for __MSVCRT__ instead.
55285
55286 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55287
55288         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
55289         * modules/poll-tests: Add inet_pton, stdbool, sockets.
55290         * tests/test-poll.c: Use them.  Use _pipe on Windows.
55291
55292 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55293
55294         * modules/poll-tests: New.
55295         * tests/test-poll.c: New.
55296
55297 2008-09-12  Eric Blake  <ebb9@byu.net>
55298
55299         frexp: test for NetBSD failure on -0.0
55300         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
55301         not all, bugs from NetBSD 3.0 have been fixed.
55302         * doc/posix-functions/frexp.texi (frexp): Document bug.
55303         Reported by Thomas Klausner.
55304
55305         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
55306         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
55307         literal -0.0.
55308         Reported by Jonathan C. Patschke <jp@centtech.com>.
55309
55310 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55311
55312         * lib/glthread/cond.h: Use dummy implementation also if
55313         USE_WIN32_THREADS.
55314
55315 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55316
55317         * modules/fnmatch-posix (License): Change to LGPLv2+.
55318         * modules/fnmatch-gnu (License): Likewise.
55319
55320 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55321
55322         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
55323
55324 2008-09-11  Jim Meyering  <meyering@redhat.com>
55325
55326         * users.txt: Add gtk-vnc.
55327
55328 2008-09-08  Simon Josefsson  <simon@josefsson.org>
55329
55330         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
55331         rotate amounts.
55332
55333         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
55334         required for 16-bit and 8-bit rotates.
55335         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
55336         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
55337         UINT8_MAX instead of hard-coded constants.
55338         Suggested by Paul Eggert.
55339
55340 2008-09-07  Bruno Haible  <bruno@clisp.org>
55341
55342         * tests/test-striconveh.c (main): Check behaviour when converting from
55343         UTF-7.
55344
55345         Make striconveh work better with stateful encodings.
55346         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
55347         that iconv does not increment the inptr when returning -1/EINVAL.
55348
55349 2008-09-07  Bruno Haible  <bruno@clisp.org>
55350
55351         * build-aux/config.rpath: Update according to libtool-2.2.6.
55352         * build-aux/config.libpath: Likewise.
55353
55354 2008-09-06  Bruno Haible  <bruno@clisp.org>
55355
55356         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
55357         * lib/freadptr.c (freadptr): Likewise.
55358         * lib/freadseek.c (freadptrinc): Likewise.
55359         Reported by Simon Josefsson.
55360
55361 2008-09-06  Bruno Haible  <bruno@clisp.org>
55362
55363         * modules/freadptr (License): Change to LGPLv2+.
55364         * modules/freadseek (License): Likewise.
55365         Suggested by Eric Blake.
55366
55367         * modules/memchr2 (License): Change to LGPLv2+.
55368         Approved by Eric Blake.
55369
55370 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55371             Bruno Haible  <bruno@clisp.org>
55372
55373         Make gnulib-tool work with native 'sed' on AIX.
55374         * gnulib-tool (sed_noop): New variable.
55375         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
55376         func_add_or_update, func_create_testdir): Use it to initialize sed
55377         script variables.
55378         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55379
55380 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
55381             Bruno Haible  <bruno@clisp.org>
55382
55383         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
55384         also works after #include directives.
55385
55386 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
55387
55388         getdate.y: reject an out-of-range timezone value
55389         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
55390         the range [-24...+24].  When specified with only one or two digits,
55391         * tests/test-getdate.c: Tests for the fix.
55392         * doc/getdate.texi: Document this change.
55393
55394 2008-09-03  Bruno Haible  <bruno@clisp.org>
55395
55396         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
55397
55398 2008-09-02  Simon Josefsson  <simon@josefsson.org>
55399
55400         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
55401         <bruce.korb@gmail.com> with ideas from Ben Pfaff
55402         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
55403         Blake <ebb9@byu.net>.
55404
55405         * tests/test-bitrotate.c: Add more test vectors.
55406
55407 2008-09-02  Eric Blake  <ebb9@byu.net>
55408
55409         vasnprintf-posix: handle large precision via %.*d
55410         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
55411         when handling it ourselves.
55412         * tests/test-vasnprintf-posix.c (test_function): Add test.
55413         * tests/test-snprintf-posix.h (test_function): Likewise.
55414         * tests/test-sprintf-posix.h (test_function): Likewise.
55415         * tests/test-vasprintf-posix.c (test_function): Likewise.
55416         Reported by Alain Guibert.
55417
55418 2008-09-01  Eric Blake  <ebb9@byu.net>
55419
55420         c-stack: make configure-time check more robust
55421         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
55422         successful sigaction call.
55423         Reported by Tom G. Christensen.
55424
55425 2008-09-01  Bruno Haible  <bruno@clisp.org>
55426
55427         New module 'findprog-lgpl'.
55428         * modules/findprog-lgpl: New file.
55429         * lib/findprog-lgpl.c: New file.
55430         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
55431         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
55432         to decide whether to use strdup or xstrdup, concatenated_filename or
55433         xconcatenated_filename.
55434
55435 2008-09-01  Bruno Haible  <bruno@clisp.org>
55436
55437         Split module 'concat-filename' into 'concat-filename' (LGPL) and
55438         'xconcat-filename' (GPL).
55439         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
55440         (License): Change to LGPLv2+.
55441         * modules/xconcat-filename: New file.
55442         * lib/concat-filename.h (concatenated_filename): Change specification.
55443         (xconcatenated_filename): New declaration.
55444         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
55445         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
55446         memory situations.
55447         * lib/xconcat-filename.c: New file.
55448         * NEWS: Mention the change.
55449         * lib/findprog.c: Include concat-filename.h, not filename.h.
55450         (find_in_path): Use xconcatenated_filename instead of
55451         concatenated_filename.
55452         * lib/javacomp.c: Include concat-filename.h, not filename.h.
55453         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
55454         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
55455         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
55456         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
55457         instead of concatenated_filename.
55458         * lib/javaexec.c: Include concat-filename.h, not filename.h.
55459         (execute_java_class): Use xconcatenated_filename instead of
55460         concatenated_filename.
55461         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
55462         * modules/javacomp (Depends-on): Likewise.
55463         * modules/javaexec (Depends-on): Likewise.
55464
55465 2008-09-01  Bruno Haible  <bruno@clisp.org>
55466
55467         Split module 'filename' into 'filename' and 'concat-filename'.
55468         * modules/filename: Keep only lib/filename.h.
55469         (License): Change to LGPLv2+.
55470         * modules/concat-filename: New file, extracted from modules/filename.
55471         * lib/filename.h (concatenated_filename): Remove declaration.
55472         * lib/concat-filename.h: New file, extracted from lib/filename.h.
55473         * lib/concat-filename.c: Include concat-filename.h.
55474         * NEWS: Mention the change.
55475
55476 2008-09-01  Simon Josefsson  <simon@josefsson.org>
55477
55478         * lib/bitrotate.h (rotl8, rotr8): Add.
55479
55480         * modules/bitrotate (configure.ac): Need
55481         AC_REQUIRE([AC_C_INLINE]).
55482         (Description): Mention stdint.h.  Reported by Bruno Haible
55483         <bruno@clisp.org>.
55484
55485         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
55486         Paolo Bonzini <bonzini@gnu.org>.
55487
55488 2008-08-31  Bruno Haible  <bruno@clisp.org>
55489
55490         Assume Solaris specific bi-arch conventions on Solaris systems.
55491         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
55492         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
55493         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
55494         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
55495         like acl_libdirstem.
55496         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
55497         acl_libdirstem.
55498         * NEWS: Mention the change.
55499         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
55500
55501 2008-08-31  Jim Meyering  <meyering@redhat.com>
55502
55503         * lib/strftime.h: Add comments describing the two added arguments.
55504
55505         remove duplicate #include directives
55506         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
55507         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
55508
55509 2008-08-31  Bruno Haible  <bruno@clisp.org>
55510
55511         New module 'sigpipe-die'.
55512         * modules/sigpipe-die: New file.
55513         * lib/sigpipe-die.h: New file.
55514         * lib/sigpipe-die.c: New file.
55515         * MODULES.html.sh (Signal handling): Add sigpipe-die.
55516
55517 2008-08-31  Bruno Haible  <bruno@clisp.org>
55518
55519         Don't override previously installed signal handlers.
55520         * lib/fatal-signal.c (saved_sigactions): New variable.
55521         (uninstall_handlers): Reset the signal to the saved handler, not
55522         to SIG_DFL (except when ignored).
55523         (install_handlers): Save the previous handlers.
55524
55525 2008-08-30  Bruno Haible  <bruno@clisp.org>
55526
55527         * gnulib-tool (func_reset_sigpipe): New function.
55528         (func_get_automake_snippet, func_modules_transitive_closure,
55529         func_import): Invoke it before a join command that reads from stdin,
55530         to avoid "echo: write error: Broken pipe" error messages on stderr.
55531         Reported by Sam Steingold <sds@gnu.org>.
55532
55533 2008-08-30  Bruno Haible  <bruno@clisp.org>
55534
55535         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
55536         Code copied from m4/open.m4.
55537         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
55538         access and the filename ends in a slash. Code copied from lib/open.c.
55539         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
55540         * tests/test-fopen.c (main): Check against bug with trailing slash.
55541
55542 2008-08-29  Bruno Haible  <bruno@clisp.org>
55543
55544         Avoid some "gcc -pedantic" warnings.
55545         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
55546         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
55547         * lib/dirent.in.h: Likewise.
55548         * lib/fcntl.in.h: Likewise.
55549         * lib/float.in.h: Likewise.
55550         * lib/iconv.in.h: Likewise.
55551         * lib/inttypes.in.h: Likewise.
55552         * lib/locale.in.h: Likewise.
55553         * lib/math.in.h: Likewise.
55554         * lib/netinet_in.in.h: Likewise.
55555         * lib/search.in.h: Likewise.
55556         * lib/signal.in.h: Likewise.
55557         * lib/stdarg.in.h: Likewise.
55558         * lib/stdint.in.h: Likewise.
55559         * lib/stdio.in.h: Likewise.
55560         * lib/stdlib.in.h: Likewise.
55561         * lib/string.in.h: Likewise.
55562         * lib/strings.in.h: Likewise.
55563         * lib/sys_select.in.h: Likewise.
55564         * lib/sys_socket.in.h: Likewise.
55565         * lib/sys_stat.in.h: Likewise.
55566         * lib/sys_time.in.h: Likewise.
55567         * lib/sysexits.in.h: Likewise.
55568         * lib/time.in.h: Likewise.
55569         * lib/unistd.in.h: Likewise.
55570         * lib/wchar.in.h: Likewise.
55571         * lib/wctype.in.h: Likewise.
55572         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
55573         * modules/fchdir (Makefile.am): Likewise.
55574         * modules/fcntl (Makefile.am): Likewise.
55575         * modules/float (Makefile.am): Likewise.
55576         * modules/iconv_open (Makefile.am): Likewise.
55577         * modules/inttypes (Makefile.am): Likewise.
55578         * modules/locale (Makefile.am): Likewise.
55579         * modules/math (Makefile.am): Likewise.
55580         * modules/netinet_in (Makefile.am): Likewise.
55581         * modules/search (Makefile.am): Likewise.
55582         * modules/signal (Makefile.am): Likewise.
55583         * modules/stdarg (Makefile.am): Likewise.
55584         * modules/stdint (Makefile.am): Likewise.
55585         * modules/stdio (Makefile.am): Likewise.
55586         * modules/stdlib (Makefile.am): Likewise.
55587         * modules/string (Makefile.am): Likewise.
55588         * modules/strings (Makefile.am): Likewise.
55589         * modules/sys_select (Makefile.am): Likewise.
55590         * modules/sys_socket (Makefile.am): Likewise.
55591         * modules/sys_stat (Makefile.am): Likewise.
55592         * modules/sys_time (Makefile.am): Likewise.
55593         * modules/sysexits (Makefile.am): Likewise.
55594         * modules/time (Makefile.am): Likewise.
55595         * modules/unistd (Makefile.am): Likewise.
55596         * modules/wchar (Makefile.am): Likewise.
55597         * modules/wctype (Makefile.am): Likewise.
55598         Reported by Reuben Thomas <rrt@sc3d.org>.
55599
55600 2008-08-29  Bruno Haible  <bruno@clisp.org>
55601
55602         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
55603         any more.
55604
55605 2008-08-29  Simon Josefsson  <simon@josefsson.org>
55606
55607         * MODULES.html.sh (Misc): Add bitrotate.
55608
55609         * modules/bitrotate: New file.
55610
55611         * lib/bitrotate.h: New file.
55612
55613         * modules/bitrotate-tests: New file.
55614
55615         * tests/test-bitrotate.c: New file.
55616
55617         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
55618         on the bitrotate module.
55619
55620         * lib/arctwo.c: Use new bitrotate module.
55621
55622 2008-08-29  Jim Meyering  <meyering@redhat.com>
55623
55624         bootstrap: merge changes from coreutils
55625         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
55626         of copied files.  Remove a kludge, now that this is fixed.
55627         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
55628         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
55629         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
55630
55631 2008-08-29  Bruno Haible  <bruno@clisp.org>
55632
55633         * MODULES.html.sh: Remove --cvs-urls option.
55634
55635 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
55636
55637         maint.mk: adjust to file name change
55638         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
55639
55640 2008-08-28  Jim Meyering  <meyering@redhat.com>
55641
55642         * modules/getndelim2 (License): Relicense to LGPLv2+.
55643         Approved by Richard Stallman for the version of 1995, and by
55644         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
55645
55646 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
55647
55648         * lib/getdelim.c (flockfile, funlockfile): Make all of them
55649         dummy if one is not available.  Do not touch them if
55650         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
55651         (getc_maybe_unlocked): New.
55652         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
55653
55654 2008-08-26  Eric Blake  <ebb9@byu.net>
55655
55656         doc/INSTALL: resync from autoconf
55657         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
55658         (INSTALL_PRELUDE): Delete; this is done more efficiently by
55659         moving...
55660         * install.texi [!autoconf]: ...here.  Resync from autoconf.
55661         * INSTALL: Regenerate.
55662         * INSTALL.ISO: New file.
55663         * INSTALL.UTF-8: Likewise.
55664
55665 2008-08-26  Jim Meyering  <meyering@redhat.com>
55666
55667         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
55668         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
55669         these definitions conditional, so that they may be overridden, too.
55670
55671 2008-08-26  Bruno Haible  <bruno@clisp.org>
55672
55673         Generate INSTALL file variants with prettier quotes.
55674         * doc/Makefile (INSTALL_PRELUDE): New macro.
55675         (INSTALL): Use it.
55676         (INSTALL.ISO, INSTALL.UTF-8): New rules.
55677
55678 2008-08-26  Bruno Haible  <bruno@clisp.org>
55679
55680         Run makeinfo in an English locale.
55681         * doc/Makefile (MAKEINFO): New variable.
55682
55683 2008-08-26  Bruno Haible  <bruno@clisp.org>
55684
55685         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
55686         Suggested by Eric Blake.
55687
55688 2008-08-25  Bruno Haible  <bruno@clisp.org>
55689
55690         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
55691
55692 2008-08-25  Eric Blake  <ebb9@byu.net>
55693
55694         c-stack: test that stack overflow can be caught
55695         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
55696         that platform allows handling stack overflow; at least OS/2 EMX
55697         has sigaltstack, but crashes before transferring control to
55698         handler on stack overflow.
55699         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
55700         check for HAVE_STACK_OVERFLOW_HANDLING.
55701         Reported by Elbert Pol.
55702
55703 2008-08-25  Bruno Haible  <bruno@clisp.org>
55704
55705         * doc/posix-functions/strftime.texi: Fix description of strftime
55706         module.
55707
55708 2008-08-24  Bruno Haible  <bruno@clisp.org>
55709
55710         * tests/uniwidth/test-uc_width2.c: New file.
55711         * tests/uniwidth/test-uc_width2.sh: New file.
55712         * modules/uniwidth/width-tests (Files): Add the new files.
55713         (TESTS): Add uniwidth/test-uc_width2.sh.
55714         (TESTS_ENVIRONMENT): New variable.
55715         (check_PROGRAMS): Add test-uc_width2.
55716         (test_uc_width2_SOURCES): New variable.
55717
55718         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
55719         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
55720         not 0x00AB.
55721         Reported by Alexander V. Lukyanov <lav@netis.ru>.
55722
55723 2008-08-22  Eric Blake  <ebb9@byu.net>
55724
55725         test-lock, test-tls: mention why a test is skipped
55726         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
55727         skipped.
55728         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
55729
55730         count-one-bits: relax license
55731         * modules/count-one-bits (License): Relicense to LGPLv2+.
55732         Suggested by Ludovic Courtès, approved by Ben Pfaff.
55733
55734 2008-08-22  Andreas Schwab  <schwab@suse.de>
55735
55736         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55737         Remove spurious space in assignment.
55738
55739 2008-08-21  Simon Josefsson  <simon@josefsson.org>
55740
55741         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
55742         Paul Eggert <eggert@CS.UCLA.EDU>.
55743
55744 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
55745
55746         * modules/gettext: Add m4/threadlib.m4.
55747
55748 2008-08-19  Eric Blake  <ebb9@byu.net>
55749
55750         test-c-stack: fix compilation failure on FreeBSD 5.0
55751         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
55752         headers before <sys/resource.h>.
55753         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
55754         the bug.
55755         Reported by Nelson H. F. Beebe.
55756
55757         strverscmp: migrate from "strverscmp.h" to <string.h>
55758         * modules/string (Makefile.am): Add new hooks.
55759         * modules/strverscmp (Files): Remove strverscmp.h.
55760         (Depends-on): Add string.
55761         (configure.ac): Add indicator.
55762         (Include): Mention new header.
55763         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
55764         defaults.
55765         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
55766         results.
55767         * lib/strverscmp.h: Delete.
55768         * lib/string.in.h (strverscmp): Provide declaration, when needed.
55769         * tests/test-strverscmp.c (includes): Adjust client.
55770         * lib/check-version.c (includes): Likewise.
55771         * NEWS: Document the change.
55772
55773         strverscmp: add unit test
55774         * modules/strverscmp-tests: New file.
55775         * tests/test-strverscmp.c: Likewise.
55776
55777 2008-08-19  Simon Josefsson  <simon@josefsson.org>
55778
55779         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
55780         regarding Windows crypto stuff, from Mono.
55781
55782 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
55783
55784         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
55785         if present, for intel RND.  Return error on failures.
55786
55787 2008-08-18  Ben Pfaff  <blp@gnu.org>
55788
55789         gitlog-to-changelog: give better diagnostic for failed pipe-open
55790         * build-aux/gitlog-to-changelog: Improve error message: suggest
55791         that the version of Git may be too old.
55792
55793 2008-08-18  Simon Josefsson  <simon@josefsson.org>
55794
55795         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
55796         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
55797
55798 2008-08-18  Bruno Haible  <bruno@clisp.org>
55799
55800         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
55801         pthread_in_use().
55802
55803 2008-08-18  Bruno Haible  <bruno@clisp.org>
55804
55805         * lib/glthread/threadlib.c: Include <pthread.h>.
55806
55807 2008-08-18  Bruno Haible  <bruno@clisp.org>
55808
55809         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
55810         glthread_recursive_lock_* macros.
55811         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
55812         Fix syntax error.
55813
55814 2008-08-18  Bruno Haible  <bruno@clisp.org>
55815
55816         * lib/glthread/thread.c: Avoid forcing a context switch right after
55817         thread creation.
55818
55819 2008-08-17  Bruno Haible  <bruno@clisp.org>
55820
55821         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
55822         * lib/glthread/thread.h: Provide Win32 specific implementation.
55823         * modules/thread (Files): Add lib/glthread/thread.c.
55824         (Depends-on): Add lock.
55825         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
55826
55827 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55828
55829         New module 'yield'.
55830         * modules/yield: New file.
55831         * lib/glthread/yield.h: New file.
55832         * m4/yield.m4: New file.
55833         * MODULES.html.sh (Multithreading): Add yield.
55834
55835 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55836
55837         New module 'thread'.
55838         * modules/thread: New file.
55839         * lib/glthread/thread.h: New file.
55840         * m4/thread.m4: New file.
55841         * MODULES.html.sh (Multithreading): Add thread.
55842
55843 2008-08-17  Bruno Haible  <bruno@clisp.org>
55844
55845         * lib/glthread/lock.h: Include <stdlib.h> always.
55846         * lib/glthread/tls.h: Likewise.
55847         * lib/glthread/cond.h: Likewise.
55848
55849 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55850
55851         New module 'cond'.
55852         * modules/cond: New file.
55853         * lib/glthread/cond.h: New file.
55854         * lib/glthread/cond.c: New file.
55855         * m4/cond.m4: New file.
55856         * MODULES.html.sh (Multithreading): Add cond.
55857
55858 2008-08-16  Eric Blake  <ebb9@byu.net>
55859
55860         c-stack: fix regression on Irix 5.3 from 2008-06-21
55861         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
55862         sa_sigaction...
55863         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
55864         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
55865         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
55866         * modules/signal (Makefile.am): Use the value.
55867         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
55868         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
55869         * doc/posix-headers/signal.texi (signal.h): Document this
55870         portability issue.
55871         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
55872         Reported by Tom G. Christensen.
55873
55874 2008-08-17  Bruno Haible  <bruno@clisp.org>
55875
55876         New module 'threadlib'.
55877         * modules/threadlib: New file.
55878         * lib/glthread/threadlib.c: New file, extracted from
55879         lib/glthread/lock.c.
55880         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
55881         functions.
55882         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
55883         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
55884         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
55885         macros.
55886         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
55887         (gl_DISABLE_THREADS): Remove macro.
55888         * modules/lock (Files): Remove build-aux/config.rpath.
55889         (Depends-on): Remove havelib. Add threadlib.
55890         (configure.ac-early): Remove section.
55891         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
55892         * modules/tls (Depends-on): Remove lock. Add threadlib.
55893         (Link): New section, copied from threadlib.
55894         * MODULES.html.sh (Multithreading): Add threadlib.
55895
55896 2008-08-14  Bruno Haible  <bruno@clisp.org>
55897
55898         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
55899         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
55900         glthread_rwlock_unlock, glthread_rwlock_destroy,
55901         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
55902         glthread_recursive_lock_destroy): Define as macros always.
55903         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
55904         glthread_lock_lock.
55905         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
55906         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
55907         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
55908         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
55909         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
55910         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
55911         (glthread_recursive_lock_lock_func): Renamed from
55912         glthread_recursive_lock_lock.
55913         (glthread_recursive_lock_unlock_func): Renamed from
55914         glthread_recursive_lock_unlock.
55915         (glthread_recursive_lock_destroy_func): Renamed from
55916         glthread_recursive_lock_destroy.
55917
55918 2008-08-14  Bruno Haible  <bruno@clisp.org>
55919
55920         * lib/glthread/lock.h: Renamed from lib/lock.h.
55921         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
55922         * lib/glthread/tls.h: Renamed from lib/tls.h.
55923         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
55924         * lib/fstrcmp.c: Update includes.
55925         * lib/strsignal.c: Update includes.
55926         * modules/lock (Files, Makefile.am): Update.
55927         (Include): Change to "glthread/lock.h".
55928         * modules/tls (Files, Makefile.am): Update.
55929         (Include): Change to "glthread/tls.h".
55930         * tests/test-lock.c: Update includes.
55931         * tests/test-tls.c: Update includes.
55932         * NEWS: Mention the renamed header files.
55933
55934 2008-08-11  Jim Meyering  <meyering@redhat.com>
55935
55936         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
55937
55938 2008-08-11  Eric Blake  <ebb9@byu.net>
55939
55940         test-c-stack: avoid C99-ism
55941         * tests/test-c-stack.c (main): Fix whitespace, move declaration
55942         before statement.
55943         Reported by Alain Guibert.
55944
55945 2008-08-10  Jim Meyering  <meyering@redhat.com>
55946
55947         ensure that return value of uinttostr et al are not ignored
55948         * lib/inttostr.h (__GNUC_PREREQ): Define.
55949         (__attribute_warn_unused_result__): Define.
55950         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
55951
55952 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
55953
55954         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
55955         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
55956
55957 2008-08-07  Jim Meyering  <meyering@redhat.com>
55958
55959         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
55960
55961         * modules/mkstemp (License): Relicense under LGPLv2+.
55962         * modules/tempname (License): Likewise.
55963
55964 2008-08-06  Bruno Haible  <bruno@clisp.org>
55965
55966         * lib/poll.c (poll): Further micro-optimization.
55967
55968 2008-08-06  Jim Meyering  <meyering@redhat.com>
55969
55970         inet_pton.c: use locale-independent tolower
55971         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
55972         (inet_pton6): Use c_tolower rather than tolower.
55973         * modules/inet_pton (Depends-on): Add c-ctype.
55974
55975 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
55976
55977         * lib/poll.c (poll): Avoid division when timeout is 0, cache
55978         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
55979
55980 2008-08-06  Jim Meyering  <meyering@redhat.com>
55981
55982         * modules/inet_pton (License): Relicense under LGPLv2+.
55983
55984 2008-08-03  Bruno Haible  <bruno@clisp.org>
55985
55986         Additional non-aborting API for lock and tls.
55987         * lib/lock.h: Include <errno.h>.
55988         (glthread_lock_init): New macro/function.
55989         (gl_lock_init): Define as wrapper around glthread_lock_init.
55990         (glthread_lock_lock): New macro/function.
55991         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
55992         (glthread_lock_unlock): New macro/function.
55993         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
55994         (glthread_lock_destroy): New macro/function.
55995         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
55996         (glthread_rwlock_init): New macro/function.
55997         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
55998         (glthread_rwlock_rdlock): New macro/function.
55999         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
56000         (glthread_rwlock_wrlock): New macro/function.
56001         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
56002         (glthread_rwlock_unlock): New macro/function.
56003         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
56004         (glthread_rwlock_destroy): New macro/function.
56005         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
56006         (glthread_recursive_lock_init): New macro/function.
56007         (gl_recursive_lock_init): Define as wrapper around
56008         glthread_recursive_lock_init.
56009         (glthread_recursive_lock_lock): New macro/function.
56010         (gl_recursive_lock_lock): Define as wrapper around
56011         glthread_recursive_lock_lock.
56012         (glthread_recursive_lock_unlock): New macro/function.
56013         (gl_recursive_lock_unlock): Define as wrapper around
56014         glthread_recursive_lock_unlock.
56015         (glthread_recursive_lock_destroy): New macro/function.
56016         (gl_recursive_lock_destroy): Define as wrapper around
56017         glthread_recursive_lock_destroy.
56018         (glthread_once): New macro/function.
56019         (gl_once): Define as wrapper around glthread_once.
56020         Update function declarations.
56021         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
56022         glthread_rwlock_init. Return error code.
56023         (glthread_rwlock_rdlock_multithreaded): Renamed from
56024         glthread_rwlock_rdlock. Return error code.
56025         (glthread_rwlock_wrlock_multithreaded): Renamed from
56026         glthread_rwlock_wrlock. Return error code.
56027         (glthread_rwlock_unlock_multithreaded): Renamed from
56028         glthread_rwlock_unlock. Return error code.
56029         (glthread_rwlock_destroy_multithreaded): Renamed from
56030         glthread_rwlock_destroy. Return error code.
56031         (glthread_recursive_lock_init_multithreaded): Renamed from
56032         glthread_recursive_lock_init. Return error code.
56033         (glthread_recursive_lock_lock_multithreaded): Renamed from
56034         glthread_recursive_lock_lock. Return error code.
56035         (glthread_recursive_lock_unlock_multithreaded): Renamed from
56036         glthread_recursive_lock_unlock. Return error code.
56037         (glthread_recursive_lock_destroy_multithreaded): Renamed from
56038         glthread_recursive_lock_destroy. Return error code.
56039         (glthread_once_call): Make static.
56040         (glthread_once_multithreaded): Renamed from glthread_once.
56041         * lib/tls.h: Include <errno.h>.
56042         (glthread_tls_key_init): New macro/function.
56043         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
56044         (glthread_tls_set): New macro/function.
56045         (gl_tls_set): Define as wrapper around glthread_tls_set.
56046         (glthread_tls_key_destroy): New macro/function.
56047         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
56048         Update function declarations.
56049         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
56050         glthread_tls_get.
56051         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56052
56053 2008-08-04  Eric Blake  <ebb9@byu.net>
56054
56055         gnumakefile: use space, not TAB, outside of targets
56056         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
56057
56058 2008-08-02  Jim Meyering  <meyering@redhat.com>
56059
56060         getdate.y: avoid locale-dependent date parsing failure
56061         In Turkish locales, getdate would fail to recognize keywords
56062         containing a lowercase "i".  The solution is not to rely on
56063         locale-sensitive case-conversion.
56064         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
56065         (lookup_word): Use c_toupper in place of toupper.
56066         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
56067         Reported by Vefa Bicakci <bicave@superonline.com> in
56068         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
56069         * modules/getdate (Depends-on): Add c-ctype.
56070
56071 2008-08-02  Bruno Haible  <bruno@clisp.org>
56072
56073         * gnulib-tool (func_import): When updating or creating a .gitignore
56074         file, prepend each added line with a slash, and ignore leading slashes
56075         from the existing lines.
56076         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
56077
56078 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56079
56080         Portability fix for GNU make 3.79.1.
56081         * top/GNUmakefile: Avoid 'else COND', which older GNU make
56082         versions do not understand.
56083
56084 2008-08-01  Bruno Haible  <bruno@clisp.org>
56085
56086         Work around bug of HP-UX 10.20 cc with -0.0 literal.
56087         * tests/test-isnanf.h (zero): New variable.
56088         (main): Avoid literal -0.0f.
56089         * tests/test-isnand.h (zero): New variable.
56090         (main): Avoid literal -0.0.
56091         * tests/test-isnanl.h (zero): New variable.
56092         (main): Avoid literal -0.0L.
56093         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
56094         (test_float, test_double, test_long_double): Avoid literals -0.0f,
56095         -0.0, -0.0L.
56096         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
56097         (test_signbitd): Avoid literal -0.0.
56098         (test_signbitl): Avoid literal -0.0L.
56099         * tests/test-ceilf1.c (zero): New variable.
56100         (main): Avoid literal -0.0f.
56101         * tests/test-ceill.c (zero): New variable.
56102         (main): Avoid literal -0.0L.
56103         * tests/test-floorf1.c (zero): New variable.
56104         (main): Avoid literal -0.0f.
56105         * tests/test-floorl.c (zero): New variable.
56106         (main): Avoid literal -0.0L.
56107         * tests/test-roundf1.c (zero): New variable.
56108         (main): Avoid literal -0.0f.
56109         * tests/test-round1.c (zero): New variable.
56110         (main): Avoid literal -0.0.
56111         * tests/test-roundl.c (zero): New variable.
56112         (main): Avoid literal -0.0L.
56113         * tests/test-truncf1.c (zero): New variable.
56114         (main): Avoid literal -0.0f.
56115         * tests/test-trunc1.c (zero): New variable.
56116         (main): Avoid literal -0.0.
56117         * tests/test-truncl.c (zero): New variable.
56118         (main): Avoid literal -0.0L.
56119         * tests/test-frexp.c (zero): New variable.
56120         (main): Avoid literal -0.0.
56121         * tests/test-frexpl.c (zero): New variable.
56122         (main): Avoid literal -0.0L.
56123         * tests/test-ldexpl.c (zero): New variable.
56124         (main): Avoid literal -0.0L.
56125         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
56126         (zerod, zerol): New variables.
56127         (test_function): Avoid literals -0.0, -0.0L.
56128         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
56129         (zerod, zerol): New variables.
56130         (test_function): Avoid literals -0.0, -0.0L.
56131         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
56132         (zerod, zerol): New variables.
56133         (test_function): Avoid literals -0.0, -0.0L.
56134         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
56135         (zerod, zerol): New variables.
56136         (test_function): Avoid literals -0.0, -0.0L.
56137         * tests/test-strtod.c (zero): New variable.
56138         (main): Avoid literal -0.0.
56139         Reported by Jonathan C. Patschke <jp@centtech.com>.
56140
56141 2008-07-31  Jim Meyering  <meyering@redhat.com>
56142
56143         sha256.h: correct definition of SHA224_DIGEST_SIZE
56144         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
56145         Reported by Paulie Pena IV <paulie4@gmail.com>.
56146         Define as 224 / 8, rather than as a literal.
56147         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
56148         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
56149         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
56150
56151 2008-07-31  Bruno Haible  <bruno@clisp.org>
56152
56153         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
56154         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
56155         Reported by Jonathan Patschke <jp@centtech.com>.
56156
56157 2008-07-31  Bruno Haible  <bruno@clisp.org>
56158
56159         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
56160         Reported by Paolo Bonzini <bonzini@gnu.org>.
56161
56162 2008-07-30  Eric Blake  <ebb9@byu.net>
56163
56164         test-strtod: allow compilation without -lm
56165         * tests/test-strtod.c (main): Avoid link dependence on fabs.
56166         Reported by Dennis Clarke <blastwave@gmail.com>.
56167
56168 2008-07-28  Jim Meyering  <meyering@redhat.com>
56169
56170         bootstrap: work also when there are no .po files in po/
56171         * build-aux/bootstrap (update_po_files): Complete the change
56172         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
56173
56174 2008-07-27  Jim Meyering  <meyering@redhat.com>
56175
56176         * users.txt: Add zile.
56177
56178 2008-07-26  Ben Pfaff  <blp@gnu.org>
56179
56180         Add missing dependencies on new m4/exponent[fdl].m4 files.
56181         * modules/isnanf-nolibm: Add m4/exponentf.m4.
56182         * modules/isnand-nolibm: Add m4/exponentd.m4.
56183         * modules/isnanl-nolibm: Add m4/exponentl.m4.
56184         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
56185         m4/isnan[fdl].m4, because the macros actually used moved.
56186         Reported by Jim Meyering.
56187
56188 2008-07-14  Ben Pfaff  <blp@gnu.org>
56189
56190         Add isinf module.
56191         * lib/isinf.c: New file.
56192         * lib/math.in.h: Define isinf macro if we have decided to replace
56193         it.
56194         * m4/isinf.m4: New file.
56195         * m4/math_h.m4: Initialize and substitute variables for isinf
56196         module.
56197         * modules/isinf: New file.
56198         * modules/isinf-tests: New file.
56199         * modules/math: Add substitutions for new module.
56200         * tests/test-isinf.c: New file.
56201         * doc/posix-functions/isinf.texi: Mention new module.
56202         * MODULES.html.sh: Mention new module.
56203
56204 2008-07-14  Ben Pfaff  <blp@gnu.org>
56205
56206         Factor out some macros for use by additional modules.
56207         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
56208         exponentf.m4.
56209         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
56210         exponentd.m4.
56211         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
56212         file exponentl.m4.
56213         * m4/exponentf.m4: New file.
56214         * m4/exponentd.m4: New file.
56215         * m4/exponentl.m4: New file.
56216         * modules/isnanf: Use new file m4/exponentf.m4.
56217         * modules/isnand: Use new file m4/exponentd.m4.
56218         * modules/isnanl: Use new file m4/exponentl.m4.
56219
56220 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
56221
56222         mktime.c: normalize tp->tm_isdst value to -1/0/1.
56223         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
56224         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
56225         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
56226
56227         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
56228         readlink on platforms without PATH_MAX.
56229
56230 2008-07-21  Eric Blake  <ebb9@byu.net>
56231
56232         Warn, not fail, on stale version.
56233         * top/GNUmakefile (_curr-ver): Tone down previous patch.
56234
56235         Don't allow installation with stale devel version number.
56236         * top/GNUmakefile (_is-install-target): New macro.
56237         (_curr-ver): Forbid installation with stale version number.
56238
56239 2008-07-20  Bruno Haible  <bruno@clisp.org>
56240
56241         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
56242         TESTS_ENVIRONMENT.
56243         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
56244
56245 2008-07-20  Bruno Haible  <bruno@clisp.org>
56246
56247         * lib/c-stack.h (c_stack_action): Add documentation.
56248         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
56249
56250 2008-07-20  Bruno Haible  <bruno@clisp.org>
56251
56252         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
56253         * modules/readlink (License): Likewise.
56254
56255 2008-07-17  Eric Blake  <ebb9@byu.net>
56256
56257         * modules/c-stack (Link): Fix typo.
56258
56259         Make c-stack use libsigsegv, when available.
56260         * modules/c-stack (Depends-on): Add libsigsegv.
56261         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
56262         needed.
56263         * lib/c-stack.c (SIGSTKSZ): Define fallback.
56264         (segv_handler, overflow_handler, c_stack_action)
56265         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
56266         implementation when libsigsegv is available, but only when using
56267         the library is necessary.
56268         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
56269         comment, explaining why XSI check fails on Linux.
56270         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
56271         * tests/test-c-stack2.sh: Tweak skip message.
56272         * NEWS: Document new link-time requirements.
56273
56274 2008-07-16  Eric Blake  <ebb9@byu.net>
56275
56276         c-stack: Expose false positives when not using libsigsegv.
56277         * modules/c-stack-tests (Files): Expand test.
56278         * tests/test-c-stack.c (main): Add means to conditionally trigger
56279         non-overflow SIGSEGV.
56280         * tests/test-c-stack2.sh: New file.
56281
56282 2008-07-14  Bruno Haible  <bruno@clisp.org>
56283
56284         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
56285         Reported by Eric Blake.
56286
56287 2008-07-14  Sam Steingold  <sds@gnu.org>
56288             Bruno Haible  <bruno@clisp.org>
56289
56290         New module libsigsegv.
56291         * modules/libsigsegv: New file.
56292         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
56293         modifications.
56294         * MODULES.html.sh (Signal handling): New section.
56295
56296 2008-07-14  Bruno Haible  <bruno@clisp.org>
56297
56298         * modules/unictype/ctype-* (Description): Add the word "function".
56299         Improves the resulting doc in MODULES.html.
56300
56301 2008-07-12  Ben Pfaff  <blp@gnu.org>
56302
56303         Add longlong module.
56304         * modules/longlong: New file.
56305
56306 2008-07-12  Bruno Haible  <bruno@clisp.org>
56307
56308         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
56309         to empty.
56310
56311 2008-07-10  Ben Pfaff  <blp@gnu.org>
56312
56313         Add isnan module.
56314         * doc/posix-functions/isnan.texi: Mention new module.
56315         * lib/math.in.h: Define isnan macro if we have decided to replace
56316         it.
56317         * m4/isnan.m4: New file.
56318         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
56319         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
56320         also.
56321         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
56322         redundancy.
56323         * m4/math_h.m4: Initialize and substitute variables for isnan
56324         module.
56325         * modules/isnan: New file.
56326         * modules/isnan-tests: New file.
56327         * modules/math: Add substitutions for new module.
56328         * tests/test-isnan.c: New file.
56329         * MODULES.html.sh: Mention new module.
56330
56331 2008-07-10  Ben Pfaff  <blp@gnu.org>
56332
56333         Add isnanf module.
56334         * lib/isnanf.m4: New file.
56335         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
56336         (gl_HAVE_ISNANF_IN_LIBM): New macro.
56337         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
56338         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
56339         * modules/isnanf: New file.
56340         * modules/isnanf-tests: New file.
56341         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
56342         files.
56343         * tests/test-isnanf-nolibm.c: factored most of its contents into
56344         new file tests/test-isnanf.h.
56345         * tests/test-isnanf.h: New file.
56346         * tests/test-isnanf.c: New file.
56347         * MODULES.html.sh: Mention new module.
56348         * doc/glibc-functions/isnanf.texi: Mention new module.
56349
56350 2008-07-10  Ben Pfaff  <blp@gnu.org>
56351
56352         Add isnand module.
56353         * lib/isnand.h: New file.
56354         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
56355         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
56356         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
56357         functionality also.
56358         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
56359         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
56360         (gl_HAVE_ISNAND_IN_LIBM): New macro.
56361         * modules/isnand: New file.
56362         * modules/isnand-tests: New file.
56363         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
56364         files.
56365         * tests/test-isnand-nolibm.c: factored most of its contents into
56366         new file tests/test-isnand.h.
56367         * tests/test-isnand.h: New file.
56368         * tests/test-isnand.c: New file.
56369         * MODULES.html.sh: Mention new module.
56370
56371 2008-07-10  Ben Pfaff  <blp@gnu.org>
56372
56373         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
56374         * lib/isnand.h: Rename lib/isnand-nolibm.h.
56375         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
56376         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
56377         * modules/isnanf-nolibm: Update references to renamed files.
56378         * modules/isnand-nolibm: Likewise.
56379         * modules/isnanf-nolibm-tests: Likewise.
56380         * modules/isnand-nolibm-tests: Likewise.
56381         * lib/frexp.c: Likewise.
56382         * lib/isfinite.c: Likewise.
56383         * lib/signbitd.c: Likewise.
56384         * lib/signbitf.c: Likewise.
56385         * lib/vasnprintf.c: Likewise.
56386         * tests/test-ceilf1.c: Likewise.
56387         * tests/test-ceilf2.c: Likewise.
56388         * tests/test-floorf1.c: Likewise.
56389         * tests/test-floorf2.c: Likewise.
56390         * tests/test-frexp.c: Likewise.
56391         * tests/test-round1.c: Likewise.
56392         * tests/test-round2.c: Likewise.
56393         * tests/test-roundf1.c: Likewise.
56394         * tests/test-strtod.c: Likewise.
56395         * tests/test-trunc1.c: Likewise.
56396         * tests/test-trunc2.c: Likewise.
56397         * tests/test-truncf1.c: Likewise.
56398         * tests/test-truncf2.c: Likewise.
56399         * NEWS: Mention the renamed header files.
56400
56401 2008-07-11  Jim Meyering  <meyering@redhat.com>
56402
56403         vc-list-files: make the last-resort awk code more portable
56404         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
56405         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
56406         does not support it.
56407
56408 2008-07-10  Eric Blake  <ebb9@byu.net>
56409
56410         Work with tar's bootstrap.
56411         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
56412         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
56413         an m4 comment.
56414
56415 2008-07-09  Jim Meyering  <meyering@redhat.com>
56416
56417         posix-shell.m4: fix typo that made this test malfunction
56418         * m4/posix-shell.m4: Remove capitalization in variable name.
56419
56420 2008-07-08  Bruno Haible  <bruno@clisp.org>
56421
56422         * m4/onceonly.m4: Update comments.
56423         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56424
56425 2008-07-04  Jim Meyering  <meyering@redhat.com>
56426
56427         * users.txt: Add vc-dwim.
56428         (bison, coreutils): Use the gitweb URL.
56429
56430 2008-07-03  Jim Meyering  <meyering@redhat.com>
56431
56432         * users.txt: Add libffcall.  From Sam Steingold.
56433
56434 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
56435
56436         getdate.y: do not ignore TZ with relative day, month or year offset
56437         * lib/getdate.y (get_date): Move the tz-handling block to follow the
56438         relative-date-handling, since otherwise, the latter would clobber the
56439         sole output (an updated Start value) of the tz-handling block.
56440         * tests/test-getdate.c: Tests for the fix
56441
56442 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56443
56444         Recognize 'foo_LIBRARIES += libgnu.a'.
56445         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
56446         makefile snippet has already specified an installation location,
56447         also using '+='.
56448
56449 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
56450
56451         getdate.y: factor out common actions
56452         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
56453         Use them in place of open-coded actions.
56454
56455 2008-07-01  Simon Josefsson  <simon@josefsson.org>
56456
56457         Add self-test for getdate module.
56458         * modules/getdate-tests: New file.
56459         * tests/test-getdate.c: New file.
56460
56461 2008-06-29  Bruno Haible  <bruno@clisp.org>
56462
56463         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
56464         .gitignore.
56465         Reported by Sylvain Beucler <beuc@beuc.net>.
56466
56467 2008-06-29  Bruno Haible  <bruno@clisp.org>
56468
56469         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
56470         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
56471
56472 2008-06-29  Bruno Haible  <bruno@clisp.org>
56473
56474         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
56475         EXTRA_DIST.
56476         Reported by Sylvain Beucler <beuc@beuc.net>.
56477
56478 2008-06-26  Jim Meyering  <meyering@redhat.com>
56479
56480         make several modules depend on the "open" module
56481         This provides slightly increased consistency when opening-for-write
56482         the name of a non-directory spelled with a trailing slash.
56483         * modules/chdir-safer: Likewise.
56484         * modules/chown: Likewise.
56485         * modules/clean-temp: Likewise.
56486         * modules/copy-file: Likewise.
56487         * modules/fchdir: Likewise.
56488         * modules/fcntl-safer: Likewise.
56489         * modules/pipe: Likewise.
56490         * modules/utime: Likewise.
56491         Prompted by Eric Blake and Bruno Haible.
56492
56493 2008-06-24  Andreas Schwab  <schwab@suse.de>
56494
56495         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
56496         literals can be used as initializers for global variables.
56497
56498 2008-06-23  Eric Blake  <ebb9@byu.net>
56499
56500         Make gnulib-cache.m4 easier to diff.
56501         * gnulib-tool (func_import): Allow newlines when reading cached
56502         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
56503
56504 2008-06-23  Bruno Haible  <bruno@clisp.org>
56505
56506         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
56507         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
56508         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
56509         m4/signalblocking.m4.
56510         (gl_PREREQ_SIGACTION): Don't invoke it.
56511         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
56512         gl_PREREQ_SIG_HANDLER_H.
56513         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56514         Don't check for sigaction here.
56515
56516 2008-06-23  Bruno Haible  <bruno@clisp.org>
56517
56518         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
56519         (install_handlers): Don't set the SA_RESETHAND flag.
56520
56521 2008-06-23  Bruno Haible  <bruno@clisp.org>
56522
56523         * m4/sigaction.m4: Comment fixes.
56524         * lib/signal.in.h: Likewise.
56525
56526 2008-06-23  Eric Blake  <ebb9@byu.net>
56527
56528         Fix typo.
56529         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
56530
56531         Avoid SA_ namespace.
56532         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
56533         Reported by Ralf Wildenhues.
56534
56535         Avoid test failure due to SA_RESTORER.
56536         * tests/test-sigaction.c (SA_MASK): New macro.
56537         (main): Avoid failing due to extension flags being set.
56538         Reported by Jim Meyering.
56539
56540         Revert use of sig-handler.h in sigprocmask.c.
56541         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
56542         it requires the existence of struct sigaction.
56543         * lib/sigprocmask.c (handler_t): Restore typedef.
56544         (rpl_signal, old_handlers): Use local type.
56545
56546 2008-06-22  Bruno Haible  <bruno@clisp.org>
56547
56548         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
56549         conditionally.
56550         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56551
56552 2008-06-22  Bruno Haible  <bruno@clisp.org>
56553
56554         * doc/posix-functions/siginterrupt.texi: Move note.
56555
56556         * lib/signal.in.h (SA_RESTART): New macro.
56557         * lib/sigaction.c: Update comment.
56558
56559         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
56560
56561         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
56562         (gl_PREREQ_SIGPROCMASK): Invoke it.
56563         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
56564
56565         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
56566
56567         * lib/sigprocmask.c: Update a comment.
56568
56569 2008-06-21  Eric Blake  <ebb9@byu.net>
56570
56571         Use sigaction module rather than signal().
56572         * modules/c-stack (Depends-on): Add sigaction.
56573         * modules/fatal-signal (Depends-on): Likewise.
56574         * modules/nanosleep (Depends-on): Likewise.
56575         * modules/sigprocmask (Files): Add sig-handler.h.
56576         * modules/sigaction (Files): Likewise.
56577         * lib/sig-handler.h (get_handler): New file, suggested by Paul
56578         Eggert.
56579         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
56580         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
56581         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
56582         (init_fatal_signals): Likewise.
56583         * lib/nanosleep.c (rpl_nanosleep): Likewise.
56584         (siginterrupt): Delete fallback.
56585         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
56586         instead.
56587         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
56588         siginterrupt.
56589
56590         New module sigaction, for mingw.
56591         * modules/sigaction: New module...
56592         * modules/sigaction-tests: ...and its test.
56593         * m4/sigaction.m4: New file.
56594         * lib/sigaction.c: Likewise.
56595         * tests/test-sigaction.c: Likewise.
56596         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
56597         * modules/signal (Makefile.am): Likewise.
56598         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
56599         needed.
56600         * doc/posix-headers/signal.texi (signal.h): Mention provided
56601         types.
56602         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
56603         that sigaction is preferable.
56604         * doc/posix-functions/sigaction.texi (sigaction): Mention new
56605         module.
56606         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56607         sigaction.
56608
56609         Improve robustness of sigprocmask by overriding signal.
56610         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
56611         is in use.
56612         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
56613         (SIGKILL, SIGSTOP): Provide fallbacks.
56614         (rpl_signal): Implement.
56615         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
56616         signal can be called inside handlers.
56617
56618         Fix nanosleep module on mingw.
56619         * modules/nanosleep (Depends-on): Add sys_select.
56620         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
56621
56622         Fix licensing of sigprocmask.
56623         * modules/raise (License): Relicense as LGPL.
56624
56625 2008-06-21  Bruno Haible  <bruno@clisp.org>
56626
56627         * lib/propername.c (proper_name_utf8): Don't use the transliterated
56628         result if it contains question marks.
56629         Reported by Michael Geng <linux@michaelgeng.de>.
56630
56631 2008-06-19  Bruno Haible  <bruno@clisp.org>
56632
56633         Fix CVS-ism.
56634         * doc/gnulib.texi: Include updated-stamp.texi.
56635         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
56636         (updated-stamp.texi): New rule.
56637         (gnulib.info): Depend on it.
56638         * doc/.gitignore: Add updated-stamp.texi.
56639         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
56640
56641 2008-06-19  Bruno Haible  <bruno@clisp.org>
56642
56643         * doc/Makefile (gnulib.info): Update and simplify dependencies.
56644         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56645
56646 2008-06-19  Eric Blake  <ebb9@byu.net>
56647
56648         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
56649         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
56650         Reported by Stepan Kasal.
56651
56652 2008-06-18  Bruno Haible  <bruno@clisp.org>
56653
56654         * lib/fatal-signal.c (init_fatal_signals): Add comment.
56655         Reported by Eric Blake.
56656
56657 2008-06-18  Eric Blake  <ebb9@byu.net>
56658
56659         Work around cygwin 1.5.25 strsignal bug.
56660         * tests/test-strsignal.c: Allow for const char *.
56661         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
56662
56663 2008-06-18  Simon Josefsson  <simon@josefsson.org>
56664
56665         * users.txt: Update URL to article and add author/date
56666         information.
56667
56668 2008-06-17  Bruno Haible  <bruno@clisp.org>
56669
56670         New macro gl_DISABLE_THREADS.
56671         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
56672         if the user did not pass --enable-threads or --disable-threads option.
56673         (gl_DISABLE_THREADS): New macro.
56674         Reported by Eric Blake <ebb9@byu.net>.
56675
56676 2008-06-17  Bruno Haible  <bruno@clisp.org>
56677
56678         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
56679         when the macro ignores it.
56680         Based on a patch by Eric Blake <ebb9@byu.net>.
56681
56682 2008-06-17  Bruno Haible  <bruno@clisp.org>
56683
56684         * modules/tls (License): Change to LGPLv2+.
56685         Reported by Eric Blake.
56686
56687 2008-06-17  Eric Blake  <ebb9@byu.net>
56688
56689         Simplify c-stack prerequisites.
56690         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
56691         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
56692         no longer requires <ucontext.h> to exist.  Optimize setrlimit
56693         check.
56694         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
56695         <sys/resource.h>.
56696
56697         Move c-stack test into testsuite.
56698         * modules/c-stack-tests: New file.
56699         * lib/c-stack.c [DEBUG]: Move test program...
56700         * tests/test-c-stack.c: ...into this new file.  Skip rather than
56701         fail test if sigaltstack is lacking.
56702         * tests/test-c-stack.sh: New driver file.
56703
56704 2008-06-16  Eric Blake  <ebb9@byu.net>
56705
56706         Use raise module consistently.
56707         * modules/fatal-signal (Depends-on): Add raise.
56708         * modules/sigprocmask (Depends-on): Likewise.
56709         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
56710         * lib/sigprocmask.c (sigprocmask): Likewise.
56711         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56712         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
56713
56714         Fix compliance bug in sigpending.
56715         * lib/sigprocmask.c (sigpending): Return pending array via
56716         parameter, not return value.
56717
56718 2008-06-14  Eric Blake  <ebb9@byu.net>
56719
56720         Improve obstack-printf test code.
56721         * tests/test-obstack-printf.c (test_function): Fix comment, and
56722         simplify usage of obstack_* in macros.  Add a test for coverage.
56723         Reported by Bruno Haible.
56724
56725 2008-06-14  Bruno Haible  <bruno@clisp.org>
56726
56727         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
56728         array size as a constant, not as a const variable.
56729         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
56730         AC_USE_SYSTEM_EXTENSIONS.
56731         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
56732         Test whether the obstack_printf function actually exists.
56733         * modules/obstack-printf (Depends-on): Add extensions.
56734         (Include): Remove obstack.h.
56735         * modules/obstack-printf-posix (Depends-on): Add extensions.
56736         (Include): Remove obstack.h.
56737
56738 2008-06-13  Eric Blake  <ebb9@byu.net>
56739
56740         Add obstack-printf and obstack-printf-posix modules.
56741         * modules/obstack-printf: New file.
56742         * modules/obstack-printf-posix: Likewise.
56743         * MODULES.html.sh (Misc): Mention them.
56744         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
56745         Likewise.
56746         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
56747         Likewise.
56748         * modules/stdio (Makefile.am): Accomodate new modules.
56749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56750         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
56751         Declare.
56752         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
56753         functions.
56754         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
56755         (gl_REPLACE_OBSTACK_PRINTF): New macros
56756         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
56757         * tests/test-obstack-printf.c: New file.
56758         * modules/obstack-printf-tests: Likewise.
56759         * modules/obstack-printf-posix-tests: Likewise.
56760
56761 2008-06-11  Bruno Haible  <bruno@clisp.org>
56762
56763         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
56764         * lib/open.c: Include errno.h.
56765         (open): Fail when attempting to write to a file that has a trailing
56766         slash.
56767         * tests/test-open.c (main): Test against trailing slash bug.
56768         * doc/posix-functions/open.texi: Mention the trailing slash bug.
56769
56770 2008-06-10  Bruno Haible  <bruno@clisp.org>
56771
56772         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
56773         for $? to work inside the trap command, with various /bin/sh-s.
56774         * tests/test-vc-list-files-cvs.sh: Likewise.
56775
56776 2008-06-10  Bruno Haible  <bruno@clisp.org>
56777
56778         * lib/acl-internal.h: Don't include gettext.h here.
56779         * lib/set-mode-acl.c: Include gettext.h here.
56780         * lib/copy-acl.c: Likewise.
56781
56782 2008-06-10  Bruno Haible  <bruno@clisp.org>
56783
56784         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
56785         * lib/wait-process.c (wait_subprocess): Likewise.
56786         * lib/execute.h (execute): Add termsigp argument.
56787         * lib/execute.c (execute): Likewise.
56788         * lib/csharpcomp.c (compile_csharp_using_pnet,
56789         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
56790         * lib/csharpexec.c (execute_csharp_using_pnet,
56791         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
56792         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
56793         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
56794         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
56795         is_jikes_present): Update.
56796         * lib/javaexec.c (execute_java_class): Update.
56797         * lib/javaversion.c (execute_and_read_line): Update.
56798         * NEWS: Document the changes.
56799         Reported by Eric Blake.
56800
56801 2008-06-10  Eric Blake  <ebb9@byu.net>
56802
56803         Add missing include.
56804         * tests/test-strstr.c (includes): Add <signal.h>.
56805         * tests/test-strcasestr.c (includes): Likewise.
56806         * tests/test-memmem.c (includes): Likewise.
56807
56808 2008-06-10  Bruno Haible  <bruno@clisp.org>
56809
56810         * lib/wait-process.c (wait_subprocess): Add an assertion.
56811
56812 2008-06-10  Bruno Haible  <bruno@clisp.org>
56813
56814         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
56815
56816 2008-06-10  Bruno Haible  <bruno@clisp.org>
56817
56818         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
56819         using alarm().
56820         * tests/test-strcasestr.c (main): Likewise.
56821         * tests/test-strstr.c (main): Likewise.
56822
56823 2008-06-09  Bruno Haible  <bruno@clisp.org>
56824
56825         Work around the Solaris 10 ACE ACLs ABI change.
56826         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
56827         declare if ACL_NO_TRIVIAL is present.
56828         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
56829         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
56830         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
56831         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
56832         define if ACL_NO_TRIVIAL is present.
56833         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
56834         and use the current ABI.
56835         (file_has_acl): Use same #if condition as elsewhere.
56836         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
56837         in use, and use the current ABI.
56838         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
56839         Reported by Jim Meyering.
56840
56841 2008-06-09  Eric Blake  <ebb9@byu.net>
56842
56843         Work around environments that (stupidly) ignore SIGALRM.
56844         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
56845         before using alarm().
56846         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56847         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56848         Reported by Ian Beckwith <ianb@erislabs.net>.
56849
56850         Produce autobuild blurb earlier in log.
56851         * modules/autobuild (configure.ac-early): Move AB_INIT here.
56852
56853 2008-06-09  Jim Meyering  <meyering@redhat.com>
56854         and Ondřej Vašík  <ovasik@redhat.com>
56855
56856         utimens.c: correct kernel bug work-around
56857         Ondřej Vašík found that the invalid return value of 280 indicates
56858         failure, not success, and the kernel bug we're trying to work
56859         around affects not just the utimensat call, but also the fallback
56860         futimens call.
56861         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
56862         not success.
56863         [HAVE_FUTIMENS]: Use the same work-around, here.
56864
56865 2008-06-09  Jim Meyering  <meyering@redhat.com>
56866
56867         add more guards around definition of ACE_-related code
56868         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
56869         ALLOW and ACE_OWNER are also defined.
56870
56871 2008-06-08  Bruno Haible  <bruno@clisp.org>
56872
56873         * lib/acl-internal.h: Add me as co-author.
56874         * lib/file-has-acl.c: Likewise.
56875         * lib/set-mode-acl.c: Likewise.
56876         * lib/copy-acl.c: Likewise.
56877
56878 2008-06-08  Bruno Haible  <bruno@clisp.org>
56879
56880         Add support for AIX ACLs.
56881         * lib/acl-internal.h (acl_nontrivial): New declaration.
56882         * lib/file-has-acl.c (acl_nontrivial): New function.
56883         (file_has_acl): Add implementation using AIX 4 ACL API.
56884         * lib/set-mode-acl.c (qset_acl): Likewise.
56885         * lib/copy-acl.c (qcopy_acl): Likewise.
56886
56887 2008-06-08  Bruno Haible  <bruno@clisp.org>
56888
56889         Add support for HP-UX ACLs.
56890         * lib/acl-internal.h (acl_nontrivial): New declaration.
56891         * lib/file-has-acl.c (acl_nontrivial): New function.
56892         (file_has_acl): Add implementation using HP-UX 11 ACL API.
56893         * lib/set-mode-acl.c (qset_acl): Likewise.
56894         * lib/copy-acl.c (qcopy_acl): Likewise.
56895
56896 2008-06-08  Bruno Haible  <bruno@clisp.org>
56897
56898         Add support for Cygwin ACLs.
56899         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
56900         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
56901         the chmod_or_fchmod call.
56902         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
56903
56904 2008-06-08  Bruno Haible  <bruno@clisp.org>
56905
56906         Fix bug with setuid modes in Solaris 10+ code.
56907         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
56908         succeeded, when the mode contains some special bits.
56909
56910 2008-06-08  Bruno Haible  <bruno@clisp.org>
56911
56912         Add support for Solaris 7..10 ACLs.
56913         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
56914         declarations.
56915         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
56916         functions.
56917         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
56918         * lib/set-mode-acl.c (qset_acl): Likewise.
56919         * lib/copy-acl.c (qcopy_acl): Likewise.
56920
56921 2008-06-08  Bruno Haible  <bruno@clisp.org>
56922
56923         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
56924         declaration.
56925         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
56926         (acl_access_nontrivial): Remove MacOS X case.
56927         (file_has_acl): Use acl_extended_nontrivial.
56928         * lib/copy-acl.c (qcopy_acl): Likewise.
56929
56930 2008-06-08  Bruno Haible  <bruno@clisp.org>
56931
56932         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
56933
56934 2008-06-08  Jim Meyering  <meyering@redhat.com>
56935
56936         * modules/acl (Maintainer): Add Bruno Haible.
56937
56938 2008-06-07  Bruno Haible  <bruno@clisp.org>
56939
56940         Improve support for Tru64 ACLs.
56941         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
56942         ACL on OSF/1.
56943
56944 2008-06-07  Bruno Haible  <bruno@clisp.org>
56945
56946         Add support for MacOS X ACLs.
56947         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
56948         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
56949         * lib/set-mode-acl.c (qset_acl): Likewise.
56950         * lib/copy-acl.c (qcopy_acl): Likewise.
56951
56952 2008-06-07  Bruno Haible  <bruno@clisp.org>
56953
56954         Fix memory leak introduced on 2008-05-22.
56955         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
56956         use.
56957
56958 2008-06-07  Bruno Haible  <bruno@clisp.org>
56959
56960         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
56961         to construct an empty ACL.
56962
56963 2008-06-07  Bruno Haible  <bruno@clisp.org>
56964
56965         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
56966         precisely.
56967         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
56968
56969 2008-06-07  Bruno Haible  <bruno@clisp.org>
56970
56971         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
56972         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
56973
56974 2008-06-07  Bruno Haible  <bruno@clisp.org>
56975
56976         * doc/posix-functions/_setjmp.texi: Explain the use of this function
56977         regardless of POSIX.
56978         * doc/posix-functions/_longjmp.texi: Likewise.
56979         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
56980         SystemV platform in this case.
56981
56982 2008-06-06  Eric Blake  <ebb9@byu.net>
56983
56984         Document abort() bugs.
56985         * doc/posix-functions/abort.texi (abort): Mention anomalies.
56986
56987         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
56988         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
56989         sigsetjmp.
56990         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
56991         siglongjmp, but only as a macro.
56992         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
56993         is obsolete.
56994         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
56995
56996         Tweak documentation to cover cygwin argz bugs.
56997         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
56998         argz bug fix; no code change needed since no cygwin releases
56999         occurred between the last fix and the bug being tested.
57000         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
57001         module and recently fixed cygwin bugs.
57002         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
57003         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
57004         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
57005         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
57006         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
57007         Likewise.
57008         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
57009         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
57010         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
57011         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
57012         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
57013         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
57014         Likewise.
57015
57016         Avoid gcc warning on cygwin.
57017         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
57018         !ACL_NO_TRIVIAL]: Avoid unused variable.
57019
57020 2008-06-05  Eric Blake  <ebb9@byu.net>
57021
57022         Be tolerant of UNKNOWN version in gnulib-tool test dir.
57023         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
57024         git-version-gen fails to come up with a version.
57025         Reported by Simon Josefsson.
57026
57027 2008-06-05  Jim Meyering  <meyering@redhat.com>
57028             Paul Eggert  <eggert@cs.ucla.edu>
57029
57030         utimens.c: work around a probable Linux kernel bug
57031         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
57032         appears to be a kernel bug that causes utimensat to return 280
57033         instead of 0, indicating success.
57034
57035 2008-06-04  Bruno Haible  <bruno@clisp.org>
57036
57037         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
57038         2008-06-01 commit.
57039
57040 2008-06-04  Bruno Haible  <bruno@clisp.org>
57041
57042         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
57043         * lib/file-has-acl.c (acl_access_nontrivial): New function.
57044         (file_has_acl): Use it. Save errno afterwards.
57045         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
57046
57047 2008-06-03  Bruno Haible  <bruno@clisp.org>
57048
57049         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
57050         draft code. Simplify #ifs.
57051         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
57052         Put Solaris code after POSIX-draft code. Fix comments regarding
57053         Solaris 10, HP-UX. Mention Cygwin.
57054         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
57055
57056 2008-06-03  Eric Blake  <ebb9@byu.net>
57057
57058         Provide fallback for older kernels.
57059         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
57060         Provide runtime fallback if kernel lacks support.
57061         Reported by Mike Frysinger.
57062
57063 2008-06-02  Bruno Haible  <bruno@clisp.org>
57064
57065         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
57066         it exists.
57067
57068 2008-06-02  Bruno Haible  <bruno@clisp.org>
57069
57070         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
57071         * lib/copy-acl.c (qcopy_acl): Update comment.
57072
57073 2008-06-02  Bruno Haible  <bruno@clisp.org>
57074
57075         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
57076         like ACL APIs.
57077
57078 2008-06-02  Bruno Haible  <bruno@clisp.org>
57079
57080         * tests/test-file-has-acl.sh: Use different code for Cygwin.
57081         * tests/test-set-mode-acl.sh: Likewise.
57082         * tests/test-copy-acl.sh: Likewise.
57083         * tests/test-copy-file.sh: Likewise.
57084
57085 2008-06-02  Bruno Haible  <bruno@clisp.org>
57086
57087         * tests/test-file-has-acl.sh: Remove unused code.
57088
57089 2008-06-01  Bruno Haible  <bruno@clisp.org>
57090
57091         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
57092         (copy_acl): Just a wrapper around qcopy_acl that emits the error
57093         messages.
57094         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
57095
57096 2008-06-01  Bruno Haible  <bruno@clisp.org>
57097
57098         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
57099         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
57100         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
57101         APIs.
57102         * modules/acl-tests (configure.ac): Remove tests now contained in
57103         m4/acl.m4.
57104
57105 2008-06-02  Jim Meyering  <meyering@redhat.com>
57106
57107         announce-gen: use a better key-server host name
57108         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
57109         it may be more consistently reliable.  Suggested by Werner Koch
57110         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
57111
57112 2008-06-01  Bruno Haible  <bruno@clisp.org>
57113
57114         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
57115         Reported by Voroskoi Andras <voroskoi@gmail.com>.
57116
57117 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
57118
57119         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
57120
57121 2008-06-01  Bruno Haible  <bruno@clisp.org>
57122
57123         New ACL tests.
57124         * tests/test-file-has-acl.sh: New file.
57125         * tests/test-file-has-acl.c: New file.
57126         * tests/test-set-mode-acl.sh: New file.
57127         * tests/test-set-mode-acl.c: New file.
57128         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
57129         * tests/test-copy-acl.c: New file.
57130         * modules/acl-tests: New file, based on modules/copy-file-tests.
57131         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
57132         (Depends-on): Add acl-tests.
57133         (configure.ac): Remove checks.
57134         (Makefile.am): Don't create test-sameacls program here any more.
57135
57136 2008-06-01  Bruno Haible  <bruno@clisp.org>
57137
57138         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
57139         * tests/test-sameacls.c: Include progname.h.
57140         (main): Invoke set_program_name. Portability fixes for MacOS X,
57141         Solaris, HP-UX.
57142
57143 2008-06-01  Bruno Haible  <bruno@clisp.org>
57144
57145         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
57146         function.
57147         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
57148
57149 2008-06-01  Bruno Haible  <bruno@clisp.org>
57150
57151         * modules/rpmatch (Depends-on): Add strdup.
57152
57153 2008-06-01  Bruno Haible  <bruno@clisp.org>
57154
57155         * lib/pipe.c: Include unistd-safer.h.
57156         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
57157         * modules/pipe (Depends-on): Add unistd-safer.
57158
57159 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57160
57161         * modules/autobuild (configure.ac): Call AB_INIT.
57162
57163 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57164
57165         * tests/test-getaddrinfo.c: Don't print debug messages by default.
57166         Suggested by Bruno Haible <bruno@clisp.org>.
57167
57168 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57169
57170         * tests/test-base64.c: Cast size_t to unsigned long when invoking
57171         printf.  Use %lu instead of %d.  Reported by Bruno Haible
57172         <bruno@clisp.org>.
57173
57174 2008-05-29  Eric Blake  <ebb9@byu.net>
57175
57176         Prefer new POSIX 200x interfaces over futimesat.
57177         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
57178         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
57179         when available.
57180         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
57181
57182 2008-05-28  Bruno Haible  <bruno@clisp.org>
57183
57184         * modules/stpcpy (License): Change to LGPLv2+.
57185         Requested by David Lutterkort <dlutter@redhat.com>.
57186
57187 2008-05-27  Bruno Haible  <bruno@clisp.org>
57188
57189         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
57190         current mingw.
57191         Reported by Jose E. Marchesi <jemarch@gnu.org>.
57192
57193 2008-05-27  Bruno Haible  <bruno@clisp.org>
57194
57195         * modules/iconv_open (Link): New section, from module 'iconv'.
57196         * modules/striconv (Link): Likewise.
57197         * modules/striconveh (Link): Likewise.
57198         * modules/xstriconv (Link): Likewise.
57199         * modules/unicodeio (Link): Likewise.
57200         * modules/propername (Link): Likewise.
57201         Reported by Jim Meyering.
57202
57203 2008-05-26  Jim Meyering  <meyering@redhat.com>
57204
57205         sha256: do not artificially restrict buffer length to be < 2^32
57206         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
57207         uint32_t to size_t.
57208         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
57209         to match.
57210
57211         avoid unaligned access errors, e.g., on sparc
57212         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
57213         direct access through a possibly-unaligned uint64* pointer.
57214         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
57215         direct access through a possibly-unaligned uint32* pointer.
57216         Prompted by this patch from Tom "spot" Callaway:
57217         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
57218
57219         sha512.c: fix typo in comment
57220         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
57221
57222 2008-05-25  Bruno Haible  <bruno@clisp.org>
57223
57224         * lib/set-mode-acl.c: Renamed from lib/acl.c.
57225         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
57226         (Makefile.am): Update lib_SOURCES.
57227
57228 2008-05-25  Bruno Haible  <bruno@clisp.org>
57229
57230         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
57231
57232 2008-05-25  Jim Meyering  <meyering@redhat.com>
57233
57234         useless-if-before-free: freed expr may have white-space differences
57235         * build-aux/useless-if-before-free: Recognize cases in which the
57236         freed expression differs from the tested one in embedded white
57237         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
57238         $1 was used, so we can't make any regexp shy.  Improved tests now
57239         detect this.
57240
57241         useless-if-before-free: accept white space in the expression.
57242         * build-aux/useless-if-before-free: For now, any white space
57243         in the expression must be identical in the free argument.
57244
57245         useless-if-before-free: efficiency tweak
57246         * build-aux/useless-if-before-free: Make the expression-matching
57247         regexp "shy".
57248         Make the *outer* regexp shy, not the expr-matching one.
57249
57250         update code-in-comment to accept cast of free arg
57251         * build-aux/useless-if-before-free: Update regexp.
57252
57253 2008-05-25  Bruno Haible  <bruno@clisp.org>
57254
57255         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
57256         * modules/copy-file-tests (Files, Makefile.am): Update.
57257         * tests/test-copy-file.c (func_test_copy): Update.
57258
57259 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
57260
57261         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
57262
57263 2008-05-23  Bruno Haible  <bruno@clisp.org>
57264
57265         Improve support for ACLs on OSF/1.
57266         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
57267         Remove fallback for unknown flavors of ACLs.
57268
57269 2008-05-22  Bruno Haible  <bruno@clisp.org>
57270
57271         Add support for ACLs on OSF/1.
57272         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
57273         replacements.
57274         (acl_free_text): New macro fallback.
57275         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
57276         acl_free.
57277         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
57278         acl_free_text function. Require AC_C_INLINE.
57279
57280 2008-05-22  Bruno Haible  <bruno@clisp.org>
57281
57282         Make copy_acl work on MacOS X 10.5.
57283         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
57284         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
57285         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
57286         If MODE_INSIDE_ACL, don't assume that every system has the same text
57287         representation for ACLs as FreeBSD.
57288         * lib/copy-acl.c (copy_acl): Add support for platforms with
57289         !MODE_INSIDE_ACL.
57290         * lib/file-has-acl.c (file_has_acl): Likewise.
57291         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
57292         FreeBSD, MacOS X, or IRIX, respectively.
57293
57294 2008-05-22  Bruno Haible  <bruno@clisp.org>
57295
57296         * lib/acl.h: Don't include <sys/acl.h>.
57297         (GETACLCNT): Move fallback to lib/acl-internal.h.
57298         * lib/acl-internal.h: Include <sys/acl.h> here.
57299         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
57300
57301 2008-05-22  Bruno Haible  <bruno@clisp.org>
57302
57303         Split off copy_acl function to separate file.
57304         * lib/copy-acl.c: New file, extracted from lib/acl.c.
57305         * lib/acl.c (copy_acl): Moved function to separate file.
57306         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
57307         * modules/acl (Files): Add lib/copy-acl.c.
57308         (Makefiles.am): Augment lib_SOURCES.
57309
57310 2008-05-22  Bruno Haible  <bruno@clisp.org>
57311
57312         * modules/copy-file-tests: New file.
57313         * tests/test-copy-file.sh: New file.
57314         * tests/test-copy-file.c: New file.
57315         * tests/test-copy-file-sameacls.c: New file.
57316
57317 2008-05-22  Eric Blake  <ebb9@byu.net>
57318
57319         Avoid gcc warning.
57320         * tests/test-memcmp.c (main): Pass NULL indirectly.
57321
57322 2008-05-21  Bruno Haible  <bruno@clisp.org>
57323
57324         Add reference doc about ACLs.
57325         * doc/acl-resources.txt: New file.
57326         * doc/acl-cygwin.txt: New file.
57327
57328 2008-05-21  Bruno Haible  <bruno@clisp.org>
57329
57330         Avoid one more warning from gcc.
57331         * lib/vasnprintf.c (IF_LINT): Update comments.
57332         (VASNPRINTF): Use it also for the 'prefix' array initializer.
57333
57334 2008-05-21  Jim Meyering  <meyering@redhat.com>
57335
57336         avoid a warning from gcc
57337         * lib/vasnprintf.c (IF_LINT): Define.
57338         (scale10_round_decimal_long_double):
57339         Use it to avoid a "may be used uninitialized" warning.
57340         (scale10_round_decimal_double): Likewise.
57341
57342 2008-05-21  Simon Josefsson  <simon@josefsson.org>
57343
57344         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
57345         declared.
57346
57347 2008-05-20  Bruno Haible  <bruno@clisp.org>
57348
57349         * tests/test-memcmp.c (main): Test also the sign of the result. Test
57350         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
57351
57352 2008-05-20  Simon Josefsson  <simon@josefsson.org>
57353
57354         * modules/memcmp-tests: New file.
57355         * tests/test-memcmp.c: New file.
57356
57357 2008-05-19  Bruno Haible  <bruno@clisp.org>
57358
57359         * modules/propername (Notice, configure.ac): Put quoted "..." into
57360         --keyword option.
57361         * lib/propername.h: Update comments accordingly.
57362         Reported by Eric Blake.
57363
57364 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
57365
57366         * modules/getpass-gnu (Depends-on): Add fseeko.
57367
57368 2008-05-19  Simon Josefsson  <simon@josefsson.org>
57369
57370         * modules/base64-tests: New file.
57371
57372 2008-05-19  Bo Borgerson <gigabo@gmail.com>
57373
57374         * lib/base64.c (base64_decode_ctx): If a decode context structure
57375         was passed in use it to ignore newlines.  If a context structure
57376         was _not_ passed in, continue to treat newlines as garbage (this
57377         is the historical behavior).  Formerly base64_decode.
57378         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
57379         takes a decode context structure.
57380         * lib/base64.h (base64_decode): Macro for four-argument calls.
57381         (base64_decode_alloc): Likewise.
57382         * lib/base64.c (base64_decode_ctx): If a decode context structure
57383         was passed in use it to ignore newlines.  If a context structure
57384         was _not_ passed in, continue to treat newlines as garbage (this
57385         is the historical behavior).  Formerly base64_decode.
57386         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
57387         takes a decode context structure.
57388         * lib/base64.h (base64_decode): Macro for four-argument calls.
57389         (base64_decode_alloc): Likewise.
57390
57391 2008-05-19  Jim Meyering  <meyering@redhat.com>
57392
57393         avoid a warning from gcc
57394         * lib/trim.c (IF_LINT): Define.
57395         (trim2): Use it to avoid a "may be used uninitialized" warning.
57396
57397         Fix doc typo.
57398         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
57399
57400 2008-05-19  Bruno Haible  <bruno@clisp.org>
57401
57402         * doc/glibc-functions/getpass.texi: Document limits of other
57403         implementations.
57404
57405 2008-05-19  Simon Josefsson  <simon@josefsson.org>
57406             Bruno Haible <bruno@clisp.org>
57407
57408         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
57409
57410 2008-05-18  Bruno Haible  <bruno@clisp.org>
57411
57412         * modules/propername: New file, from GNU gettext.
57413         * lib/propername.h: New file, from GNU gettext.
57414         * lib/propername.c: New file, from GNU gettext.
57415         * MODULES.html.sh (Internationalization functions): Add propername.
57416
57417 2008-05-16  Jim Meyering  <meyering@redhat.com>
57418             Bruno Haible  <bruno@clisp.org>
57419
57420         Avoid some warnings from "gcc -Wshadow".
57421         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
57422
57423 2008-05-15  Eric Blake  <ebb9@byu.net>
57424
57425         Extend previous patch to cygwin 1.7.0.
57426         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
57427         fast implementation in cygwin >= 1.7.0.
57428         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57429         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57430
57431 2008-05-15  Bruno Haible  <bruno@clisp.org>
57432
57433         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
57434         implementation in glibc >= 2.9.
57435         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57436         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57437
57438 2008-05-15  Bruno Haible  <bruno@clisp.org>
57439
57440         * MODULES.html.sh (Internationalization functions): Remove linebreak.
57441         (Unicode string functions): Add unilbrk/*.
57442         Reported by Karl Berry.
57443
57444 2008-05-15  Eric Blake  <ebb9@byu.net>
57445
57446         Fix violation of <stdbool.h> replacement in regex.
57447         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
57448         * lib/regexec.c (re_search_internal): Likewise.
57449         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
57450
57451 2008-05-15  Jim Meyering  <meyering@redhat.com>
57452
57453         avoid distracting test output when git or cvs is not found
57454         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
57455         * tests/test-vc-list-files-git.sh: Likewise.
57456
57457 2008-05-15  Eric Blake  <ebb9@byu.net>
57458
57459         Glibc finally accepted the memmem speedup code, bugzilla #5514.
57460         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
57461         glibc version.
57462         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
57463         * doc/posix-functions/strstr.texi (strstr): Likewise.
57464         * lib/str-two-way.h (MAX): Sychronize with glibc.
57465
57466 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
57467
57468         * lib/regcomp.c (optimize_utf8): Add a note on why we test
57469         opr.ctx_type.
57470         (calc_first): Initialize constraint field.
57471         (duplicate_node_closure): Use it instead of special casing ANCHORS.
57472         Fix grammar.
57473         (duplicate_node): Merge constraint field for all node types.
57474         (calc_eclosure_iter): Look at constraint field for all node types.
57475         * lib/regex_internal.c (create_cd_newstate): Don't look at
57476         opr.ctx_type.
57477
57478 2008-05-14  Bruno Haible  <bruno@clisp.org>
57479
57480         Help GCC to do better code generation.
57481         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
57482         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
57483         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
57484         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
57485         Declare with attribute 'malloc' if supported.
57486
57487 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
57488
57489         use "echo STR|wc -c" rather than unportable "expr length STR"
57490         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
57491         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
57492
57493 2008-05-14  Jim Meyering  <meyering@redhat.com>
57494
57495         use dd ibs=$n count=1 ... rather than less-portable head -c$n
57496         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
57497         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
57498         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
57499         via Collin Lasse.
57500
57501 2008-05-14  Eric Blake  <ebb9@byu.net>
57502
57503         Avoid quadratic growth in gl_LIBSOURCES.
57504         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
57505         Suggested by Bruno Haible.
57506
57507         Test xmemdup0.
57508         * modules/xmemdup0-tests: New file.
57509         * tests/test-xmemdup0.c: Likewise.
57510
57511 2008-05-13  Eric Blake  <ebb9@byu.net>
57512
57513         Split xmemdup0 into its own module.
57514         * modules/xmemdup0: New file.
57515         * lib/xmemdup0.h: Likewise.
57516         * lib/xmemdup0.c: Likewise.
57517         * MODULES.html.sh (Memory management functions): Add xmemdup0.
57518         * lib/xalloc.h (xmemdup0): Remove.
57519         * lib/xmalloc.c (xmemdup0): Likewise.
57520
57521 2008-05-13  Eric Blake  <ebb9@byu.net>
57522             Bruno Haible  <bruno@clisp.org>
57523
57524         Reduce number of forks required during autoconf.
57525         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
57526         and gl_LIBSOURCES_DIR.
57527         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
57528         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
57529         m4_syscmd per file.
57530         <m4_foreach_w>: Move...
57531         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
57532
57533 2008-05-13  Eric Blake  <ebb9@byu.net>
57534
57535         * gnulib-tool: Fix various comment typos.
57536
57537 2008-05-12  Bruno Haible  <bruno@clisp.org>
57538
57539         Tailor the linebreaking algorithm.
57540         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
57541
57542 2008-05-12  Bruno Haible  <bruno@clisp.org>
57543
57544         Update to Unicode 5.0.0.
57545         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
57546         LBP_JV, LBP_JT. Redistribute values.
57547         (unilbrk_table): Change size.
57548         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
57549         Unicode TR#14 rev. 22.
57550         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
57551         LBP_JV, LBP_JT. Redistribute values.
57552         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
57553         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
57554         Update.
57555         * lib/unilbrk/lbrkprop1.h: Regenerated.
57556         * lib/unilbrk/lbrkprop2.h: Regenerated.
57557         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
57558         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
57559         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
57560         Likewise.
57561         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
57562         Likewise.
57563         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
57564         result.
57565         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
57566         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
57567         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
57568         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
57569         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
57570         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
57571
57572 2008-05-11  Bruno Haible  <bruno@clisp.org>
57573
57574         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
57575
57576 2008-05-11  Bruno Haible  <bruno@clisp.org>
57577
57578         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
57579         * modules/unilbrk/gen-lbrk: New file.
57580
57581 2008-05-11  Bruno Haible  <bruno@clisp.org>
57582
57583         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
57584         * m4/sha512.m4 (gl_SHA512): Likewise.
57585
57586 2008-05-11  Jim Meyering  <meyering@redhat.com>
57587
57588         New modules: crypto/sha256, crypto/sha512 (from coreutils)
57589         * modules/crypto/sha256: New file.
57590         * modules/crypto/sha512: Likewise.
57591         * lib/sha256.c: Likewise.
57592         * lib/sha256.h: Likewise.
57593         * lib/sha512.c: Likewise.
57594         * lib/sha512.h: Likewise.
57595         * lib/u64.h: Likewise.
57596         * m4/sha256.m4: Likewise.
57597         * m4/sha512.m4: Likewise.
57598         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
57599
57600 2008-05-10  Bruno Haible  <bruno@clisp.org>
57601
57602         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
57603         (Input/Output <stdio.h>): Add xprintf.
57604         (Signal handling <signal.h>): Add strsignal.
57605         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
57606         (Core language properties): Add func.
57607         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
57608         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
57609         strings.
57610         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
57611         (Input/output): New section.
57612         (File system functions): Add openat-die, stat-macros.
57613         (Networking functions): Add sockets.
57614         (Unicode string functions): Add unictype/*.
57615         (Support for building libraries and executables): Add gperf.
57616         (Support for building documentation): Add agpl-3.0.
57617         (Misc): Add nocrash.
57618
57619 2008-05-10  Bruno Haible  <bruno@clisp.org>
57620
57621         * modules/unictype/gen-ctype: New file.
57622
57623 2008-05-10  Jim Meyering  <meyering@redhat.com>
57624
57625         Make chdir-safer.c more efficient on a system with no symlinks.
57626         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
57627         also if ELOOP is zero.  Suggested by Bruno Haible.
57628
57629         Make chdir-safer.c slightly safer.
57630         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
57631         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
57632
57633         Avoid compile failure on systems without ELOOP (like mingw).
57634         * lib/chdir-safer.c (ELOOP): Define if not already defined.
57635         Reported by Bruno Haible.
57636
57637 2008-05-10  Bruno Haible  <bruno@clisp.org>
57638
57639         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
57640         (is_utf8_encoding): Use a case-insensitive comparison.
57641         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
57642         streq.
57643
57644 2008-05-10  Bruno Haible  <bruno@clisp.org>
57645
57646         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
57647         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
57648         * lib/unilbrk/ulc-common.h (iconv_string_length,
57649         iconv_string_keeping_offsets): Remove declarations.
57650         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
57651         Don't include <iconv.h>, streq.h, xsize.h.
57652         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
57653         conversion.
57654         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
57655         <iconv.h>, streq.h, xsize.h.
57656         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
57657         conversion.
57658         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
57659         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
57660         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
57661         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
57662
57663 2008-05-10  Bruno Haible  <bruno@clisp.org>
57664
57665         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
57666         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
57667
57668         * modules/unilbrk/u32-width-linebreaks-tests: New file.
57669         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
57670
57671         * modules/unilbrk/u16-width-linebreaks-tests: New file.
57672         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
57673
57674         * modules/unilbrk/u8-width-linebreaks-tests: New file.
57675         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
57676
57677         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
57678         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
57679
57680         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
57681         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
57682
57683         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
57684         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
57685
57686         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
57687         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
57688
57689 2008-05-10  Bruno Haible  <bruno@clisp.org>
57690
57691         Split up 'linebreak' module.
57692         * lib/unilbrk.h: New file, based on lib/linebreak.h.
57693         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
57694         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
57695         modifications.
57696         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
57697         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
57698         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
57699         lib/linebreak.c.
57700         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
57701         lib/linebreak.c.
57702         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
57703         lib/linebreak.c.
57704         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
57705         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
57706         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
57707         lib/linebreak.c.
57708         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
57709         lib/linebreak.c.
57710         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
57711         lib/linebreak.c.
57712         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
57713         lib/linebreak.c.
57714         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
57715         lib/linebreak.c.
57716         * modules/unilbrk/base: New file.
57717         * modules/unilbrk/tables: New file.
57718         * modules/unilbrk/u8-possible-linebreaks: New file.
57719         * modules/unilbrk/u16-possible-linebreaks: New file.
57720         * modules/unilbrk/u32-possible-linebreaks: New file.
57721         * modules/unilbrk/ulc-common: New file.
57722         * modules/unilbrk/ulc-possible-linebreaks: New file.
57723         * modules/unilbrk/u8-width-linebreaks: New file.
57724         * modules/unilbrk/u16-width-linebreaks: New file.
57725         * modules/unilbrk/u32-width-linebreaks: New file.
57726         * modules/unilbrk/ulc-width-linebreaks: New file.
57727         * lib/linebreak.h: Remove file.
57728         * lib/linebreak.c: Remove file.
57729         * m4/linebreak.m4: Remove file.
57730         * modules/linebreak: Remove file.
57731         * NEWS: Mention the changes.
57732
57733 2008-05-09  Eric Blake  <ebb9@byu.net>
57734
57735         Add xmemdup0.
57736         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
57737         implementation.
57738         * lib/xmalloc.c (xmemdup0): New C implementation.
57739
57740 2008-05-08  Bruno Haible  <bruno@clisp.org>
57741
57742         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
57743
57744 2008-05-07  Eric Blake  <ebb9@byu.net>
57745
57746         Support cross-compilation of <wctype.h>.
57747         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
57748         AC_CACHE_CHECK.
57749
57750 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
57751
57752         * build-aux/vc-list-files: Add support for bzr.
57753
57754 2008-05-03  Jim Meyering  <meyering@redhat.com>
57755
57756         avoid failed assertion with tight malloc
57757         * tests/test-getndelim2.c: Correct an off-by-one assertion.
57758
57759 2008-05-03  Simon Josefsson  <simon@josefsson.org>
57760
57761         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
57762         are needed from arpa/inet.h.
57763         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
57764         Reported by Bruno Haible.
57765
57766 2008-05-02  Jim Meyering  <meyering@redhat.com>
57767
57768         avoid compilation error on FreeBSD 6
57769         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
57770
57771 2008-05-01  Jim Meyering  <meyering@redhat.com>
57772
57773         useless-if-before-free: correct --help's exit status description
57774         * build-aux/useless-if-before-free (usage): Like grep, exit 0
57775         for one or more matches, etc.  Reported by Bruno Haible.
57776
57777         vc-list-files: make the stand-alone gnulib test work
57778         * modules/vc-list-files-tests (configure.ac):
57779         Define and AC_SUBST abs_aux_dir.
57780         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
57781         $(abs_top_srcdir) to each script and having each of them
57782         duplicate the work of setting PATH, set PATH here, using
57783         the new variable, abs_aux_dir instead.
57784         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
57785         * tests/test-vc-list-files-git.sh: Likewise.
57786         Reported by Bruno Haible.
57787
57788 2008-05-01  Bruno Haible  <bruno@clisp.org>
57789
57790         * lib/getndelim2.c (getndelim2): Fix newsize computation during
57791         reallocation. Rename 'done' to 'found_delimiter'.
57792
57793 2008-05-01  Jim Meyering  <meyering@redhat.com>
57794
57795         vc-list-files: accommodate /bin/sh like the one from Solaris 10
57796         * build-aux/vc-list-files: Use `...`, not $(...).
57797
57798 2008-04-30  Jim Meyering  <meyering@redhat.com>
57799
57800         add tests for vc-list-files
57801         * modules/vc-list-files-tests: New module.
57802         * tests/test-vc-list-files-cvs.sh: New file.
57803         * tests/test-vc-list-files-git.sh: New file.
57804
57805         avoid a warning from gcc
57806         * lib/getndelim2.c (IF_LINT): Define.
57807         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
57808
57809         vc-list-files: work properly with build-aux/cvsu, too
57810         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
57811         to all cvs-based clauses.
57812
57813         vc-list-files: work properly in the CVS+awk case, too
57814         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
57815
57816         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
57817         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
57818         take more than one file argument, so .  Add quotes, just in case $dir
57819         ever contains a shell meta-character.  Prompted by Soren Hansen in
57820         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
57821
57822 2008-04-29  Eric Blake  <ebb9@byu.net>
57823
57824         Optimize getndelim2 to use block operations when possible.
57825         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
57826         freadseek, and memchr2.
57827         * lib/getndelim2.c (getndelim2): Use them for block reads.
57828
57829 2008-04-29  Bruno Haible  <bruno@clisp.org>
57830
57831         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
57832         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57833         * modules/inet_ntop (Depends-on): Add extensions.
57834         * modules/inet_pton (Depends-on): Likewise.
57835         Reported by Simon Josefsson.
57836
57837 2008-04-29  Jim Meyering  <meyering@redhat.com>
57838
57839         When the is more than one match in a block, match all of them.
57840         * build-aux/useless-if-before-free: Iterate through each block
57841         until there are no more matches.
57842
57843         Fix broken useless-if-before-free script.
57844         * build-aux/useless-if-before-free: Fix typo: missing "?" after
57845         the expression to match cast of argument to free-like function.
57846
57847 2008-04-29  Eric Blake  <ebb9@byu.net>
57848
57849         Use new header.
57850         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
57851
57852 2008-04-29  Jim Meyering  <meyering@redhat.com>
57853
57854         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
57855         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
57856         by gnulib to exist and to declare e.g., inet_ntop.
57857         Don't include "inet_ntop.h", now removed.
57858
57859         * m4/arpa_inet_h.m4: Remove trailing blanks.
57860
57861 2008-04-29  Eric Blake  <ebb9@byu.net>
57862
57863         Silence valgrind on safe reads beyond potential array bounds.
57864         * lib/rawmemchr.valgrind: New file.
57865         * lib/strchrnul.valgrind: Likewise.
57866         * modules/rawmemchr (Files): Distribute new file.
57867         * modules/strchrnul (Files): Likewise.
57868         Suggested by Bruno Haible.
57869
57870 2008-04-29  Bruno Haible  <bruno@clisp.org>
57871
57872         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
57873         (inet_ntop, inet_pton): Change portability warning's wording.
57874         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
57875         Invoke gl_CHECK_NEXT_HEADERS.
57876         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
57877         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
57878         set ARPA_INET_H.
57879         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57880         * modules/arpa_inet (Description): No longer only for systems that
57881         lack it.
57882         (Depends-on): Add include_next.
57883         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
57884         HAVE_ARPA_INET_H.
57885
57886 2008-04-29  Jim Meyering  <meyering@redhat.com>
57887
57888         * modules/mkdir (License): Re-license as LGPLv2+.
57889
57890 2008-04-29  Bruno Haible  <bruno@clisp.org>
57891
57892         * modules/rawmemchr (Maintainer): Set to Eric.
57893         * modules/strchrnul (Maintainer): Likewise.
57894
57895 2008-04-29  Simon Josefsson  <simon@josefsson.org>
57896
57897         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
57898         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
57899
57900         * modules/arpa_inet (arpa/inet.h): Use them.
57901
57902 2008-04-28  Eric Blake  <ebb9@byu.net>
57903
57904         Test getndelim2.
57905         * modules/getndelim2-tests: New file.
57906         * tests/test-getndelim2.c: Likewise.
57907         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
57908         stream.
57909         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
57910
57911         * MODULES.html.sh: Document new module.
57912
57913 2008-04-20  Bruno Haible  <bruno@clisp.org>
57914
57915         * lib/c-stack.c (die): Use raise.
57916         * modules/c-stack (Depends-on): Add raise.
57917
57918 2008-04-28  Bruno Haible  <bruno@clisp.org>
57919
57920         Expect rpmatch to be declared.
57921         * lib/yesno.c (rpmatch): Remove declaration.
57922
57923         Declare rpmatch.
57924         * lib/stdlib.in.h (rpmatch): New declaration.
57925         * lib/rpmatch.c: Include <stdlib.h> first.
57926         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
57927         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
57928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
57929         HAVE_RPMATCH.
57930         * modules/rpmatch (Depends-on): Add stdlib, extensions.
57931         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57932         (Include): Set to <stdlib.h>.
57933         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
57934         HAVE_RPMATCH.
57935         * NEWS: Document the change.
57936
57937 2008-04-28  Bruno Haible  <bruno@clisp.org>
57938
57939         Change rpmatch to use nl_langinfo when appropriate.
57940         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
57941         (N_): New macro.
57942         (localized_pattern): New function/macro.
57943         (try): Remove match, nomatch arguments. Copy the pattern into safe
57944         memory before caching it.
57945         (rpmatch): Use localized_pattern. Add translator comments.
57946         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
57947         Suggested by Eric Blake.
57948         * modules/rpmatch (Depends-on): Add stdbool.
57949
57950 2008-04-28  Eric Blake  <ebb9@byu.net>
57951
57952         Add rawmemchr module, matching glibc.
57953         * modules/string (Makefile.am): New indicator.
57954         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
57955         * lib/string.in.h (rawmemchr): Declare when appropriate.
57956         * modules/rawmemchr: New file.
57957         * m4/rawmemchr.m4: Likewise.
57958         * lib/rawmemchr.c: Likewise.
57959         * modules/rawmemchr-tests: Likewise.
57960         * tests/test-rawmemchr.c: Likewise.
57961         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
57962         module.
57963         * modules/strchrnul (Depends-on): Add rawmemchr.
57964         * lib/strchrnul.c (strchrnul): Optimize a corner case.
57965
57966         Whitespace cleanup.
57967         * tests/test-strchrnul.c: Reindent.
57968         * lib/strchrnul.c: Likewise.
57969
57970         Optimize and test strchrnul.
57971         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
57972         * modules/strchrnul-tests: New file.
57973         * tests/test-strchrnul.c: Likewise.
57974
57975         Remove intprops dependency.
57976         * modules/memchr (Depends-on): Remove intprops.
57977         * modules/memrchr (Depends-on): Likewise.
57978         * modules/memchr2 (Depends-on): Likewise.
57979         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
57980         * lib/memrchr.c (__memrchr): Likewise.
57981         * lib/memrchr2.c (memchr2): Likewise.
57982         Reported by Simon Josefsson.
57983
57984 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57985
57986         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
57987         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57988
57989 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57990
57991         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
57992
57993         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
57994
57995         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
57996
57997         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
57998         declarations.
57999         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
58000
58001         * m4/inet_pton.m4: Don't check for header files.
58002
58003         * m4/inet_ntop.m4: Don't check for header files.
58004
58005 2008-04-28  Simon Josefsson  <simon@josefsson.org>
58006
58007         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
58008         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
58009         trigger for cygwin).
58010         Reported by Bruno Haible  <bruno@clisp.org>.
58011
58012 2008-04-28  Bruno Haible  <bruno@clisp.org>
58013
58014         * doc/posix-functions/strdup.texi: Mention mingw problem.
58015
58016 2008-04-27  Bruno Haible  <bruno@clisp.org>
58017
58018         * modules/stat-time-tests (Depends-on): Add sleep.
58019         * tests/test-stat-time.c (force_unlink): New function.
58020         (cleanup): Use it.
58021         (test_mtime): Remove the ctime related tests.
58022         (test_ctime): New function, containing the ctime related tests.
58023         (main): Call test_ctime, except on native Windows platforms.
58024
58025 2008-04-27  Bruno Haible  <bruno@clisp.org>
58026
58027         * lib/rpmatch.c (rpmatch): Add some comments.
58028         Reported by James Youngman <jay@gnu.org>.
58029
58030 2008-04-27  Bruno Haible  <bruno@clisp.org>
58031
58032         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
58033         quiet NaNs.
58034
58035 2008-04-27  Bruno Haible  <bruno@clisp.org>
58036
58037         Make test-yesno.sh work on mingw.
58038         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
58039         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
58040         (main): Set stdin to binary mode.
58041         * modules/yesno-tests (Depends-on): Add binary-io.
58042
58043 2008-04-27  Bruno Haible  <bruno@clisp.org>
58044
58045         Fix 'isfinite' on x86, x86_64, ia64 platforms.
58046         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
58047         argument that lie outside the IEEE 854 domain.
58048         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
58049         (gl_ISFINITE): Use it.
58050         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
58051
58052 2008-04-27  Bruno Haible  <bruno@clisp.org>
58053
58054         Allow local renaming in config.h.
58055         * lib/memrchr.c (memrchr): Don't undefine outside libc.
58056
58057 2008-04-27  Bruno Haible  <bruno@clisp.org>
58058
58059         * lib/memchr.c (__memchr): Change type of 'i'.
58060         * lib/memchr2.c (memchr2): Likewise.
58061
58062 2008-04-26  Eric Blake  <ebb9@byu.net>
58063         and Bruno Haible  <bruno@clisp.org>
58064
58065         Optimize and test memrchr.
58066         * modules/memrchr (Depends-on): Add intprops.
58067         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
58068         * modules/memrchr-tests: New file.
58069         * tests/test-memrchr.c: New file.
58070
58071 2008-04-26  Bruno Haible  <bruno@clisp.org>
58072
58073         Add tentative support for DragonFly BSD.
58074         * lib/stdio-impl.h: Add macros for DragonFly BSD.
58075         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
58076         fp.
58077         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
58078         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
58079         * lib/fpurge.c (fpurge): Likewise.
58080         * lib/freadable.c (freaadable): Likewise.
58081         * lib/freadahead.c (freadahead): Likewise.
58082         * lib/freading.c (freading): Likewise.
58083         * lib/freadptr.c (freadptr): Likewise.
58084         * lib/freadseek.c (freadptrinc): Likewise.
58085         * lib/fseeko.c (fseeko): Likewise.
58086         * lib/fseterr.c (fseterr): Likewise.
58087         * lib/fwritable.c (fwritable): Likewise.
58088         * lib/fwriting.c (fwriting): Likewise.
58089
58090 2008-04-26  Bruno Haible  <bruno@clisp.org>
58091
58092         * lib/stdio-impl.h: New file.
58093         * lib/fbufmode.c: Include stdio-impl.h.
58094         (fbufmode): Use fp_, remove redundant #defines.
58095         * lib/fflush.c: Include stdio-impl.h.
58096         (clear_ungetc_buffer): Remove redundant #defines.
58097         * lib/fpurge.c: Include stdio-impl.h.
58098         (fpurge): Remove redundant #defines.
58099         * lib/freadable.c: Include stdio-impl.h.
58100         (freadable): Remove redundant #defines.
58101         * lib/freadahead.c: Include stdio-impl.h.
58102         (freadahead): Remove redundant #defines.
58103         * lib/freading.c: Include stdio-impl.h.
58104         (freading): Remove redundant #defines.
58105         * lib/freadptr.c: Include stdio-impl.h.
58106         (freadptr): Remove redundant #defines.
58107         * lib/freadseek.c: Include stdio-impl.h.
58108         (freadptrinc): Remove redundant #defines.
58109         * lib/fseeko.c: Include stdio-impl.h.
58110         (rpl_fseeko): Remove redundant #defines.
58111         * lib/fseterr.c: Include stdio-impl.h.
58112         (fseterr): Remove redundant #defines.
58113         * lib/fwritable.c: Include stdio-impl.h.
58114         (fwritable: Remove redundant #defines.
58115         * lib/fwriting.c: Include stdio-impl.h.
58116         (fwriting): Remove redundant #defines.
58117         * modules/fbufmode (Files): Add lib/stdio-impl.h.
58118         * modules/fflush (Files): Likewise.
58119         * modules/fpurge (Files): Likewise.
58120         * modules/freadable (Files): Likewise.
58121         * modules/freadahead (Files): Likewise.
58122         * modules/freading (Files): Likewise.
58123         * modules/freadptr (Files): Likewise.
58124         * modules/freadseek (Files): Likewise.
58125         * modules/fseeko (Files): Likewise.
58126         * modules/fseterr (Files): Likewise.
58127         * modules/fwritable (Files): Likewise.
58128         * modules/fwriting (Files): Likewise.
58129
58130 2008-04-26  Bruno Haible  <bruno@clisp.org>
58131
58132         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
58133         restore_seek_optimization, update_fpos_cache): New functions, extracted
58134         from rpl_fflush.
58135         (rpl_fflush): Use them.
58136         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
58137         (gl_REPLACE_FFLUSH): Use it.
58138
58139 2008-04-26  Bruno Haible  <bruno@clisp.org>
58140
58141         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
58142         on Solaris.
58143         * tests/test-xstrtoimax.sh: Likewise.
58144         * tests/test-xstrtoumax.sh: Likewise.
58145         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58146
58147 2008-04-26  Bruno Haible  <bruno@clisp.org>
58148
58149         * modules/memchr-tests: New file.
58150         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
58151
58152 2008-04-26  Eric Blake  <ebb9@byu.net>
58153             Bruno Haible  <bruno@clisp.org>
58154
58155         * lib/memchr.c: Include intprops.h.
58156         (__memchr): Optimize parallel detection of matching bytes. Rename local
58157         variables. Add explanatory comments.
58158
58159 2008-04-26  Bruno Haible  <bruno@clisp.org>
58160
58161         Fix module 'memchr', broken since 2000-10-28.
58162         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
58163
58164 2008-04-26  Bruno Haible  <bruno@clisp.org>
58165
58166         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
58167         comments.
58168
58169 2008-04-25  Eric Blake  <ebb9@byu.net>
58170
58171         Use native fstatat on cygwin 1.7.0.
58172         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
58173         first.
58174
58175 2008-04-23  Eric Blake  <ebb9@byu.net>
58176
58177         Improve memchr2 performance.
58178         * lib/memchr2.c (memchr2): Further optimize parallel detection of
58179         NUL bytes.
58180         * modules/memchr2 (Depends-on): Use intprops.h.
58181
58182 2008-04-23  Simon Josefsson  <simon@josefsson.org>
58183
58184         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
58185         an inline function instead of a CPP macro.  Patch by Ben Pfaff
58186         <blp@cs.stanford.edu>.
58187
58188 2008-04-23  Simon Josefsson  <simon@josefsson.org>
58189
58190         * lib/arpa_inet.in.h: New file.
58191
58192         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
58193         (Makefile.am): Sed in substitute header file.
58194
58195         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
58196         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
58197
58198         * modules/inet_ntop (configure.ac): Use
58199         gl_ARPA_INET_MODULE_INDICATOR.
58200
58201         * modules/inet_pton (configure.ac): Use
58202         gl_ARPA_INET_MODULE_INDICATOR.
58203
58204 2008-04-22  Jim Meyering  <meyering@redhat.com>
58205
58206         * modules/verify (License): Re-license as LGPLv2+.
58207
58208 2008-04-22  Simon Josefsson  <simon@josefsson.org>
58209
58210         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
58211         parameter to void* as per POSIX standard (MinGW uses char*).
58212
58213 2008-04-21  Bruno Haible  <bruno@clisp.org>
58214
58215         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58216         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
58217         Define to replacements if REPLACE_ISWCNTRL is 1.
58218         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
58219         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
58220         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
58221         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
58222         what it fixes.
58223         * doc/posix-functions/iswalpha.texi: Likewise.
58224         * doc/posix-functions/iswblank.texi: Likewise.
58225         * doc/posix-functions/iswcntrl.texi: Likewise.
58226         * doc/posix-functions/iswdigit.texi: Likewise.
58227         * doc/posix-functions/iswgraph.texi: Likewise.
58228         * doc/posix-functions/iswlower.texi: Likewise.
58229         * doc/posix-functions/iswprint.texi: Likewise.
58230         * doc/posix-functions/iswpunct.texi: Likewise.
58231         * doc/posix-functions/iswspace.texi: Likewise.
58232         * doc/posix-functions/iswupper.texi: Likewise.
58233         * doc/posix-functions/iswxdigit.texi: Likewise.
58234         Reported by Alain Guibert.
58235
58236 2008-04-21  Bruno Haible  <bruno@clisp.org>
58237
58238         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
58239         Patch by Alain Guibert.
58240
58241 2008-04-21  Bruno Haible  <bruno@clisp.org>
58242
58243         Fix test failures on mingw.
58244         * tests/test-xstrtol.c (print_no_progname): New function.
58245         (main): Install it in error_print_progname hook.
58246         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
58247         * tests/test-xstrtoimax.sh: Likewise.
58248         * tests/test-xstrtoumax.sh: Likewise.
58249
58250 2008-04-21  Bruno Haible  <bruno@clisp.org>
58251
58252         Fix test failure on mingw.
58253         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
58254
58255 2008-04-21  Bruno Haible  <bruno@clisp.org>
58256
58257         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
58258         Actually assign a value.
58259
58260 2008-04-20  Bruno Haible  <bruno@clisp.org>
58261
58262         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
58263         take 2.
58264         * lib/canonicalize.c (canonicalize_file_name): Elide if the
58265         'canonicalize-lgpl' module is also used.
58266         * lib/canonicalize-lgpl.c: Undo last change.
58267         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
58268
58269 2008-04-20  Bruno Haible  <bruno@clisp.org>
58270
58271         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
58272         config.h. Provide _mkdir based fallback for mingw.
58273         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
58274         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
58275         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
58276         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
58277         rather than defining mkdir in config.h.
58278         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
58279         (gl_SYS_STAT_H_DEFAULTS): New macro.
58280         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
58281         HAVE_IO_H any more.
58282         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
58283         HAVE_DECL_MKDIR and HAVE_IO_H.
58284
58285 2008-04-20  Bruno Haible  <bruno@clisp.org>
58286
58287         * lib/isapipe.c: Port to native Windows platforms.
58288
58289 2008-04-20  Bruno Haible  <bruno@clisp.org>
58290
58291         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
58292
58293 2008-04-21  Eric Blake  <ebb9@byu.net>
58294
58295         Work around preprocessors that don't handle UINTMAX_MAX.
58296         * lib/memchr2.c (memchr2): Avoid embedded #if.
58297         Reported by Alain Guibert, fix suggested by Bruno Haible.
58298
58299 2008-04-21  Simon Josefsson  <simon@josefsson.org>
58300
58301         * doc/posix-functions/strftime.texi (strftime): Explain better
58302         Windows incompatibility.  Suggested by Micah Cowan
58303         <micah@cowan.name>.
58304
58305 2008-04-20  Bruno Haible  <bruno@clisp.org>
58306
58307         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
58308         unistr/u8-mblen.
58309
58310 2008-04-20  Bruno Haible  <bruno@clisp.org>
58311
58312         Fix test failure on platforms with non-GNU iconv.
58313         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
58314         (U_TO_U8): Use it, rather than u16_to_u8.
58315         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
58316         units at the end of the input string.
58317         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
58318
58319 2008-04-20  Bruno Haible  <bruno@clisp.org>
58320
58321         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
58322         when the resulting length is 0.
58323         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
58324
58325 2008-04-20  Bruno Haible  <bruno@clisp.org>
58326
58327         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
58328         works.
58329         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
58330
58331 2008-04-20  Bruno Haible  <bruno@clisp.org>
58332
58333         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
58334         * modules/tsearch-tests (configure.ac): Test for initstate function.
58335
58336 2008-04-20  Bruno Haible  <bruno@clisp.org>
58337
58338         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
58339         for nlink_t if missing.
58340         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
58341
58342 2008-04-19  Bruno Haible  <bruno@clisp.org>
58343
58344         Work around snprintf bug on Linux libc5.
58345         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
58346         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58347         gl_SNPRINTF_SIZE1.
58348         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58349         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
58350         that test failed.
58351         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
58352         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
58353         * modules/snprintf (Files): Add m4/printf.m4.
58354         * modules/vsnprintf (Files): Likewise.
58355         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
58356         * doc/posix-functions/vsnprintf.texi: Likewise.
58357
58358 2008-04-19  Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
58361         from 0.0058 to less than 10^-7.
58362
58363 2008-04-19  Bruno Haible  <bruno@clisp.org>
58364
58365         Fix rounding when a precision is given.
58366         * lib/vasnprintf.c (is_borderline): New function.
58367         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
58368         9...9x.
58369         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
58370         %e, %g.
58371         * tests/test-vasprintf-posix.c (test_function): Likewise.
58372         * tests/test-snprintf-posix.h (test_function): Likewise.
58373         * tests/test-sprintf-posix.h (test_function): Likewise.
58374         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
58375         * tests/test-printf-posix.h (test_function): Likewise.
58376         * tests/test-printf-posix.output: Update.
58377         Reported by John Darrington <john@darrington.wattle.id.au> via
58378         Ben Pfaff <blp@cs.stanford.edu>.
58379
58380 2008-04-18  Simon Josefsson  <simon@josefsson.org>
58381
58382         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
58383         Suggested by Bruno Haible <bruno@clisp.org>.
58384
58385 2008-04-17  Bruno Haible  <bruno@clisp.org>
58386
58387         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
58388         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
58389         implementation.
58390         Patch by Bruce Merry <bmerry@gmail.com>.
58391
58392 2008-04-17  Simon Josefsson  <simon@josefsson.org>
58393
58394         * doc/posix-functions/strftime.texi (strftime): Mention that %e
58395         doesn't work under Windows.
58396
58397 2008-04-16  Bruno Haible  <bruno@clisp.org>
58398
58399         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
58400         New macros.
58401         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
58402         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
58403         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
58404         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
58405         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
58406         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
58407         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
58408         macros.
58409         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
58410         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
58411         Northern Sotho, Uighur.
58412
58413 2008-04-16  Bruno Haible  <bruno@clisp.org>
58414
58415         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
58416         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
58417         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
58418         Reported by Daniel Bergström <daniel@octocode.com>.
58419
58420 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
58421             Bruno Haible  <bruno@clisp.org>
58422
58423         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
58424         function.
58425         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
58426         New functions, mostly extracted from gl_locale_name_default.
58427         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
58428
58429 2008-04-16  Eric Blake  <ebb9@byu.net>
58430
58431         Adjust strtod detection to catch glibc 2.7 bug.
58432         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
58433         Reported by John Gatewood Ham.
58434
58435 2008-04-16  Bruno Haible  <bruno@clisp.org>
58436
58437         Add tentative support for Linux libc5.
58438         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
58439         * lib/fpurge.c (fpurge): Likewise.
58440         * lib/freadable.c (freadable): Likewise.
58441         * lib/freadahead.c (freadahead): Likewise.
58442         * lib/freading.c (freading): Likewise.
58443         * lib/freadptr.c (freadptr): Likewise.
58444         * lib/freadseek.c (freadptrinc): Likewise.
58445         * lib/fseeko.c (rpl_fseeko): Likewise.
58446         * lib/fseterr.c (fseterr): Likewise.
58447         * lib/fwritable.c (fwritable): Likewise.
58448         * lib/fwriting.c (fwriting): Likewise.
58449         Reported by Alain Guibert <alguibert+bts@free.fr>.
58450
58451 2008-04-15  Bruno Haible  <bruno@clisp.org>
58452
58453         * modules/mathl (configure.ac): Define module indicator.
58454
58455 2008-04-15  Bruno Haible  <bruno@clisp.org>
58456
58457         * lib/logl.c (logl): Remove unused variables.
58458
58459 2008-04-15  Bruno Haible  <bruno@clisp.org>
58460
58461         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
58462         fails.
58463
58464 2008-04-15  Bruno Haible  <bruno@clisp.org>
58465
58466         * lib/trim.c (trim2): Fix argument of isspace() macro.
58467
58468 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
58469
58470         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
58471         to 0.
58472         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
58473
58474 2008-04-14  Bruno Haible  <bruno@clisp.org>
58475
58476         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
58477         AC_LANG_PROGRAM argument.
58478         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
58479         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
58480         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
58481         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
58482         * m4/math_h.m4 (gl_MATH_H): Likewise.
58483         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
58484         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58485         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
58486         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
58487         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
58488         * m4/regex.m4 (gl_REGEX): Likewise.
58489         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
58490         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
58491         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58492         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
58493         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
58494         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58495         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
58496         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
58497
58498 2008-04-14  Jim Meyering  <meyering@redhat.com>
58499
58500         test-strtod: fix typos: s/abs/fabs/
58501         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
58502
58503 2008-04-13  Bruno Haible  <bruno@clisp.org>
58504
58505         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
58506         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
58507         module is also used and while not building the reloc-wrapper.
58508
58509 2008-04-13  Bruno Haible  <bruno@clisp.org>
58510
58511         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
58512
58513 2008-04-13  Bruno Haible  <bruno@clisp.org>
58514
58515         Fix AIX compilation failure introduced on 2008-04-02.
58516         * tests/test-frexp.c (exp): Undefine before redefining.
58517         * tests/test-frexpl.c (exp): Likewise.
58518
58519 2008-04-13  Bruno Haible  <bruno@clisp.org>
58520
58521         Work around a HP-UX stdio bug.
58522         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
58523         * tests/test-ftello.c (main): Likewise.
58524         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
58525         * doc/posix-functions/ftello.texi: Likewise.
58526
58527 2008-04-13  Bruno Haible  <bruno@clisp.org>
58528
58529         Make test-signbit pass on HP-UX/hppa.
58530         * tests/test-signbit.c (minus_zerol): New variable.
58531         (test_signbitl): Use it.
58532
58533 2008-04-13  Bruno Haible  <bruno@clisp.org>
58534
58535         Make truncl work on OSF/1 4.0.
58536         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
58537         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
58538         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
58539         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
58540         HAVE_DECL_TRUNCL.
58541         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
58542         HAVE_DECL_TRUNCL.
58543         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
58544
58545 2008-04-13  Bruno Haible  <bruno@clisp.org>
58546
58547         * lib/unictype.h: Remove trailing comma from enumeration definitions.
58548
58549 2008-04-13  Bruno Haible  <bruno@clisp.org>
58550
58551         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
58552         expression, so as to avoid HP-UX 11 cc compiler bug.
58553
58554 2008-04-13  Bruno Haible  <bruno@clisp.org>
58555
58556         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
58557
58558 2008-04-13  Bruno Haible  <bruno@clisp.org>
58559
58560         * lib/git-merge-changelog.c: Remove empty declaration outside of
58561         functions.
58562
58563 2008-04-13  Bruno Haible  <bruno@clisp.org>
58564
58565         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
58566
58567 2008-04-13  Bruno Haible  <bruno@clisp.org>
58568
58569         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
58570         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
58571         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
58572         also if it exists but lacks definitions of the SHUT_* macros.
58573         * modules/sys_socket (Description): Update.
58574         Reported by Elbert Pol <e.pol@chello.nl>.
58575
58576 2008-04-13  Bruno Haible  <bruno@clisp.org>
58577
58578         * lib/localcharset.c (OS2): Don't redefine if already defined.
58579         Reported by Elbert Pol <e.pol@chello.nl>.
58580
58581 2008-04-13  Bruno Haible  <bruno@clisp.org>
58582
58583         * lib/binary-io.h [__EMX__]: Include <io.h>.
58584         Reported by Elbert Pol <e.pol@chello.nl>.
58585
58586 2008-04-12  Bruno Haible  <bruno@clisp.org>
58587
58588         * lib/fpucw.h: Enable the definitions also for x86_64.
58589         Needed for NetBSD/x86_64.
58590         Reported by Thomas Klausner <tk@giga.or.at>.
58591
58592 2008-04-12  Bruno Haible  <bruno@clisp.org>
58593
58594         * tests/test-strtod.c: Include isnand.h.
58595         (main): Use isnand instead of isnan.
58596         Reported by Jim Meyering.
58597
58598 2008-04-12  Bruno Haible  <bruno@clisp.org>
58599
58600         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
58601         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
58602
58603 2008-04-12  Jim Meyering  <meyering@redhat.com>
58604
58605         * m4/math_h.m4 (gl_MATH_H): Fix typos.
58606
58607 2008-04-12  Bruno Haible  <bruno@clisp.org>
58608
58609         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
58610         Reported by Elbert Pol <e.pol@chello.nl>.
58611
58612 2008-04-12  Eric Blake  <ebb9@byu.net>
58613
58614         Work around Solaris 10 math.h bug.
58615         * m4/math_h.m4 (gl_MATH_H): Check for bug.
58616         (gl_MATH_H_DEFAULTS): Set up default.
58617         * modules/math (Makefile.am): Replace new indicators.
58618         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
58619         * tests/test-math.c (main): Test this.
58620         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
58621         * doc/posix-headers/math.texi (math.h): Mention bug.
58622         Reported by Nelson H. F. Beebe and Jim Meyering.
58623
58624 2008-04-11  Bruno Haible  <bruno@clisp.org>
58625
58626         Adapt to future versions of Apple GCC.
58627         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
58628         Reported by Peter O'Gorman <peter@pogma.com>.
58629
58630 2008-04-11  Bruno Haible  <bruno@clisp.org>
58631
58632         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
58633
58634 2008-04-11  Bruno Haible  <bruno@clisp.org>
58635
58636         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
58637
58638         * modules/getaddrinfo-tests (Makefile.am): Define
58639         test_getaddrinfo_LDADD.
58640
58641 2008-04-11  Bruno Haible  <bruno@clisp.org>
58642
58643         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
58644         (init): Fix syntax error.
58645         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
58646         is declared.
58647
58648 2008-04-11  Bruno Haible  <bruno@clisp.org>
58649
58650         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
58651         * modules/glob (Depends-on): Add stdbool.
58652
58653 2008-04-11  Bruno Haible  <bruno@clisp.org>
58654
58655         * lib/trim.c: Include <string.h>.
58656
58657 2008-04-11  Eric Blake  <ebb9@byu.net>
58658
58659         Avoid compile failure on OS/2.
58660         * lib/regex_internal.h (internal_function): Disable optimization
58661         on OS/2 (__EMX__), where it caused compiler error.
58662         Reported by Elbert Pol.
58663
58664 2008-04-11  Bruno Haible  <bruno@clisp.org>
58665
58666         Flush the standard error stream before aborting. Needed on mingw.
58667         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
58668         * tests/test-array_list.c (ASSERT): Likewise.
58669         * tests/test-array_oset.c (ASSERT): Likewise.
58670         * tests/test-avltree_list.c (ASSERT): Likewise.
58671         * tests/test-avltree_oset.c (ASSERT): Likewise.
58672         * tests/test-avltreehash_list.c (ASSERT): Likewise.
58673         * tests/test-binary-io.c (ASSERT): Likewise.
58674         * tests/test-byteswap.c (ASSERT): Likewise.
58675         * tests/test-c-ctype.c (ASSERT): Likewise.
58676         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
58677         * tests/test-c-strcasestr.c (ASSERT): Likewise.
58678         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
58679         * tests/test-c-strstr.c (ASSERT): Likewise.
58680         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
58681         * tests/test-canonicalize.c (ASSERT): Likewise.
58682         * tests/test-carray_list.c (ASSERT): Likewise.
58683         * tests/test-ceilf1.c (ASSERT): Likewise.
58684         * tests/test-ceilf2.c (ASSERT): Likewise.
58685         * tests/test-ceill.c (ASSERT): Likewise.
58686         * tests/test-count-one-bits.c (ASSERT): Likewise.
58687         * tests/test-fbufmode.c (ASSERT): Likewise.
58688         * tests/test-fflush2.c (ASSERT): Likewise.
58689         * tests/test-floorf1.c (ASSERT): Likewise.
58690         * tests/test-floorf2.c (ASSERT): Likewise.
58691         * tests/test-floorl.c (ASSERT): Likewise.
58692         * tests/test-fopen.c (ASSERT): Likewise.
58693         * tests/test-fpending.c (ASSERT): Likewise.
58694         * tests/test-fprintf-posix.c (ASSERT): Likewise.
58695         * tests/test-fpurge.c (ASSERT): Likewise.
58696         * tests/test-freadable.c (ASSERT): Likewise.
58697         * tests/test-freadahead.c (ASSERT): Likewise.
58698         * tests/test-freading.c (ASSERT): Likewise.
58699         * tests/test-freadptr.c (ASSERT): Likewise.
58700         * tests/test-freadptr2.c (ASSERT): Likewise.
58701         * tests/test-freadseek.c (ASSERT): Likewise.
58702         * tests/test-freopen.c (ASSERT): Likewise.
58703         * tests/test-frexp.c (ASSERT): Likewise.
58704         * tests/test-frexpl.c (ASSERT): Likewise.
58705         * tests/test-fseek.c (ASSERT): Likewise.
58706         * tests/test-fseeko.c (ASSERT): Likewise.
58707         * tests/test-fstrcmp.c (ASSERT): Likewise.
58708         * tests/test-ftell.c (ASSERT): Likewise.
58709         * tests/test-ftello.c (ASSERT): Likewise.
58710         * tests/test-func.c (ASSERT): Likewise.
58711         * tests/test-fwritable.c (ASSERT): Likewise.
58712         * tests/test-fwriting.c (ASSERT): Likewise.
58713         * tests/test-getdelim.c (ASSERT): Likewise.
58714         * tests/test-getline.c (ASSERT): Likewise.
58715         * tests/test-i-ring.c (ASSERT): Likewise.
58716         * tests/test-iconv-utf.c (ASSERT): Likewise.
58717         * tests/test-iconv.c (ASSERT): Likewise.
58718         * tests/test-isfinite.c (ASSERT): Likewise.
58719         * tests/test-isnand.c (ASSERT): Likewise.
58720         * tests/test-isnanf.c (ASSERT): Likewise.
58721         * tests/test-isnanl.h (ASSERT): Likewise.
58722         * tests/test-ldexpl.c (ASSERT): Likewise.
58723         * tests/test-linked_list.c (ASSERT): Likewise.
58724         * tests/test-linkedhash_list.c (ASSERT): Likewise.
58725         * tests/test-localename.c (ASSERT): Likewise.
58726         * tests/test-lseek.c (ASSERT): Likewise.
58727         * tests/test-mbscasecmp.c (ASSERT): Likewise.
58728         * tests/test-mbscasestr1.c (ASSERT): Likewise.
58729         * tests/test-mbscasestr2.c (ASSERT): Likewise.
58730         * tests/test-mbscasestr3.c (ASSERT): Likewise.
58731         * tests/test-mbscasestr4.c (ASSERT): Likewise.
58732         * tests/test-mbschr.c (ASSERT): Likewise.
58733         * tests/test-mbscspn.c (ASSERT): Likewise.
58734         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
58735         * tests/test-mbspbrk.c (ASSERT): Likewise.
58736         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
58737         * tests/test-mbsrchr.c (ASSERT): Likewise.
58738         * tests/test-mbsspn.c (ASSERT): Likewise.
58739         * tests/test-mbsstr1.c (ASSERT): Likewise.
58740         * tests/test-mbsstr2.c (ASSERT): Likewise.
58741         * tests/test-mbsstr3.c (ASSERT): Likewise.
58742         * tests/test-memchr2.c (ASSERT): Likewise.
58743         * tests/test-memmem.c (ASSERT): Likewise.
58744         * tests/test-open.c (ASSERT): Likewise.
58745         * tests/test-printf-frexp.c (ASSERT): Likewise.
58746         * tests/test-printf-frexpl.c (ASSERT): Likewise.
58747         * tests/test-printf-posix.c (ASSERT): Likewise.
58748         * tests/test-quotearg.c (ASSERT): Likewise.
58749         * tests/test-rbtree_list.c (ASSERT): Likewise.
58750         * tests/test-rbtree_oset.c (ASSERT): Likewise.
58751         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
58752         * tests/test-round1.c (ASSERT): Likewise.
58753         * tests/test-roundf1.c (ASSERT): Likewise.
58754         * tests/test-roundl.c (ASSERT): Likewise.
58755         * tests/test-signbit.c (ASSERT): Likewise.
58756         * tests/test-sleep.c (ASSERT): Likewise.
58757         * tests/test-snprintf-posix.c (ASSERT): Likewise.
58758         * tests/test-snprintf.c (ASSERT): Likewise.
58759         * tests/test-sprintf-posix.c (ASSERT): Likewise.
58760         * tests/test-stat-time.c (ASSERT): Likewise.
58761         * tests/test-strcasestr.c (ASSERT): Likewise.
58762         * tests/test-strerror.c (ASSERT): Likewise.
58763         * tests/test-striconv.c (ASSERT): Likewise.
58764         * tests/test-striconveh.c (ASSERT): Likewise.
58765         * tests/test-striconveha.c (ASSERT): Likewise.
58766         * tests/test-strsignal.c (ASSERT): Likewise.
58767         * tests/test-strstr.c (ASSERT): Likewise.
58768         * tests/test-strtod.c (ASSERT): Likewise.
58769         * tests/test-trunc1.c (ASSERT): Likewise.
58770         * tests/test-trunc2.c (ASSERT): Likewise.
58771         * tests/test-truncf1.c (ASSERT): Likewise.
58772         * tests/test-truncf2.c (ASSERT): Likewise.
58773         * tests/test-truncl.c (ASSERT): Likewise.
58774         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
58775         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
58776         * tests/test-vasnprintf.c (ASSERT): Likewise.
58777         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
58778         * tests/test-vasprintf.c (ASSERT): Likewise.
58779         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
58780         * tests/test-vprintf-posix.c (ASSERT): Likewise.
58781         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
58782         * tests/test-vsnprintf.c (ASSERT): Likewise.
58783         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
58784         * tests/test-wcwidth.c (ASSERT): Likewise.
58785         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
58786         * tests/test-xprintf-posix.c (ASSERT): Likewise.
58787         * tests/test-xvasprintf.c (ASSERT): Likewise.
58788         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
58789         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
58790         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
58791         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
58792         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
58793         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
58794         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
58795         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
58796         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
58797         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
58798         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
58799         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
58800         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
58801         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
58802         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
58803         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
58804         * tests/unictype/test-block_list.c (ASSERT): Likewise.
58805         * tests/unictype/test-block_of.c (ASSERT): Likewise.
58806         * tests/unictype/test-block_test.c (ASSERT): Likewise.
58807         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
58808         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
58809         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
58810         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
58811         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
58812         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
58813         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
58814         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
58815         * tests/unictype/test-combining.c (ASSERT): Likewise.
58816         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
58817         * tests/unictype/test-digit.c (ASSERT): Likewise.
58818         * tests/unictype/test-mirror.c (ASSERT): Likewise.
58819         * tests/unictype/test-numeric.c (ASSERT): Likewise.
58820         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
58821         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
58822         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
58823         * tests/unictype/test-scripts.c (ASSERT): Likewise.
58824         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
58825         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
58826         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
58827         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
58828         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
58829         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
58830         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
58831         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
58832         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
58833         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
58834         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
58835         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
58836         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
58837         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
58838         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
58839         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
58840         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
58841         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
58842         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
58843         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
58844         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
58845         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
58846         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
58847         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
58848         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
58849         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
58850         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
58851         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
58852         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
58853         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
58854         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
58855         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
58856         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
58857         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
58858         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
58859         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
58860         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
58861         Reported by Eric Blake.
58862
58863 2008-04-11  Bruno Haible  <bruno@clisp.org>
58864
58865         * lib/wchar.in.h: Tweak comment.
58866
58867 2008-04-11  Bruno Haible  <bruno@clisp.org>
58868
58869         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
58870         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
58871         gl_COMMON.
58872         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
58873
58874 2008-04-11  Bruno Haible  <bruno@clisp.org>
58875
58876         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
58877
58878 2008-04-11  Simon Josefsson  <simon@josefsson.org>
58879
58880         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
58881         of attempting to use non-existing /dev/*random.  Based on patch
58882         from Adam Strzelecki <ono@java.pl> in
58883         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
58884
58885 2008-04-08  Bruno Haible  <bruno@clisp.org>
58886
58887         Add tentative support for emx+gcc.
58888         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
58889         * lib/fpurge.c (fpurge): Likewise.
58890         * lib/freadable.c (freadable): Likewise.
58891         * lib/freadahead.c (freadahead): Likewise.
58892         * lib/freading.c (freading): Likewise.
58893         * lib/freadptr.c (freadptr): Likewise.
58894         * lib/freadseek.c (freadptrinc): Likewise.
58895         * lib/fseeko.c (rpl_fseeko): Likewise.
58896         * lib/fseterr.c (fseterr): Likewise.
58897         * lib/fwritable.c (fwritable): Likewise.
58898         * lib/fwriting.c (fwriting): Likewise.
58899         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
58900
58901 2008-04-09  Eric Blake  <ebb9@byu.net>
58902
58903         Avoid some autoconf warnings.
58904         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
58905         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
58906         * m4/afs.m4 (gl_AFS): Likewise.
58907         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
58908         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
58909         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58910         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
58911         (gl_INTEGER_TYPE_SUFFIX): Likewise.
58912         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
58913         (AC_CHECK_DECLS_ONCE): Likewise.
58914         Rename file...
58915         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
58916         gnulib-tool requires autoconf 2.59 or better.
58917         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
58918
58919 2008-04-08  Eric Blake  <ebb9@byu.net>
58920
58921         Use 'git describe --match' if present (added in git 1.5.5).
58922         * build-aux/git-version-gen: Limit result to tags that match 'v*'
58923         if possible.
58924
58925 2008-04-08  Bruno Haible  <bruno@clisp.org>
58926
58927         Add tentative support for OpenServer.
58928         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
58929         _ptr, _cnt.
58930         * lib/fpurge.c (fpurge): Likewise.
58931         * lib/freadable.c (freadable): Likewise.
58932         * lib/freadahead.c (freadahead): Likewise.
58933         * lib/freading.c (freading): Likewise.
58934         * lib/freadptr.c (freadptr): Likewise.
58935         * lib/freadseek.c (freadptrinc): Likewise.
58936         * lib/fseeko.c (rpl_fseeko): Likewise.
58937         * lib/fseterr.c (fseterr): Likewise.
58938         * lib/fwritable.c (fwritable): Likewise.
58939         * lib/fwriting.c (fwriting): Likewise.
58940         Reported by Roger Cornelius <rac@tenzing.org> and
58941         Brian K. White <brian@aljex.com>.
58942
58943 2008-04-06  Jim Meyering  <meyering@redhat.com>
58944
58945         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
58946
58947 2008-04-06  Bruno Haible  <bruno@clisp.org>
58948
58949         Avoid possible error with non-ASCII bytes in UTF-8 locales.
58950         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
58951         * tests/test-printf-posix.sh: Likewise.
58952         * tests/test-vfprintf-posix.sh: Likewise.
58953         * tests/test-vprintf-posix.sh: Likewise.
58954         * tests/test-xprintf-posix.sh: Likewise.
58955
58956 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58957
58958         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
58959         hide error from 'ls', needed on OS/2.
58960         Report by Elbert Pol <elbert.pol@gmail.com>.
58961
58962 2008-04-04  Eric Blake  <ebb9@byu.net>
58963
58964         Make test-fseeko.c failures meaningful.
58965         * tests/test-fseeko.c: Print line number on failure.
58966         * tests/test-fseek.c: Likewise.
58967         Reported by Nelson H. F. Beebe.
58968
58969         Improve strtod bug detection check.
58970         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
58971         required for Solaris 10.
58972         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
58973
58974 2008-04-04  Bruno Haible  <bruno@clisp.org>
58975
58976         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
58977         by m4/setenv.m4.
58978
58979 2008-04-03  Eric Blake  <ebb9@byu.net>
58980
58981         Ensure sane .version contents.
58982         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
58983         version string.
58984         * build-aux/git-version-gen: Improve documentation.
58985
58986         Make GNU make output nicer.
58987         * top/GNUmakefile [!_have-Makefile]: Add dependency on
58988         MAKECMDGOALS to enforce message for all command line targets.  Set
58989         srcdir for use in maint.mk.
58990
58991         Another maintainer tweak.
58992         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
58993         a target that regenerates version.
58994
58995 2008-04-03  Jim Meyering  <meyering@redhat.com>
58996
58997         vc-list-files: don't cause coreutils "make po-check" failure
58998         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
58999
59000 2008-04-03  Eric Blake  <ebb9@byu.net>
59001
59002         Allow VPATH usage of vc-list-files.
59003         * build-aux/vc-list-files (scriptversion): Add timestamp.
59004         (options): Add --help, --version, -C.
59005         (CVS): Support installed cvsu.
59006
59007 2008-04-02  Bruno Haible  <bruno@clisp.org>
59008
59009         Avoid some "statement with no effect" warnings from gcc.
59010         * tests/test-wctype.c (main): Explicitly ignore unused values.
59011         Reported by Jim Meyering.
59012
59013 2008-04-02  Jim Meyering  <meyering@redhat.com>
59014
59015         Avoid some warnings from "gcc -Wshadow".
59016         * tests/test-frexp.c (exp): Define to a different identifier.
59017         * tests/test-frexpl.c (exp): Likewise.
59018
59019 2008-04-03  Jim Meyering  <meyering@redhat.com>
59020
59021         bootstrap: remove dangling *.[ch] symlinks from lib
59022         * build-aux/bootstrap [dangling symlink removal]: Move find's
59023         -depth option to precede all others, to avoid a warning.
59024         Remove *.[ch] files too, and from "$source_base" (usually lib/).
59025
59026 2008-04-02  Bruno Haible  <bruno@clisp.org>
59027
59028         Avoid some warnings from "gcc -Wshadow".
59029         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
59030         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
59031         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
59032         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
59033         Reported by Jim Meyering.
59034
59035 2008-04-01  Bruno Haible  <bruno@clisp.org>
59036
59037         Fix test to work on IRIX 6.5 with cc.
59038         * tests/test-math.c (numeric_equal): New function.
59039         (main): Use it.
59040
59041 2008-04-01  Bruno Haible  <bruno@clisp.org>
59042
59043         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
59044
59045 2008-04-01  Bruno Haible  <bruno@clisp.org>
59046
59047         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
59048         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59049         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
59050         (Depends-on): Remove math.
59051
59052         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
59053         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59054         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
59055         (Depends-on): Remove math.
59056
59057         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
59058         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59059         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
59060         (Depends-on): Remove math.
59061         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
59062         (Depends-on): Remove math.
59063
59064         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
59065         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59066         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
59067         (Depends-on): Remove math.
59068         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
59069         (Depends-on): Remove math.
59070
59071         * tests/test-round1.c: Include nan.h.
59072         (main): Use NaNd instead of NAN.
59073         * modules/round-tests (Files): Add tests/nan.h.
59074
59075         * tests/test-trunc1.c: Include nan.h.
59076         (main): Use NaNd instead of NAN.
59077         * modules/trunc-tests (Files): Add tests/nan.h.
59078
59079         * tests/test-roundf1.c: Include nan.h.
59080         (main): Use NaNf instead of NAN.
59081         * modules/roundf-tests (Files): Add tests/nan.h.
59082
59083         * tests/test-truncf1.c: Include nan.h.
59084         (main): Use NaNf instead of NAN.
59085         * modules/truncf-tests (Files): Add tests/nan.h.
59086
59087         * tests/test-ceilf1.c: Include nan.h.
59088         (main): Use NaNf instead of NAN.
59089         * modules/ceilf-tests (Files): Add tests/nan.h.
59090
59091         * tests/test-floorf1.c: Include nan.h.
59092         (main): Use NaNf instead of NAN.
59093         * modules/floorf-tests (Files): Add tests/nan.h.
59094
59095         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
59096         (main): Use NaNf instead of NAN.
59097         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
59098
59099         * tests/test-isnand.c: Include nan.h instead of <math.h>.
59100         (main): Use NaNd instead of NAN.
59101         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
59102
59103         * tests/test-frexp.c: Include nan.h.
59104         (main): Use NaNd instead of NAN.
59105         * modules/frexp-tests (Files): Add tests/nan.h.
59106
59107         * lib/isnan.c: Don't include <math.h>.
59108         (FUNC): Don't use NAN macro.
59109         * modules/isnand-nolibm (Depends-on): Remove math.
59110         * modules/isnanf-nolibm (Depends-on): Remove math.
59111         * modules/isnanl (Depends-on): Remove math.
59112         * modules/isnanl-nolibm (Depends-on): Remove math.
59113
59114         * tests/nan.h: New file.
59115
59116 2008-04-01  Eric Blake  <ebb9@byu.net>
59117
59118         Fix typos.
59119         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
59120         values to be the right type.
59121
59122         For now, cater to gnulib strtod inaccuracies.
59123         * tests/test-strtod.c (main): Allow 1-ulp error on expected
59124         fractional results.  While not as nice from a QoI perspective, it
59125         is a quicker patch than correctly implementing decimal to binary
59126         rounding.
59127
59128 2008-03-31  Eric Blake  <ebb9@byu.net>
59129
59130         Guarantee a definition of NAN.
59131         * lib/math.in.h (NAN): Define if missing.
59132         * tests/test-math.c (main): Test it.
59133         * doc/posix-headers/math.texi (math.h): Document this.
59134         * lib/isnan.c (rpl_isnand): Use it.
59135         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
59136         * tests/test-floorf1.c (NaN): Likewise.
59137         * tests/test-frexp.c (NaN): Likewise.
59138         * tests/test-isnand.c (NaN): Likewise.
59139         * tests/test-isnanf.c (NaN): Likewise.
59140         * tests/test-round1.c (NaN): Likewise.
59141         * tests/test-roundf1.c (NaN): Likewise.
59142         * tests/test-snprintf-posix.h (NaN): Likewise.
59143         * tests/test-sprintf-posix.h (NaN): Likewise.
59144         * tests/test-trunc1.c (NaN): Likewise.
59145         * tests/test-truncf1.c (NaN): Likewise.
59146         * tests/test-vasnprintf-posix.c (NaN): Likewise.
59147         * tests/test-vasprintf-posix.c (NaN): Likewise.
59148         * modules/isnand-nolibm (Depends-on): Add math.
59149         * modules/isnanf-nolibm (Depends-on): Likewise.
59150         * modules/isnanl (Depends-on): Likewise.
59151         * modules/isnanl-nolibm (Depends-on): Likewise.
59152         * modules/snprintf-posix-tests (Depends-on): Likewise.
59153         * modules/sprintf-posix-tests (Depends-on): Likewise.
59154         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
59155         * modules/vsprintf-posix-tests (Depends-on): Likewise.
59156         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
59157         * modules/vasprintf-posix-tests (Depends-on): Likewise.
59158
59159 2008-03-31  Bruno Haible  <bruno@clisp.org>
59160
59161         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
59162         * doc/posix-functions/strtod.texi: Likewise.
59163
59164 2008-03-31  Bruno Haible  <bruno@clisp.org>
59165
59166         * tests/test-strtod.c (main): Don't use C99 syntax.
59167
59168 2008-03-31  Bruno Haible  <bruno@clisp.org>
59169
59170         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
59171         Reported by Eric Blake.
59172
59173 2008-03-31  Jim Meyering  <meyering@redhat.com>
59174
59175         Don't compare actual signbit return values.
59176         * tests/test-strtod.c (main): Rather, compare only their
59177         zero/non-zero nature.
59178
59179 2008-03-31  Eric Blake  <ebb9@byu.net>
59180
59181         More strtod documentation.
59182         * doc/posix-functions/strtod.texi (strtod): Interpret more test
59183         failures as distinct bugs.
59184
59185 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
59186
59187         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
59188         Problem reported by Erik Benada in
59189         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
59190
59191 2008-03-30  Bruno Haible  <bruno@clisp.org>
59192
59193         * tests/test-strtod.c: Add comments about which assertion fails on which
59194         platform.
59195         * doc/posix-functions/strtod.texi: Add info about many more platforms.
59196
59197 2008-03-30  Eric Blake  <ebb9@byu.net>
59198
59199         Test signbit behavior on zeros.
59200         * tests/test-signbit.c (test_signbitf): Add tests for zero.
59201         (test_signbitd, test_signbitl): Likewise.
59202
59203         More strtod touchups.
59204         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
59205         sign of negative underflow, for now.  Use .5, not .1.
59206         * doc/posix-functions/strtod.texi (strtod): Mention these
59207         limitations.
59208         Reported by Jim Meyering.
59209
59210 2008-03-30  Bruno Haible  <bruno@clisp.org>
59211
59212         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
59213         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
59214
59215 2008-03-30  Bruno Haible  <bruno@clisp.org>
59216
59217         Avoid failure when attempting to return empty iconv results on some
59218         platforms.
59219         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
59220         allocation, don't report ENOMEM when the resulting string is empty.
59221
59222 2008-03-30  Bruno Haible  <bruno@clisp.org>
59223
59224         Fix buffer overrun.
59225         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
59226         Don't consider the width for tmp_length. Check count against tmp_length
59227         before doing the padding. Ensure enough allocation during padding.
59228
59229 2008-03-30  Eric Blake  <ebb9@byu.net>
59230
59231         strtod touchups.
59232         * lib/strtod.c (strtod): Avoid compiler warnings.
59233         Reported by Jim Meyering.
59234
59235 2008-03-30  Bruno Haible  <bruno@clisp.org>
59236
59237         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
59238         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
59239         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
59240         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
59241         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
59242         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
59243         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
59244         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
59245
59246         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
59247         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
59248         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
59249         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
59250         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
59251         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
59252         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
59253         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
59254
59255         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
59256         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
59257         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
59258         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
59259         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
59260         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
59261         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
59262         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
59263
59264         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
59265         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
59266
59267         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
59268         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
59269
59270         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
59271         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
59272
59273         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
59274         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
59275         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
59276
59277         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
59278         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
59279         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
59280
59281         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
59282         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
59283         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
59284
59285         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
59286         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
59287         * modules/vasprintf (Depends-on): Add EOVERFLOW.
59288
59289         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
59290         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
59291         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
59292         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
59293         (Depends-on): Add EOVERFLOW.
59294         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
59295         (Depends-on): Add EOVERFLOW.
59296         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
59297         (Depends-on): Add EOVERFLOW.
59298         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
59299         (Depends-on): Add EOVERFLOW.
59300         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
59301         (Depends-on): Add EOVERFLOW.
59302         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
59303         (Depends-on): Add EOVERFLOW.
59304         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
59305         (Depends-on): Add EOVERFLOW.
59306         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
59307         (Depends-on): Add EOVERFLOW.
59308
59309         * lib/sprintf.c (EOVERFLOW): Remove fallback.
59310         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
59311         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
59312
59313         * lib/snprintf.c (EOVERFLOW): Remove fallback.
59314         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
59315         * modules/snprintf (Depends-on): Add EOVERFLOW.
59316
59317         * lib/poll.c (EOVERFLOW): Remove fallback.
59318         * modules/poll (Depends-on): Add EOVERFLOW.
59319
59320         * lib/getugroups.c (EOVERFLOW): Remove fallback.
59321         * modules/getugroups (Depends-on): Add EOVERFLOW.
59322
59323         * lib/getdelim.c (EOVERFLOW): Remove fallback.
59324         * modules/getdelim (Depends-on): Add EOVERFLOW.
59325
59326         * lib/ftell.c (EOVERFLOW): Remove fallback.
59327         * modules/ftell (Depends-on): Add EOVERFLOW.
59328
59329         * lib/fprintf.c (EOVERFLOW): Remove fallback.
59330         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
59331         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
59332
59333         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
59334
59335         * modules/EOVERFLOW-tests: New file.
59336         * tests/test-EOVERFLOW.c: New file.
59337
59338         * modules/EOVERFLOW: New file.
59339         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
59340
59341 2008-03-30  Bruno Haible  <bruno@clisp.org>
59342
59343         Fix bug introduced on 2007-06-10.
59344         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
59345         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
59346
59347 2008-03-30  Bruno Haible  <bruno@clisp.org>
59348
59349         Improve freadseek's efficiency after ungetc.
59350         * lib/freadseek.c: Include freadahead.h.
59351         (freadptrinc): New function, extracted from freadseek.
59352         (freadseek): Use it in a loop. Use freadahead to determine the number
59353         of loop iterations.
59354         * modules/freadseek (Depends-on): Add freadahead.
59355         (configure.ac): Require AC_C_INLINE.
59356
59357 2008-03-30  Bruno Haible  <bruno@clisp.org>
59358
59359         * lib/freadseek.c (freadseek): Don't ignore the return value of
59360         freadptr.
59361
59362 2008-03-29  Eric Blake  <ebb9@byu.net>
59363
59364         Add hex float support.
59365         * modules/strtod (Depends-on): Add c-ctype.
59366         (Link): Mention POW_LIB.
59367         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
59368         whitespace between 'e' and exponent.
59369         * tests/test-strtod.c (main): Enable hex float tests.
59370         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
59371         now provides.
59372
59373         Document various strtod bugs, with some fixes.
59374         * doc/posix-functions/strtod.texi (strtod): Document bugs with
59375         "-0x", "inf", "nan", and hex constants.
59376         * doc/posix-functions/atof.texi (atof): Likewise.
59377         * modules/stdlib (Makefile.am): Support strtod.
59378         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
59379         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
59380         detect additional strtod bugs.
59381         * lib/stdlib.in.h (rpl_strtod): Add declarations.
59382         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
59383         bool where appropriate.  Parse 'inf' and 'nan'.
59384         * tests/test-strtod.c: New file.
59385         * modules/strtod (Depends-on): Add stdbool, stdlib.
59386         (configure.ac): Turn on module indicator.
59387         * modules/strtod-tests: New module.
59388
59389 2008-03-29  Eric Blake  <ebb9@byu.net>
59390
59391         Fix ftell on mingw.
59392         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
59393         * modules/ftell-tests (Depends-on): Add binary-io.
59394         * modules/ftello-tests (Depends-on): Likewise.
59395         * tests/test-ftell.c (main): Enhance test to cover behavior after
59396         ungetc.  Enforce binary mode.
59397         * tests/test-ftello.c (main): Likewise.
59398
59399         Pass test-freadseek on cygwin.
59400         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
59401         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
59402         ungetc buffer.
59403
59404         * tests/test-fflush2.c (main): Fix typo.
59405
59406 2008-03-29  Bruno Haible  <bruno@clisp.org>
59407
59408         * tests/test-fflush2.c (main): Temporarily disable the contents of
59409         this test.
59410         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
59411         Reported by Eric Blake.
59412
59413 2008-03-28  Simon Josefsson  <simon@josefsson.org>
59414
59415         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
59416         (GC_SHA224_DIGEST_SIZE): Add.
59417
59418         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
59419         (gc_hash_digest_length): Likewise.
59420         (gc_hash_buffer): Likewise.
59421
59422 2008-03-25  Bruno Haible  <bruno@clisp.org>
59423
59424         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
59425         detail which gettext release to use.
59426         Reported by Simon Josefsson.
59427
59428 2008-03-26  Jim Meyering  <meyering@redhat.com>
59429
59430         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
59431         * modules/gnumakefile (clean-GNUmakefile): Also, use
59432         test ... && ... || : syntax rather than if-then ... fi.
59433
59434         gnumakefile: Don't double-quote-expand $(VPATH) value.
59435         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
59436
59437 2008-03-24  Eric Blake  <ebb9@byu.net>
59438
59439         Alter GNUmakefile to install into top directory.
59440         * modules/maintainer-makefile: Split, and add dependency...
59441         * modules/gnumakefile: to this new module.
59442         * build-aux/GNUmakefile: Move...
59443         * top/GNUmakefile: ...here.
59444         * build-aux/maint.mk: Move...
59445         * top/maint.mk: ...here.
59446         * MODULES.html.sh (Support for maintaining...): Document new
59447         module.
59448
59449 2008-03-23  Bruno Haible  <bruno@clisp.org>
59450
59451         * gnulib-tool: New options --vc-files, --no-vc-files.
59452         (func_usage): Document them.
59453         (vc_files): New variable.
59454         (func_import): Consider vc_files.
59455         (func_create_testdir): Set vc_files to empty.
59456         Suggested by Jim Meyering and Karl Berry.
59457
59458 2008-03-23  Bruno Haible  <bruno@clisp.org>
59459
59460         Fix regex compilation error on HP-UX 11.
59461         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
59462         * modules/regex (Files): Add m4/mbstate_t.m4.
59463         Reported by Ton Voon <ton.voon@altinity.com>.
59464
59465 2008-03-23  Bruno Haible  <bruno@clisp.org>
59466
59467         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
59468
59469 2008-03-23  Eric Blake  <ebb9@byu.net>
59470             Bruno Haible  <bruno@clisp.org>
59471
59472         Install files from top/ in the destination directory.
59473         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
59474         augmentation also for the files from top/.
59475         (func_import, func_create_testdir): Rewrite file names:
59476         top/filename -> filename.
59477
59478 2008-03-23  Bruno Haible  <bruno@clisp.org>
59479
59480         Tweak "gnulib --version" output.
59481         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
59482
59483 2008-03-23  Bruno Haible  <bruno@clisp.org>
59484
59485         Tweak "gnulib --version" output.
59486         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
59487         rather than contents of ChangeLog, when possible.
59488
59489 2008-03-21  Eric Blake  <ebb9@byu.net>
59490
59491         More --version tweaks.
59492         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
59493         date of last ChangeLog entry.
59494
59495 2008-03-21  Jim Meyering  <meyering@redhat.com>
59496
59497         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
59498
59499 2008-03-20  Eric Blake  <ebb9@byu.net>
59500
59501         VPATH fix.
59502         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
59503
59504 2008-03-20  Simon Josefsson  <simon@josefsson.org>
59505
59506         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
59507         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
59508
59509 2008-03-20  Eric Blake  <ebb9@byu.net>
59510
59511         Sync GNUmakefile with coreutils.
59512         * build-aux/GNUmakefile (have-Makefile): Rename...
59513         (_have-Makefile): ...to this, for namespace consideration.
59514         (GNUmakefile.cfg): Include, if present.
59515         (_autoreconf): Define a default.
59516         (_is-dist-target): New rule for rebuilds to pick up intra-release
59517         version.
59518         (maint-cfg.mk): Rename...
59519         (cfg.mk): ...to this.
59520
59521 2008-03-18  Jim Meyering  <meyering@redhat.com>
59522
59523         New script and module: mktempd
59524         * MODULES.html.sh (maint+release support): Add mktempd.
59525         * build-aux/mktempd: New file.
59526         * modules/mktempd: New file.
59527
59528 2008-03-15  Jim Meyering  <meyering@redhat.com>
59529
59530         Undo last change.
59531         * lib/sha1.c, lib/md5.c: 63 != ~63.
59532         Reported by Andreas Schwab.
59533
59534         sha1.c, md5.c: Hoist a redundant expression.
59535         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
59536         "ctx->buflen" only once, before calling *_process_block.
59537         * lib/md5.c (md5_process_bytes): Likewise.
59538
59539 2008-03-14  Eric Blake  <ebb9@byu.net>
59540
59541         Bump copyright year in files generated by gnulib-tool.
59542         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
59543         gnulib-tool, rather than hard-coding it.
59544
59545         Fix 'gnulib-tool --version' output to work with git.
59546         * gnulib-tool (func_gnulib_dir): New function, extracted from...
59547         (startup): ...here.
59548         (func_version): Use it to invoke git-version-gen, rather than
59549         relying on CVS keyword expansion.  Modernize wording.
59550         (cvsdatestamp, last_checkin_date, version): Kill unused
59551         variables.
59552
59553 2008-03-12  Jim Meyering  <meyering@redhat.com>
59554
59555         Recognize optional cast of the argument to free.
59556         * build-aux/useless-if-before-free: Update regexps.
59557
59558         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
59559
59560 2008-03-11  Bruno Haible  <bruno@clisp.org>
59561
59562         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
59563         by a single package.
59564         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
59565         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
59566         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
59567         Reported by Sam Steingold <sds@gnu.org>.
59568
59569 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
59570
59571         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
59572         repositories.
59573
59574 2008-03-11  Bruno Haible  <bruno@clisp.org>
59575
59576         Avoid conflicts between local macro definitions.
59577         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
59578         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
59579
59580 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
59581             Bruno Haible  <bruno@clisp.org>
59582
59583         Make va_copy work with some version of xlc on AIX 5.1.
59584         * lib/stdarg.in.h: New file.
59585         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
59586         On AIX, use a <stdarg.h> file substitute.
59587         * modules/stdarg (Files): Add lib/stdarg.in.h.
59588         (Depends-on): Add include_next.
59589         (Makefile.am): Build a stdarg.h substitute if requested.
59590         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
59591
59592 2008-03-10  Bruno Haible  <bruno@clisp.org>
59593
59594         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
59595         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
59596         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59597
59598 2008-03-10  Bruno Haible  <bruno@clisp.org>
59599
59600         * modules/stdlib (Depends-on): Add include_next, remove
59601         absolute-header.
59602
59603 2008-03-09  Bruno Haible  <bruno@clisp.org>
59604
59605         * lib/freadahead.h (freadahead): Document more precisely.
59606         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
59607         the sum of both buffer sizes.
59608         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
59609         * NEWS: Document the change.
59610
59611 2008-03-09  Bruno Haible  <bruno@clisp.org>
59612
59613         Extend freadptr to return also the buffer size.
59614         * lib/freadptr.h (freadptr): Add sizep argument.
59615         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
59616         (freadptr): Add sizep argument. Determine buffer size like freadahead
59617         does.
59618         * tests/test-freadptr.c: Don't include freadahead.h.
59619         (main): Adapt for new calling convention of freadptr.
59620         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
59621         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
59622         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
59623         tests/test-freadptr2.sh.
59624         (Depends): Remove freadahead.
59625         (TESTS): Add test-freadptr2.sh.
59626         (check_PROGRAMS): Add test-freadptr2.
59627
59628 2008-03-09  Bruno Haible  <bruno@clisp.org>
59629
59630         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
59631         Report and solution by Simon Josefsson.
59632
59633 2008-03-06  Bruno Haible  <bruno@clisp.org>
59634
59635         Make fflush after ungetc work on BSD platforms.
59636         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
59637         * tests/test-fflush2.c: New file.
59638         * tests/test-fflush2.sh: New file.
59639         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
59640         tests/test-fflush2.c.
59641         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
59642         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
59643
59644 2008-03-06  Eric Blake  <ebb9@byu.net>
59645
59646         Likewise for ftello.
59647         * modules/ftello (Dependencies): Add extensions.
59648         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
59649
59650 2008-03-06  Bruno Haible  <bruno@clisp.org>
59651
59652         * modules/fseeko (Dependencies): Add extensions.
59653         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
59654         Needed on glibc systems.
59655
59656 2008-03-06  Bruno Haible  <bruno@clisp.org>
59657
59658         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
59659         email address.
59660         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59661
59662 2008-03-06  Bruno Haible  <bruno@clisp.org>
59663
59664         * users.txt: Add libgnupdf.
59665
59666 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59667
59668         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
59669         (Header File Substitutes, Function Substitutes,
59670         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
59671         (Build robot for gnulib): Fix typo.
59672
59673 2008-03-06  Bruno Haible  <bruno@clisp.org>
59674
59675         * doc/gnulib-tool.texi (VCS Issues): Small updates.
59676         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59677
59678 2008-03-06  Bruno Haible  <bruno@clisp.org>
59679
59680         * doc/func.texi: New file, extracted from doc/gnulib.texi.
59681         * doc/gnulib.texi: Include it.
59682
59683 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59684
59685         * modules/func (License): Change license to unlimited; there was
59686         no LGPL parts in the module anyway.
59687
59688 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59689
59690         * modules/__func__: Renamed to modules/func.
59691         * modules/__func__-tests: Renamed to modules/func-tests.
59692         * tests/test-__func__.c: Renamed to tests/test-func.c.
59693         * m4/__func__.m4: Renamed to m4/func.m4.
59694         * doc/gnulib.texi (__func__): Section renamed to func.
59695         Suggested by Eric Blake <ebb9@byu.net>.
59696
59697 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59698
59699         * doc/gnulib.texi (__func__): Use C99 terminology when talking
59700         about __func__.  Make example self-contained.  Suggested by Eric
59701         Blake <ebb9@byu.net>.
59702
59703         * tests/test-__func__.c (main): Avoid extraneous () around __func.
59704         Suggested by Eric Blake <ebb9@byu.net>.
59705
59706 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59707
59708         * modules/__func__: New file.
59709         * modules/__func__-tests: New file.
59710         * tests/test-__func__.c: New file.
59711         * m4/__func__.m4: New file.
59712         * doc/gnulib.texi (__func__): Document __func__ module.
59713
59714 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59715
59716         * modules/byteswap (License): Re-license as LGPLv2+.
59717
59718 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59719
59720         * doc/Makefile: Add pdf target.
59721
59722 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59723
59724         * modules/inline (License): Use 'unlimited', since there are only
59725         *.m4 files in this module.
59726
59727 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59728             Bruno Haible  <bruno@clisp.org>
59729
59730         Add support for HP C 7.1 on OpenVMS 8.3.
59731         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
59732
59733 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59734
59735         Update VMS specifics.
59736         * lib/getopt.c [VMS]: Remove include of unixlib.h.
59737
59738 2008-03-02  Jim Meyering  <meyering@redhat.com>
59739
59740         Remove the last dependency on the "free" module.
59741         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
59742         Reported by Bob Proulx.
59743
59744         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
59745
59746         Remove useless "if" tests before free.  Deprecate "free" module.
59747         * doc/posix-functions/free.texi: Mention that this
59748         module is no longer useful.
59749         * modules/free (Notice): Say this module is obsolete.
59750         * modules/readutmp (Depends-on): Remove free.
59751         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
59752         * lib/putenv.c (putenv): Likewise.
59753         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
59754         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
59755         * tests/test-c-strcasestr.c (main): Likewise.
59756         * tests/test-c-strstr.c (main): Likewise.
59757         * tests/test-mbscasestr1.c (main): Likewise.
59758         * tests/test-mbscasestr2.c (main): Likewise.
59759         * tests/test-mbsstr1.c (main): Likewise.
59760         * tests/test-mbsstr2.c (main): Likewise.
59761         * tests/test-memmem.c (main): Likewise.
59762         * tests/test-strcasestr.c (main): Likewise.
59763         * tests/test-striconv.c (main): Likewise.
59764         * tests/test-striconveh.c (main): Likewise.
59765         * tests/test-striconveha.c (main): Likewise.
59766         * tests/test-strstr.c (main): Likewise.
59767
59768         * build-aux/git-version-gen: Adjust a comment and the Usage string.
59769
59770         bootstrap: sync from coreutils again
59771         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
59772
59773 2008-03-01  Jim Meyering  <meyering@redhat.com>
59774
59775         bootstrap: sync from coreutils
59776         * build-aux/bootstrap (update_po_files): Copy a .po file into place
59777         also when the target doesn't exist.
59778
59779 2008-03-01  Eric Blake  <ebb9@byu.net>
59780
59781         Fix bugs in last patch.
59782         * lib/memchr2.c (memchr2): Fix typo.
59783         * tests/test-memchr2.c: Test previous bug, and don't use GNU
59784         extension.
59785         Reported by Bruce Korb.
59786
59787         New module 'memchr2'.
59788         * modules/memchr2: New file.
59789         * modules/memchr2-tests: Likewise.
59790         * lib/memchr2.h: Likewise.
59791         * lib/memchr2.c: Likewise, based on memchr.c.
59792         * tests/test-memchr2.c: New test.
59793         * MODULES.html.sh (String handling): Add memchr2.
59794
59795 2008-02-29  Bruno Haible  <bruno@clisp.org>
59796
59797         * modules/freadseek-tests: New file.
59798         * tests/test-freadseek.sh: New file.
59799         * tests/test-freadseek.c: New file.
59800
59801         New module 'freadseek'.
59802         * modules/freadseek: New file.
59803         * lib/freadseek.h: New file.
59804         * lib/freadseek.c: New file.
59805         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
59806
59807 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59808
59809         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
59810         wydawca.
59811
59812         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
59813         program_invocation_name and program_invocation_short_name are
59814         present.
59815
59816 2008-02-28  Bruno Haible  <bruno@clisp.org>
59817
59818         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
59819         * tests/test-freadptr.sh: Also test non-seekable stdin.
59820
59821 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
59822
59823         * build-aux/bootstrap (source_base, m4_base)
59824         (doc_base, tests_base): New variables.
59825         (gnulib_tool_options): Do not hardcode base directories, use
59826         the above variables instead.
59827
59828 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
59829
59830         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
59831
59832 2008-02-28  Bruno Haible  <bruno@clisp.org>
59833
59834         * modules/freadptr-tests: New file.
59835         * tests/test-freadptr.sh: New file.
59836         * tests/test-freadptr.c: New file.
59837
59838         New module 'freadptr'.
59839         * modules/freadptr: New file.
59840         * lib/freadptr.h: New file.
59841         * lib/freadptr.c: New file.
59842         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
59843
59844 2008-02-26  Karl Berry  <karl@freefriends.org>
59845
59846         Sync from Libtool:
59847         * libltdl/argz.c (argz_add, argz_count): New functions.
59848         * libltdl/argz.in.h: Declare them.
59849         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
59850
59851 2008-02-22  Bruno Haible  <bruno@clisp.org>
59852
59853         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
59854         is a pointer type.  Needed for HP-UX 10.
59855         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
59856         * doc/posix-functions/gmtime_r.texi: Likewise.
59857         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59858
59859 2008-02-24  Bruno Haible  <bruno@clisp.org>
59860
59861         * modules/environ-tests: New file.
59862         * tests/test-environ.c: New file.
59863
59864         New module 'environ'.
59865         * modules/environ: New file.
59866         * lib/unistd.in.h (environ): New declaration.
59867         * m4/environ.m4: New file.
59868         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
59869         after use.
59870         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
59871         HAVE_DECL_ENVIRON.
59872         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
59873         HAVE_DECL_ENVIRON.
59874         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
59875         wrong claim that 'environ' is missing on some systems.
59876         * modules/execute (Depends-on): Add environ.
59877         * lib/execute.c (environ): Remove fallback declaration.
59878         * modules/pipe (Depends-on): Add environ.
59879         * lib/pipe.c (environ): Remove fallback declaration.
59880         * modules/setenv (Depends-on): Add environ.
59881         * lib/setenv.c (environ): Remove fallback declaration.
59882         * modules/unsetenv (Depends-on): Add environ.
59883         * lib/unsetenv.c (environ): Remove fallback declaration.
59884         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
59885         m4/environ.m4.
59886         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
59887         (gl_PREREQ_UNSETENV): Likewise.
59888
59889 2008-02-24  Bruno Haible  <bruno@clisp.org>
59890
59891         * doc/posix-functions/environ.texi: Document the MacOS X problem.
59892
59893 2008-02-20  Bob Proulx  <bob@proulx.com>
59894
59895         Enable use of older two part flavor 'git describe'.
59896         * build-aux/git-version-gen: If using the older two part flavor of
59897         git version then recreate the third part now present in the
59898         newer three part flavor of git describe.
59899
59900 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
59901
59902         * lib/fts.c (fts_build): Typo correction to comment.
59903
59904 2008-02-17  Bruno Haible  <bruno@clisp.org>
59905
59906         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
59907         generating no-op conflicts.
59908
59909 2008-02-17  Bruno Haible  <bruno@clisp.org>
59910
59911         Speed up by 10%.
59912         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
59913         result_entries, rather than an index-based loop.
59914
59915 2008-02-17  Bruno Haible  <bruno@clisp.org>
59916
59917         Speed up by 25%.
59918         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
59919         'hashcode_cached'.
59920         (entry_create): New function.
59921         (entry_hashcode): Use the cached hashcode if possible.
59922         (read_changelog_file, try_split_merged_entry): Use entry_create.
59923
59924 2008-02-17  Bruno Haible  <bruno@clisp.org>
59925
59926         Speed up from O(n^2) to O(n) for long ChangeLog files.
59927         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
59928         (read_changelog_file): Change implementation of entries_reversed list
59929         to rbtreehash.
59930         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
59931
59932 2008-02-17  Bruno Haible  <bruno@clisp.org>
59933
59934         New option --split-merged-entry.
59935         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
59936         (find_paragraph_end, try_split_merged_entry): New functions.
59937         (long_options): Add option --split-merged-entry.
59938         (usage): Document option --split-merged-entry.
59939         (main): Implement option --split-merged-entry.
59940         Reported by Eric Blake.
59941
59942 2008-02-17  Bruno Haible  <bruno@clisp.org>
59943
59944         * lib/git-merge-changelog.c: Include c-strstr.h.
59945         (main): Support the "git pull --rebase" situation.
59946         * modules/git-merge-changelog (Depends-on): Add c-strstr.
59947         Reported by Eric Blake.
59948
59949 2008-02-16  Eric Blake  <ebb9@byu.net>
59950
59951         Avoid doubling \ in common case of "c-maybe" quoting style.
59952         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
59953         eliding outer quotes.
59954         * lib/quotearg.h: Document this.
59955         * tests/test-quotearg.c (result_strings, inputs, results_g)
59956         (flag_results, locale_results): Test it by adding a new string to
59957         each test group.
59958         (compare_strings): Test new string.
59959
59960 2008-02-13  Eric Blake  <ebb9@byu.net>
59961
59962         Avoid trigraph quoting in default output.
59963         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
59964         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
59965         unless explicitly requested.
59966         * tests/test-quotearg.c (flag_results, main): Add additional tests.
59967
59968 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
59969
59970         Don't rely on signed integer overflowing to negative value.
59971         * lib/getugroups.c (getugroups): Include <limits.h>.
59972         Instead, compare against INT_MAX, and increment only if the test passes.
59973
59974 2008-02-13  Jim Meyering  <meyering@redhat.com>
59975         and Eric Blake  <ebb9@byu.net>
59976
59977         Avoid shadowing warning and compile errors on Linux.
59978         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
59979         forwarding macros on Linux.
59980         (dcgettext): Define a stub, for Linux.
59981         (results_g, main): Avoid warnings.
59982
59983 2008-02-12  Eric Blake  <ebb9@byu.net>
59984
59985         Silence warning in last patch.
59986         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
59987
59988         Quotearg part 4: add tests, fix c-maybe colon quoting.
59989         * lib/quotearg.h: Improve documentation.
59990         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
59991         escapes when adding outer quotes.  When quoting trigraphs, use
59992         valid C notation.  When quoting NUL, omit extra characters if next
59993         character is not digit.  Alter prototype.
59994         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
59995         callers.
59996         * modules/quotearg-tests: New module.
59997         * tests/test-quotearg.c: New test.
59998
59999 2008-02-07  Eric Blake  <ebb9@byu.net>
60000
60001         Quotearg part 3: add flag to control outer quote elision.
60002         * lib/quotearg.h (c_maybe_quoting_style): New style.
60003         (enum quoting_flags): Better documentation of flags.
60004         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
60005         c-maybe style.
60006         (quotearg_buffer_restyled): Handle new flag to elide outer
60007         quotes.
60008
60009         Quotearg part 2: add flag that can control NUL elision.
60010         * lib/quotearg.h (set_quoting_flags): New prototype.
60011         * lib/quotearg.c (struct quoting_options): Add flag field.
60012         (set_quoting_flags): New function.
60013         (quotearg_buffer_restyled): Add flags parameter.
60014         (quotearg_alloc_mem): Set the flag if length cannot be returned.
60015         (quotearg_n_options): Set the flag, since length cannot be
60016         returned.
60017         (quoting_options_from_style): Default flags correctly.
60018
60019         Quotearg part 1: more wrappers, restore quotearg_char state.
60020         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
60021         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
60022         (quotearg_colon_mem): New wrappers.
60023         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
60024         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
60025         functions.
60026         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
60027         (quotearg_colon_mem): New functions.
60028
60029 2008-02-11  Bruno Haible  <bruno@clisp.org>
60030
60031         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
60032         library in the current directory: it does not work with parallel make.
60033         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60034
60035 2008-02-11  Bruno Haible  <bruno@clisp.org>
60036
60037         * .gitattributes: New file.
60038
60039 2008-02-11  Jim Meyering  <meyering@redhat.com>
60040
60041         useless-if-before-free: Fix reversed exit values.
60042         * build-aux/useless-if-before-free: Use correct values
60043         for EXIT_MATCH and EXIT_NO_MATCH.
60044
60045         * build-aux/useless-if-before-free: Close stdout carefully.
60046
60047 2008-02-10  Bruno Haible  <bruno@clisp.org>
60048
60049         New module 'git-merge-changelog'.
60050         * modules/git-merge-changelog: New file.
60051         * lib/git-merge-changelog.c: New file.
60052
60053 2008-02-10  Jim Meyering  <meyering@redhat.com>
60054
60055         useless-if-before-free: New option: --list (-l).
60056
60057         useless-if-before-free: Don't exit immediately upon open failure.
60058         * build-aux/useless-if-before-free: Exit 2 for errors.
60059         Upon failure to open a file, don't exit immediately.
60060         Rather, just warn and continue with any remaining files.
60061
60062 2008-02-10  Bruno Haible  <bruno@clisp.org>
60063
60064         New abstract list operation 'node_set_value'.
60065         * lib/gl_list.h (gl_list_node_set_value): New function.
60066         (struct gl_list_implementation): New field node_set_value.
60067         * lib/gl_list.c (gl_list_node_set_value): New function.
60068         * lib/gl_array_list.c (gl_array_node_set_value): New function.
60069         (gl_array_list_implementation): Update.
60070         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
60071         (gl_carray_list_implementation): Update.
60072         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
60073         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60074         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60075         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
60076         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60077         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60078         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60079         Update.
60080         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
60081         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
60082         (gl_sublist_list_implementation): Update.
60083
60084 2008-02-10  Bruno Haible  <bruno@clisp.org>
60085
60086         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
60087         Needed when ELEMENT is #defined to 'some_type *'.
60088
60089 2008-02-10  Jim Meyering  <meyering@redhat.com>
60090
60091         New script and module: useless-if-before-free
60092         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
60093         * build-aux/useless-if-before-free: New file.
60094         * modules/useless-if-before-free: New file.
60095
60096         * build-aux/gitlog-to-changelog: Use committer date, not author date.
60097
60098         xstrtol_error: Fix typo.
60099         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
60100         s/exit_failure/exit_status/.
60101
60102 2008-02-09  Jim Meyering  <meyering@redhat.com>
60103
60104         New script and module: gitlog-to-changelog
60105         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
60106         * modules/gitlog-to-changelog: New file.
60107         * build-aux/gitlog-to-changelog: New file.
60108
60109 2008-02-08  Jim Meyering  <meyering@redhat.com>
60110
60111         Avoid two "parameter unused" warnings.
60112         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
60113         Mark "st" as used.
60114
60115         Use "git COMMAND", not "git-COMMAND".
60116         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
60117         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
60118         * build-aux/git-version-gen: Use "git status", not "git-status".
60119
60120 2008-02-07  Bruno Haible  <bruno@clisp.org>
60121
60122         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
60123         Avoids a crash on Windows Vista.
60124         Reported by Adam Strzelecki <ono@java.pl> via
60125         Simon Josefsson <simon@josefsson.org>.
60126
60127 2008-02-06  Bruno Haible  <bruno@clisp.org>
60128
60129         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
60130         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
60131         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
60132         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
60133         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60134         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60135         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
60136         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
60137         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60138         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60139         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60140         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60141         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60142         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60143         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60144         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
60145         left-adjust flag.
60146         * tests/test-snprintf-posix.h (test_function): Likewise.
60147         * tests/test-sprintf-posix.h (test_function): Likewise.
60148         * tests/test-vasprintf-posix.c (test_function): Likewise.
60149         * doc/posix-functions/fprintf.texi: Update.
60150         * doc/posix-functions/printf.texi: Update.
60151         * doc/posix-functions/snprintf.texi: Update.
60152         * doc/posix-functions/sprintf.texi: Update.
60153         * doc/posix-functions/vfprintf.texi: Update.
60154         * doc/posix-functions/vprintf.texi: Update.
60155         * doc/posix-functions/vsnprintf.texi: Update.
60156         * doc/posix-functions/vsprintf.texi: Update.
60157         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60158
60159 2008-02-06  Bruno Haible  <bruno@clisp.org>
60160
60161         Fix bug introduced on 2008-01-26.
60162         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
60163
60164 2008-02-06  Bruno Haible  <bruno@clisp.org>
60165
60166         Fix bug introduced on 2007-06-10.
60167         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
60168         !NEED_PRINTF_FLAG_ZERO.
60169
60170 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
60171
60172         getloadavg: use libperfstat on AIX5
60173         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
60174
60175 2008-02-03  Bruno Haible  <bruno@clisp.org>
60176
60177         * lib/diffseq.h: Add comments about required #includes.
60178         Reported by Michael Biggs <gnulib@doubleplum.net>.
60179
60180 2008-02-01  Bruno Haible  <bruno@clisp.org>
60181
60182         * users.txt: Add gnuit.
60183
60184 2008-01-31  Bruno Haible  <bruno@clisp.org>
60185
60186         * lib/md4.c (set_uint32): Mark as inline.
60187         * lib/md5.c (set_uint32): Likewise.
60188         * lib/sha1.c (set_uint32): Likewise.
60189         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
60190         * m4/md5.m4 (gl_MD5): Likewise.
60191         * m4/sha1.m4 (gl_SHA1): Likewise.
60192
60193 2008-01-31  Jim Meyering  <meyering@redhat.com>
60194
60195         Use "sizeof VAR", rather than a literal "4".
60196         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
60197         * lib/md4.c (md4_read_ctx): Likewise.
60198         * lib/sha1.c (sha1_read_ctx): Likewise.
60199
60200 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60201
60202         * tests/test-sha1.c: New file, based on test-md5.c.
60203
60204         * modules/crypto/sha1-tests: New file.
60205
60206 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60207
60208         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
60209
60210 2008-01-31  Jim Meyering  <meyering@redhat.com>
60211
60212         Prefer "sizeof v" over the equivalent "4".
60213         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
60214         * lib/md5.c (set_uint32): Likewise.
60215         * lib/sha1.c (set_uint32): Likewise.
60216
60217 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60218
60219         * lib/sha1.c (set_uint32): Mark function as static.
60220
60221 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60222
60223         md2: clarify comments to say that alignment is not required.
60224         * lib/md2.h: Remove warning about alignment in comment.
60225         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
60226         never been required.
60227
60228 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60229
60230         md4: adapt alignment constraint fix from sha1.
60231         * lib/md4.c (set_uint32): New function, from sha1.c
60232         (md4_read_ctx): Use it.
60233         (md4_finish_ctx): Doc fix.
60234         * lib/md4.h: Doc fix.
60235
60236 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60237
60238         md5: adapt alignment constraint fix from sha1.
60239         * lib/md5.c (set_uint32): New function, from sha1.c
60240         (md5_read_ctx): Use it.
60241         (md5_finish_ctx): Doc fix.
60242         * lib/md5.h: Doc fix.
60243
60244 2008-01-30  Peter Palfrader  <weasel@debian.org>
60245
60246         sha1: remove the result buffer alignment constraint
60247         * lib/sha1.c (set_uint32): New function.
60248         (sha1_read_ctx): Rewrite to remove the result buffer alignment
60249         constraint.
60250         (sha1_finish_ctx): Remove comment warning about alignment constraint.
60251         * lib/sha1.h: Likewise.
60252
60253 2008-01-30  Andreas Schwab  <schwab@suse.de>
60254             Bruno Haible  <bruno@clisp.org>
60255
60256         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
60257         correct definition of LDBL_MIN_EXP.
60258
60259 2008-01-30  Karl Berry  <karl@gnu.org>
60260
60261         * config/srclist-update: try to preserve x bit on updates.
60262         * config/srclistvars.sh: update for karl.
60263
60264 2008-01-29  Jim Meyering  <meyering@redhat.com>
60265
60266         vasnprintf.c: Avoid warning about unused label
60267         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
60268         "overflow" label definition and associated code with the
60269         same cpp condition that guards the sole use of that label.
60270
60271 2008-01-26  Bruno Haible  <bruno@clisp.org>
60272
60273         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
60274         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
60275         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
60276         * lib/isnanl-nolibm.h (isnanl): Likewise.
60277         Reported by Paul Eggert <eggert@cs.ucla.edu>.
60278
60279 2008-01-26  Bruno Haible  <bruno@clisp.org>
60280
60281         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
60282         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
60283
60284 2008-01-26  Bruno Haible  <bruno@clisp.org>
60285
60286         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
60287         GCC >= 4.0 built-in.
60288         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
60289
60290 2008-01-26  Bruno Haible  <bruno@clisp.org>
60291
60292         Rename isnan, applicable to 'double' only, to isnand.
60293         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
60294         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
60295         (configure.ac): Update.
60296         (Include): Replace "isnan.h" with "isnand.h".
60297         * m4/isnand.m4: Renamed from m4/isnan.m4.
60298         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
60299         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
60300         instead of isnan.c.
60301         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
60302         instead of HAVE_ISNAN_IN_LIBC.
60303         (isnand): Renamed from isnan.
60304         * lib/isnand.c: New file.
60305         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
60306         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
60307         (Makefile.am): Update.
60308         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
60309         Include isnand.h instead of isnan.h.
60310         (main): Test isnand instead of isnan.
60311         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
60312         isnan-nolibm.
60313         * modules/frexp (Depends-on): Likewise.
60314         * modules/frexp-tests (Depends-on): Likewise.
60315         * modules/frexp-nolibm (Depends-on): Likewise.
60316         * modules/frexp-nolibm-tests (Depends-on): Likewise.
60317         * modules/isfinite (Depends-on): Likewise.
60318         * modules/round-tests (Depends-on): Likewise.
60319         * modules/signbit (Depends-on): Likewise.
60320         * modules/signbit-tests (Depends-on): Likewise.
60321         * modules/snprintf-posix (Depends-on): Likewise.
60322         * modules/sprintf-posix (Depends-on): Likewise.
60323         * modules/trunc-tests (Depends-on): Likewise.
60324         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60325         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60326         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60327         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60328         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60329         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60330         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60331         * modules/vasnprintf-posix (Depends-on): Likewise.
60332         * modules/vasprintf-posix (Depends-on): Likewise.
60333         * modules/vfprintf-posix (Depends-on): Likewise.
60334         * modules/vsnprintf-posix (Depends-on): Likewise.
60335         * modules/vsprintf-posix (Depends-on): Likewise.
60336         * lib/frexp.c: Include isnand.h instead of isnan.h.
60337         (ISNAN): Set to isnand instead of isnan.
60338         * lib/isfinite.c: Include isnand.h instead of isnan.h.
60339         (gl_isfinited): Use isnand instead of isnan.
60340         * lib/signbitd.c: Include isnand.h instead of isnan.h.
60341         (gl_signbitd): Use isnand instead of isnan.
60342         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
60343         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
60344         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
60345         (main): Use isnand instead of isnan.
60346         * tests/test-round1.c: Include isnand.h.
60347         (main): Use isnand instead of isnan.
60348         * tests/test-round2.c: Include isnand.h instead of isnan.h.
60349         (ISNAN): Set to isnand instead of isnan.
60350         * tests/test-trunc1.c: Include isnand.h.
60351         (main): Use isnand instead of isnan.
60352         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
60353         (equal): Use isnand instead of isnan.
60354         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
60355         isnand-nolibm.
60356         * NEWS: Mention the change.
60357
60358 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
60359             Bruno Haible  <bruno@clisp.org>
60360
60361         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
60362         the GCC builtins for signbits are present and set
60363         REPLACE_SIGNBIT_USING_GCC if so.
60364         * lib/math.in.h (signbit): Define using GCC builtins if
60365         REPLACE_SIGNBIT_USING_GCC is set.
60366         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
60367         REPLACE_SIGNBIT_USING_GCC.
60368         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
60369
60370 2008-01-25  Jim Meyering  <meyering@redhat.com>
60371
60372         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
60373         * lib/poll.c: Include <config.h>, not "config.h".
60374         * tests/test-getaddrinfo.c: Likewise.
60375
60376 2008-01-25  Simon Josefsson  <simon@josefsson.org>
60377
60378         * modules/sockets-tests: New file.
60379
60380 2008-01-24  Simon Josefsson  <simon@josefsson.org>
60381
60382         * modules/sockets: New module, can be used to call WSA_Startup and
60383         WSA_Cleanup when needed.
60384
60385         * lib/sockets.h, lib/sockets.c: New files.
60386
60387         * m4/sockets.m4: New file.
60388
60389         * tests/test-sockets.c: New file.
60390
60391 2008-01-19  Bruno Haible  <bruno@clisp.org>
60392
60393         * doc/posix-headers: Renamed from doc/headers.
60394         * doc/posix-functions: Renamed from doc/functions.
60395         * doc/gnulib.texi: Update.
60396
60397 2008-01-19  Bruno Haible  <bruno@clisp.org>
60398
60399         * doc/glibc-functions/strcasestr.texi: Include contents of
60400         doc/functions/strcasestr.texi, fixing the list of platforms.
60401         * doc/functions/strcasestr.texi: Remove file.
60402
60403 2008-01-19  Bruno Haible  <bruno@clisp.org>
60404
60405         * doc/glibc-functions/memmem.texi: Include contents of
60406         doc/functions/memmem.texi.
60407         * doc/functions/memmem.texi: Remove file.
60408
60409 2008-01-18  Bruno Haible  <bruno@clisp.org>
60410
60411         * doc/glibc-functions/*.texi: New files.
60412         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
60413         to use the new files.
60414
60415 2008-01-17  Bruno Haible  <bruno@clisp.org>
60416
60417         * tests/test-gethostname.c (main): Fix printf statement.
60418
60419 2008-01-17  Simon Josefsson  <simon@josefsson.org>
60420
60421         * modules/gethostname-tests: New file.
60422
60423         * tests/test-gethostname.c: New file.
60424
60425 2008-01-17  Simon Josefsson  <simon@josefsson.org>
60426
60427         * lib/gethostname.c: Include string.h unconditionally, strncpy is
60428         used by the UNAME case.  Reported by Bruno Haible
60429         <bruno@clisp.org>.
60430
60431 2008-01-17  Eric Blake  <ebb9@byu.net>
60432
60433         Convert c-strcasestr to be more efficient.
60434         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
60435         (Depends-on): Add c-strcase, remove malloca, strnlen.
60436         * tests/test-c-strcasestr.c (main): Enhance test.
60437         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
60438
60439 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
60440
60441         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
60442         Use it in creating po/Makevars.
60443
60444 2008-01-15  Simon Josefsson  <simon@josefsson.org>
60445
60446         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
60447         Applications that requires it should initialize libgcrypt
60448         manually.
60449
60450 2008-01-16  Simon Josefsson  <simon@josefsson.org>
60451
60452         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
60453
60454 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
60455
60456         Fix problem with getdate on mingw32 reported by Simon Josefsson
60457         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
60458         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
60459         tzname", when deciding whether to declare tzname.
60460         * lib/strftime.c (tzname): Likewise.
60461
60462 2008-01-15  Bruno Haible  <bruno@clisp.org>
60463
60464         Work around a MacOS X 10.5 bug in frexpl().
60465         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
60466         * doc/functions/frexpl.texi: Document the bug.
60467         Reported by Elias Pipping <pipping@gentoo.org>.
60468
60469 2008-01-14  Eric Blake  <ebb9@byu.net>
60470
60471         Touch up previous patch.
60472         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
60473         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
60474
60475         Convert strcasestr module to use Two-Way algorithm.
60476         * modules/strcasestr-simple: New module, based on the old
60477         strcasestr, but with Two-Way rather than KMP.
60478         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
60479         * lib/string.in.h (rpl_strcasestr): Declare.
60480         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
60481         performance.
60482         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
60483         * modules/string (Makefile.am): Support strcasestr.
60484         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
60485         * modules/strcasestr-tests (Depends-on): Check for alarm.
60486         * tests/test-strcasestr.c: Augment test.
60487         * lib/str-two-way.h: Clean up stray macro.
60488         * NEWS: Document new module.
60489         * MODULES.html.sh (string handling): Likewise.
60490         * doc/functions/strcasestr.texi: New file.
60491         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
60492         here, since it is not a POSIX function.
60493
60494 2008-01-14  Colin Watson  <cjwatson@debian.org>
60495             Bruno Haible  <bruno@clisp.org>
60496
60497         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
60498         works fine; if not, set REPLACE_STRSIGNAL.
60499         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
60500         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60501         REPLACE_STRSIGNAL.
60502         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
60503         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
60504         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
60505
60506 2008-01-14  Bruno Haible  <bruno@clisp.org>
60507
60508         * modules/strsignal (Include): Change to <string.h>.
60509
60510 2008-01-14  Colin Watson  <cjwatson@debian.org>
60511
60512         * modules/argp (Notice): Add a notice recommending to change
60513         XGETTEXT_OPTIONS.
60514         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
60515
60516 2008-01-13  Colin Watson  <cjwatson@debian.org>
60517
60518         * modules/strsignal-tests: New file.
60519         * tests/test-strsignal.c: New file.
60520
60521         * lib/strsignal.c: New file, from glibc with modifications.
60522         * lib/siglist.h: New file, from glibc with modifications.
60523         * lib/string.in.h (strsignal): New declaration.
60524         * m4/strsignal.m4: New file.
60525         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
60526         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
60527         * modules/strsignal: New file.
60528         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
60529         HAVE_DECL_STRSIGNAL.
60530
60531 2008-01-13  Bruno Haible  <bruno@clisp.org>
60532
60533         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
60534         locale encoding is not ASCII. Needed for OpenBSD 4.0.
60535         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
60536         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
60537
60538 2008-01-13  Bruno Haible  <bruno@clisp.org>
60539
60540         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
60541         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
60542         * lib/argp.h (__attribute__): Likewise.
60543         * lib/c-stack.c (__attribute__): Likewise.
60544         * lib/error.h (__attribute__): Likewise.
60545         * lib/fts.c (__attribute__): Likewise.
60546         * lib/openat.h (__attribute__): Likewise.
60547         * lib/stdio.in.h (__attribute__): Likewise.
60548         * lib/string.in.h (__attribute__): Likewise.
60549         * lib/utimens.c (__attribute__): Likewise.
60550         * lib/vasnprintf.h (__attribute__): Likewise.
60551         * lib/xalloc.h (__attribute__): Likewise.
60552         * lib/xprintf.h (__attribute__): Likewise.
60553         * lib/xstrtol.h (__attribute__): Likewise.
60554         * lib/xvasprintf.h (__attribute__): Likewise.
60555
60556 2008-01-12  Bruno Haible  <bruno@clisp.org>
60557
60558         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
60559         * doc/glibc-headers/a.out.texi: New file.
60560         * doc/glibc-headers/aliases.texi: New file.
60561         * doc/glibc-headers/alloca.texi: New file.
60562         * doc/glibc-headers/ar.texi: New file.
60563         * doc/glibc-headers/argp.texi: New file.
60564         * doc/glibc-headers/argz.texi: New file.
60565         * doc/glibc-headers/byteswap.texi: New file.
60566         * doc/glibc-headers/crypt.texi: New file.
60567         * doc/glibc-headers/endian.texi: New file.
60568         * doc/glibc-headers/envz.texi: New file.
60569         * doc/glibc-headers/err.texi: New file.
60570         * doc/glibc-headers/error.texi: New file.
60571         * doc/glibc-headers/execinfo.texi: New file.
60572         * doc/glibc-headers/fpu_control.texi: New file.
60573         * doc/glibc-headers/fstab.texi: New file.
60574         * doc/glibc-headers/fts.texi: New file.
60575         * doc/glibc-headers/getopt.texi: New file.
60576         * doc/glibc-headers/ieee754.texi: New file.
60577         * doc/glibc-headers/ifaddrs.texi: New file.
60578         * doc/glibc-headers/libintl.texi: New file.
60579         * doc/glibc-headers/mcheck.texi: New file.
60580         * doc/glibc-headers/mntent.texi: New file.
60581         * doc/glibc-headers/obstack.texi: New file.
60582         * doc/glibc-headers/paths.texi: New file.
60583         * doc/glibc-headers/printf.texi: New file.
60584         * doc/glibc-headers/pty.texi: New file.
60585         * doc/glibc-headers/resolv.texi: New file.
60586         * doc/glibc-headers/shadow.texi: New file.
60587         * doc/glibc-headers/sysexits.texi: New file.
60588         * doc/glibc-headers/ttyent.texi: New file.
60589
60590 2008-01-12  Jim Meyering  <meyering@redhat.com>
60591
60592         announce-gen: emit Gnulib's git-based version string.
60593         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
60594         New option --gnulib-version=V, where V is expected to be
60595         the output of running git describe in the gnulib directory.
60596         (get_tool_versions): Request feedback on xdelta.  I suspect it's
60597         not useful, and plan to stop publishing an xdelta file with each
60598         coreutils release.
60599
60600         * build-aux/announce-gen: Also check for lzma-compressed files.
60601
60602 2008-01-11  Bruno Haible  <bruno@clisp.org>
60603
60604         * tests/test-memmem.c (main): Increase maximum allowed time.
60605         * tests/test-strstr.c (main): Likewise.
60606
60607 2008-01-11  Bruno Haible  <bruno@clisp.org>
60608
60609         * doc/functions/memmem.texi: Add more precisions about platforms.
60610         * doc/functions/strstr.texi: Likewise.
60611
60612 2008-01-10  Eric Blake  <ebb9@byu.net>
60613
60614         * m4/strstr.m4: Delete cruft from copy-n-paste.
60615         Reported by Bruno Haible.
60616
60617 2008-01-10  Bruno Haible  <bruno@clisp.org>
60618
60619         Make c-strstr rely on strstr.
60620         * lib/c-strstr.c: Don't include str-kmp.h.
60621         (c_strstr): Define in terms of strstr.
60622         * modules/c-strstr (Files): Remove lib/str-kmp.h.
60623         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
60624
60625 2008-01-10  Bruno Haible  <bruno@clisp.org>
60626
60627         * doc/gnulib.texi (String Functions in C Locale): New section.
60628         * doc/c-ctype.texi: New file.
60629         * doc/c-strcase.texi: New file.
60630         * doc/c-strcaseeq.texi: New file.
60631         * doc/c-strcasestr.texi: New file.
60632         * doc/c-strstr.texi: New file.
60633         * doc/c-strtod.texi: New file.
60634         * doc/c-strtold.texi: New file.
60635
60636 2008-01-10  Eric Blake  <ebb9@byu.net>
60637
60638         * lib/relocatable.h: Fix a comment.
60639
60640 2008-01-10  Eric Blake  <ebb9@byu.net>
60641
60642         Share two-way algorithm.
60643         * lib/str-two-way.h: New file, merged from...
60644         * lib/memmem.c: ...here...
60645         * lib/strstr.c: ...and here.
60646         * modules/memmem (Files): Use it.
60647         * modules/strstr (Files): Likewise.
60648
60649         Avoid quadratic strstr implementations.
60650         * lib/strstr.c: New file.
60651         * m4/strstr.m4: Likewise.
60652         * modules/strstr: Likewise.
60653         * modules/strstr-tests: Likewise.
60654         * tests/test-strstr.c: Likewise.
60655         * lib/string.in.h (rpl_strstr): Declare.
60656         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
60657         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
60658         * modules/string (Makefile.am): Likewise.
60659         * MODULES.html.sh (string handling): Mention new module.
60660         * doc/functions/strstr.texi (strstr): Document the bug.
60661
60662 2008-01-10  Bruno Haible  <bruno@clisp.org>
60663
60664         * lib/relocatable.h (relocate): State whether result is freshly
60665         allocated or not.
60666         * lib/relocatable.c (relocate): Return a freshly allocated string
60667         instead of a pointer to a privately held string.
60668         Reported by Sylvain Beucler <beuc@gnu.org>.
60669
60670 2008-01-10  Colin Watson  <cjwatson@debian.org>
60671
60672         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
60673         s/S_ISNLK/S_ISLNK/.
60674
60675 2008-01-09  Bruno Haible  <bruno@clisp.org>
60676
60677         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
60678         and other files.
60679         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
60680         if it's only a guess.
60681         * modules/memmem: Simplify by depending on memmem-simple.
60682
60683 2008-01-09  Bruno Haible  <bruno@clisp.org>
60684
60685         Work around OpenBSD 4.0 tdelete() bug.
60686         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
60687         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
60688         macros and don't redefine the enum values.
60689         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
60690         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
60691         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
60692
60693 2008-01-09  Bruno Haible  <bruno@clisp.org>
60694
60695         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
60696         (main): Don't perform the tests if setlocale did not install a UTF-8
60697         locale. Needed on OpenBSD 4.0.
60698         * modules/wcwidth-tests (Depends-on): Add localcharset.
60699
60700 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60701
60702         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
60703         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
60704         * NEWS: announce this.
60705         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
60706
60707 2008-01-09  Simon Josefsson  <simon@josefsson.org>
60708         and Eric Blake  <ebb9@byu.net>
60709
60710         Add memmem-simple module.
60711         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
60712         (gl_FUNC_MEMMEM): Separate performance from presence checks.
60713         * modules/memmem-simple: New file.
60714         * modules/memmem (Description): Tweak.
60715         * MODULES.html.sh (string handling): Mention new module.
60716         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
60717         addressed by memmem-simple.
60718         * NEWS: Document the difference.
60719
60720 2008-01-09  Eric Blake  <ebb9@byu.net>
60721
60722         Give gcc some memmem optimization hints.
60723         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
60724         (strcasestr): Declare as pure.
60725         * modules/memmem (Maintainer): Claim my implementation.
60726
60727 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60728
60729         Support AIX 6.1 and higher.
60730         * build-aux/config.libpath: Likewise.
60731         * build-aux/config.rpath: Likewise.
60732
60733 2008-01-08  Jim Meyering  <meyering@redhat.com>
60734             Bruno Haible  <bruno@clisp.org>
60735
60736         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
60737         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
60738         Reported by Peter Fales in
60739         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
60740
60741 2008-01-08  Bruno Haible  <bruno@clisp.org>
60742
60743         * modules/unictype/category-of (Depends-on): Add
60744         unictype/category-none.
60745         * modules/unictype/category-and-tests (Depends-on): Add
60746         unictype/category-{L,N,Lu,Nd}.
60747         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
60748         * modules/unictype/category-or-tests (Depends-on): Add
60749         unictype/category-{L,N}.
60750         * modules/unictype/category-name-tests (Depends-on): Add
60751         unictype/category-{Z,Nl}.
60752         Reported by Simon Josefsson.
60753
60754 2008-01-08  Bruno Haible  <bruno@clisp.org>
60755
60756         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
60757         convention better.
60758         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
60759         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
60760         Reported by Peter Miller <millerp@canb.auug.org.au>.
60761
60762 2008-01-08  Eric Blake  <ebb9@byu.net>
60763
60764         Rewrite memmem to guarantee linear complexity without malloc.
60765         * lib/memmem.c (memmem): Use Two-Way rather than
60766         Knuth-Morris-Pratt, to allow O(1) space usage.
60767         (critical_factorization, two_way_short_needle)
60768         (two_way_long_needle): New functions.
60769         (knuth_morris_pratt): Delete.
60770         * modules/memmem (Depends-on): No longer need malloca or stdbool.
60771         Add stdint.
60772         * tests/test-memmem.c (main): Add tests for periodic needle and
60773         sublinear performance.
60774         * doc/functions/memmem.texi (memmem): Document other deficiencies
60775         in cygwin and older glibc.
60776
60777 2008-01-08  Bruno Haible  <bruno@clisp.org>
60778
60779         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
60780         augmentation.
60781
60782 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
60783
60784         Add a configure time option: --disable-acl.
60785         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
60786         AC_ARG_ENABLE(acl).
60787
60788 2008-01-06  Simon Josefsson  <simon@josefsson.org>
60789
60790         * tests/test-localename.c: Don't include obsolete "setenv.h".
60791
60792         * modules/localename-tests (Depends-on): Need unsetenv.
60793
60794 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60795
60796         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
60797
60798 2008-01-06  Colin Watson  <cjwatson@debian.org>
60799
60800         * users.txt: Add man-db.
60801
60802 2008-01-07  Bruno Haible  <bruno@clisp.org>
60803
60804         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
60805         previous section name.
60806
60807 2008-01-07  Bruno Haible  <bruno@clisp.org>
60808
60809         * lib/progname.c (set_program_name): Don't strip off a leading
60810         "lt-" prefix outside a .libs directory.
60811         Suggested by Paul Eggert.
60812
60813 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
60814             Bruno Haible  <bruno@clisp.org>
60815
60816         Improve memory cleanup in 'relocatable' module.
60817         * lib/relocatable.h (compute_curr_prefix): Change return type to
60818         'char *'.
60819         * lib/relocatable.c (compute_curr_prefix): Change return type to
60820         'char *'. Free curr_installdir after use.
60821         (relocate): Free curr_prefix_better after use.
60822         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
60823
60824 2008-01-01  Bruno Haible  <bruno@clisp.org>
60825
60826         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
60827         failure on older glibc systems.
60828         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60829
60830 2008-01-05  Eric Blake  <ebb9@byu.net>
60831
60832         Avoid quadratic system memmem.
60833         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
60834         Reported by Ralf Wildenhues.
60835
60836         Fix memmem test for mingw.
60837         * modules/memmem-tests (configure.ac): Check for alarm.
60838         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
60839         it.
60840         * doc/functions/memmem.texi: New file.
60841         * doc/gnulib.texi (Function Substitutes): Add memmem.
60842         Reported by Bruno Haible.
60843
60844 2008-01-04  Bruno Haible  <bruno@clisp.org>
60845
60846         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
60847         Require gl_HEADER_STRINGS_H_DEFAULTS, not
60848         gl_HEADER_STRING_H_DEFAULTS.
60849
60850 2008-01-04  Eric Blake  <ebb9@byu.net>
60851
60852         Shorten duration of memmem test.
60853         * tests/test-memmem.c (main): Use alarm to declare failure if test
60854         is taking too long.
60855         Reported by Ralf Wildenhues.
60856
60857 2007-12-21  Simon Josefsson  <simon@josefsson.org>
60858
60859         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
60860         string, needed by strerror.
60861
60862 2008-01-03  Colin Watson  <cjwatson@debian.org>
60863             Bruno Haible  <bruno@clisp.org>
60864
60865         * doc/gnulib-tool.texi (Localization): New section.
60866
60867 2008-01-02  Bruno Haible  <bruno@clisp.org>
60868
60869         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
60870         variables to 'unsigned char *' type.
60871         Reported by Paul Eggert.
60872
60873 2008-01-02  Jim Meyering  <jim@meyering.net>
60874
60875         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
60876
60877 2007-12-31  Jim Meyering  <jim@meyering.net>
60878
60879         Avoid use of private FTS type name.
60880         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
60881
60882 2007-12-30  Karl Berry  <karl@gnu.org>
60883
60884         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
60885         work around defect in Texinfo and/or the standalone Info browser.
60886
60887 2007-12-30  Bruno Haible  <bruno@clisp.org>
60888
60889         Unify 5 copies of the KMP code.
60890         * lib/str-kmp.h: New file.
60891         * lib/c-strcasestr.c: Include str-kmp.h.
60892         (knuth_morris_pratt): Remove function.
60893         (c_strcasestr): Update.
60894         * lib/c-strstr.c: Include str-kmp.h.
60895         (knuth_morris_pratt): Remove function.
60896         (c_strcasestr): Update.
60897         * lib/mbscasestr.c: Include str-kmp.h.
60898         (knuth_morris_pratt_unibyte): Remove function.
60899         * lib/mbsstr.c: Include str-kmp.h.
60900         (knuth_morris_pratt_unibyte): Remove function.
60901         * lib/strcasestr.c: Include str-kmp.h.
60902         (knuth_morris_pratt): Remove function.
60903         (strcasestr): Update.
60904         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
60905         * modules/c-strstr (Files): Likewise.
60906         * modules/mbscasestr (Files): Likewise.
60907         * modules/mbsstr (Files): Likewise.
60908         * modules/strcasestr (Files): Likewise.
60909         Suggested by Paul Eggert.
60910
60911 2007-12-30  Bruno Haible  <bruno@clisp.org>
60912
60913         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
60914         defined.
60915
60916 2007-12-30  Bruno Haible  <bruno@clisp.org>
60917
60918         * lib/xmalloca.h: Include xalloc.h.
60919         (xnmalloca): New macro.
60920
60921 2007-12-30  Bruno Haible  <bruno@clisp.org>
60922
60923         * lib/malloca.h (nmalloca): New macro.
60924         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
60925         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
60926         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
60927         knuth_morris_pratt_multibyte): Likewise.
60928         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
60929         knuth_morris_pratt_multibyte): Likewise.
60930         * lib/memmem.c (knuth_morris_pratt): Likewise.
60931         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
60932
60933 2007-12-25  Bruno Haible  <bruno@clisp.org>
60934
60935         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
60936         * lib/glob.c: Don't include openat.h.
60937         (link_exists2_p): Add back the code that deals with the
60938         !GLOB_ALTDIRFUNC case.
60939         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
60940         let it do the filename concatenation.
60941         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
60942         * modules/glob (Depends-on): Remove openat.
60943
60944 2007-12-31  Bruno Haible  <bruno@clisp.org>
60945
60946         * modules/dirfd (License): Change to LGPLv2+.
60947         Approved by Jim Meyering.
60948
60949 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60950
60951         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
60952         when multiplying M by sizeof (size_t).
60953
60954 2007-12-10  Martin Lambers  <marlam@marlam.de>
60955
60956         Override getpagesize on mingw.
60957         * lib/getpagesize.c: New file.
60958         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
60959         * modules/getpagesize (Files): Add lib/getpagesize.c.
60960         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
60961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60962         REPLACE_GETPAGESIZE.
60963         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
60964
60965 2007-12-25  Bruno Haible  <bruno@clisp.org>
60966
60967         * modules/localcharset (Notice): New field.
60968         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
60969         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
60970
60971 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60972             Bruno Haible  <bruno@clisp.org>
60973
60974         Avoid using the syntax symbol() in formatted documentation.
60975         * MODULES.html.sh (func_module): When replacing symbol() with a
60976         hyperlink, remove the parentheses. Show an error if some remain.
60977         Recognize and render the '...' syntax.
60978         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
60979         Rework. Add paragraph about GCC's inlining.
60980         * doc/alloca.texi: Likewise.
60981         * doc/error.texi: Remove parentheses from symbol reference.
60982         * doc/gnulib-intro.texi: Likewise.
60983         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
60984         * modules/fnmatch (Description): Reword to say "the ... function".
60985         * modules/full-read (Description): Likewise.
60986         * modules/full-write (Description): Likewise.
60987         * modules/safe-read (Description): Likewise.
60988         * modules/safe-write (Description): Likewise.
60989         * modules/strchrnul (Description): Likewise.
60990         * modules/trim (Description): Likewise.
60991         * modules/error (Description): Remove parentheses from symbol
60992         references.
60993         * modules/verror (Description): Likewise.
60994         Reported by Karl Berry.
60995
60996 2007-12-25  Bruno Haible  <bruno@clisp.org>
60997
60998         Fixup after 2007-10-16 commit.
60999         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
61000
61001 2007-12-24  Bruno Haible  <bruno@clisp.org>
61002
61003         Make --enable-relocatable work with DESTDIR.
61004         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
61005         to compute installdir from destprog.
61006         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
61007         also set the RELOC_DESTDIR variable.
61008         Reported by Левашев Иван <octagram@bluebottle.com>.
61009
61010 2007-12-24  Bruno Haible  <bruno@clisp.org>
61011
61012         Fix link error due to xalloc_die().
61013         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
61014         of xreadlink.
61015         * lib/relocwrapper.c: Update comments.
61016         * build-aux/install-reloc: Remove xreadlink.c from file list.
61017         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
61018         xreadlink.c.
61019         Reported by Левашев Иван <octagram@bluebottle.com>.
61020
61021 2007-12-24  Bruno Haible  <bruno@clisp.org>
61022
61023         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
61024         * lib/setenv.h: Remove file.
61025         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
61026         lib/setenv.h.
61027         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
61028         (Depends-on): Add stdlib.
61029         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
61030         gl_FUNC_UNSETENV.
61031         (Include): Replace setenv.h with <stdlib.h>.
61032         * modules/unsetenv: New file.
61033         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
61034         * lib/unsetenv.c: Include <stdlib.h> first.
61035         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
61036         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
61037         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
61038         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
61039         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
61040         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
61041         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
61042         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
61043         * doc/functions/unsetenv.texi: Update.
61044         * modules/xsetenv (Depends-on): Add unsetenv.
61045         * modules/getdate (Depends-on): Likewise.
61046         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
61047         * lib/xsetenv.c: Don't include setenv.h.
61048         * lib/getdate.y: Likewise.
61049         * lib/relocwrapper.c: Likewise.
61050         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
61051         (Depends-on): Add stdlib.
61052         * NEWS: Mention the changes.
61053         Reported by Левашев Иван <octagram@bluebottle.com>.
61054
61055 2007-12-23  Bruno Haible  <bruno@clisp.org>
61056
61057         * lib/memmem.c (memmem): Use lowercase variable names. Tab
61058         indentation.
61059
61060 2007-12-23  Bruno Haible  <bruno@clisp.org>
61061
61062         * lib/c-strcasestr.c: Add more comments.
61063         * lib/c-strstr.c: Likewise.
61064         * lib/mbscasestr.c: Likewise.
61065         * lib/mbsstr.c: Likewise.
61066         * lib/strcasestr.c: Likewise.
61067         * lib/memmem.c: Likewise.
61068
61069 2007-12-23  Bruno Haible  <bruno@clisp.org>
61070
61071         * tests/test-memmem.c: Include <string.h> first.
61072
61073 2007-12-22  Bruno Haible  <bruno@clisp.org>
61074
61075         * gnulib-tool (func_create_testdir): Change $auxdir while generating
61076         the contents of $testsbase.
61077         Reported by Ralf Wildenhues.
61078
61079 2007-12-22  Bruno Haible  <bruno@clisp.org>
61080
61081         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
61082         two variables local_ldadd_before, local_ldadd_last.
61083
61084 2007-12-20  Eric Blake  <ebb9@byu.net>
61085
61086         Work around circular library issue when cross-compiling.
61087         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
61088         that progname.o does not need to pull in rpl_memcmp.
61089
61090 2007-12-19  Eric Blake  <ebb9@byu.net>
61091
61092         Fix memmem to avoid O(n^2) worst-case complexity.
61093         * lib/memmem.c (knuth_morris_pratt): New function.
61094         (memmem): Use it if first few naive iterations fail.
61095         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
61096         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
61097         * modules/memchr (License): Likewise.
61098         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
61099         malloca.
61100         * tests/test-memmem.c: Rewrite, borrowing ideas from
61101         test-mbsstr1.c; the old version wouldn't even compile!
61102         * modules/memmem-tests: New file.
61103         * lib/string.in.h (rpl_memmem): Add declaration.
61104         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
61105         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
61106         REPLACE_MEMMEM.
61107
61108 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61109
61110         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
61111         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
61112         before any system include files, and undef after them all.  This
61113         should fix a problem on VMS reported by John E. Malmberg in
61114         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
61115
61116 2007-12-17  Eric Blake  <ebb9@byu.net>
61117
61118         Revert addition of verify, for BSD/OS.
61119         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
61120         can't handle large files, for the sake of obsolete platforms.
61121         * modules/fseeko (Depends-on): Remove verify.
61122         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
61123         * doc/functions/ftello.texi (ftello): Likewise.
61124         * doc/functions/fgetpos.texi (fgetpos): Likewise.
61125         Reported by Larry Jones.
61126
61127 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
61128
61129         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
61130         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
61131
61132 2007-12-17  Jim Meyering  <meyering@redhat.com>
61133
61134         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
61135         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
61136         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
61137         * modules/getcwd (Depends-on): Add openat.
61138         Reported by Petr Salinger.
61139
61140 2007-12-17  Bruno Haible  <bruno@clisp.org>
61141
61142         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
61143         avoid a segmentation fault of the configure test on x86_64 systems.
61144
61145 2007-12-15  Jim Meyering  <meyering@redhat.com>
61146
61147         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
61148
61149 2007-12-13  Eric Blake  <ebb9@byu.net>
61150
61151         Another fseek test.
61152         * tests/test-fseek.c (main): Also test ungetc handling.
61153         * tests/test-fseeko.c (main): Likewise.
61154         * modules/fseeko (Depends-on): Add verify.
61155         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
61156         large.
61157         Reported by Larry Jones.
61158
61159         Fix fseeko on mingw.
61160         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
61161         seek.
61162
61163         Beef up fseek tests.
61164         * tests/test-fseek.c (main): Also test eof handling.
61165         * tests/test-fseeko.c (main): Likewise.
61166         Reported by Larry Jones.
61167
61168 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
61169
61170         Fix fseeko on BSD-based platforms.
61171         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
61172         successful seek.
61173
61174 2007-12-12  Eric Blake  <ebb9@byu.net>
61175
61176         Allow circular dependency of separate libtests.a
61177         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
61178         when use_libtests.
61179
61180 2007-12-11  Eric Blake  <ebb9@byu.net>
61181
61182         Fix bug with -0.0L in previous patch.
61183         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
61184         * tests/test-isnan.c (main): Also test on zeroes.
61185         * tests/test-isnanf.c (main): Likewise.
61186         * tests/test-isnanl.h (main): Likewise.
61187
61188         Detect pseudo-denormals on x86 even when cross-compiling.
61189         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
61190         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
61191         invalid bit patterns that happen to satisfy ==.
61192
61193         Avoid link failures with separate libtests.a.
61194         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
61195         last, to satisfy circular dependencies.
61196
61197 2007-12-11  Eric Blake  <ebb9@byu.net>
61198         and Bruno Haible  <bruno@clisp.org>
61199
61200         Fix OpenBSD 4.0 <float.h> handling of long double.
61201         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
61202         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
61203         * doc/headers/float.texi (float.h): Document OpenBSD bug.
61204
61205 2007-12-11  Jim Meyering  <meyering@redhat.com>
61206
61207         * users.txt: Add libvirt.
61208
61209         Support versions of autoconf prior to 2.59c.
61210         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
61211         if it is not already defined.
61212
61213 2007-12-09  Bruno Haible  <bruno@clisp.org>
61214
61215         Let 'gnulib-tool --import' collect sources needed for the tests in
61216         tests/ rather than in lib/.
61217         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
61218         argument. If true, add rules to generate libtests.a, and put libtests.a
61219         into $(LDADD). Consider source files in subdirectories and set
61220         uses_subdirs.
61221         (func_emit_initmacro_start, func_emit_initmacro_end,
61222         func_emit_initmacro_done): Pass all arguments explicitly.
61223         (func_import): Determine two module lists main_modules,
61224         testsrelated_modules. Determine use_libtests. Determine two variables
61225         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
61226         instead of just sed_transform_lib_file. Determine two variables
61227         main_files and testsrelated_files. Compute 'files' as the union of
61228         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
61229         func_add_or_update. In the generated gnulib-comp.m4, collect the
61230         object files for tests/ in different variables than those for lib/.
61231         Substitute LIBTESTS_LIBDEPS.
61232         (func_create_testdir): Combine the uses_subdirs results from
61233         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
61234
61235 2007-12-09  Bruno Haible  <bruno@clisp.org>
61236
61237         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
61238         the build-aux directory.
61239
61240 2007-12-09  Bruno Haible  <bruno@clisp.org>
61241
61242         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
61243         introduced on 2006-09-09.
61244
61245 2007-12-07  Jim Meyering  <meyering@redhat.com>
61246
61247         Let these macros work also with autoconf-2.59.
61248         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
61249         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
61250         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61251
61252 2007-12-06  Jim Meyering  <meyering@redhat.com>
61253
61254         Avoid a configure-time syntax error in gl_FUNC_ACL.
61255         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
61256         function in each branch, before testing the cache variable.
61257
61258 2007-12-04  Eric Blake  <ebb9@byu.net>
61259
61260         Make scripts executable.
61261         * build-aux/config.guess: Add execute permissions.
61262         * build-aux/config.sub: Likewise.
61263         * build-aux/gendocs.sh: Likewise.
61264
61265         Fix frexp on mingw.
61266         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
61267         cross-compiling.
61268         * doc/functions/frexp.texi (frexp): Document the bug.
61269
61270         Make cygwin fseeko check more reliable.
61271         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
61272         version numbers, rather than unrelated feature check.
61273         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
61274         * doc/functions/ftello.texi (ftello): Likewise.
61275         Reported by Bruno Haible.
61276
61277         * m4/strerror.m4: Bump version number.
61278
61279 2007-12-03  Bruno Haible  <bruno@clisp.org>
61280
61281         * doc/functions/mprotect.texi: Mention the mingw problem.
61282
61283 2007-12-03  Eric Blake  <ebb9@byu.net>
61284
61285         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
61286         REPLACE_STRERROR is initialized before this macro.
61287
61288 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
61289
61290         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
61291         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
61292         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
61293         put -lsec in even for programs other than 'ls'.  This fixes a problem
61294         for gettext reported by Bruno Haible in
61295         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
61296         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
61297         Add support for Solaris 10.  This isn't efficient, but should get the
61298         job done for now.
61299
61300 2007-12-03  James Youngman  <jay@gnu.org>
61301
61302         * doc/regexprops-generic.texi: change "an close-group" to "a
61303         close-group" and "illegal" to "not allowed".
61304
61305 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61306
61307         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
61308         pr_byname.h. Needed for the rare case when the maintainer has done
61309         "make maintainer-clean" in the source directory and then attempts a
61310         build outside the source directory.
61311         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
61312         scripts_byname.h.
61313
61314 2007-12-02  Martin Lambers <marlam@marlam.de>
61315             Bruno Haible  <bruno@clisp.org>
61316
61317         * lib/getpagesize.h: Remove file.
61318         * lib/unistd.in.h: Include declaration of getpagesize here.
61319         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
61320         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
61321         HAVE_SYS_PARAM_H.
61322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
61323         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
61324         * modules/getpagesize (Files): Remove lib/getpagesize.h.
61325         (Depends-on): Add unistd.
61326         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61327         (Include): Use <unistd.h> instead of getpagesize.h.
61328         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
61329         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
61330         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
61331         gl_GETPAGESIZE invocation, already handled by module dependency.
61332         * lib/pagealign_alloc.c: Don't include getpagesize.h.
61333
61334 2007-12-02  Bruno Haible  <bruno@clisp.org>
61335
61336         * modules/strings-tests: New file.
61337         * tests/test-strings.c: New file.
61338
61339         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
61340         * lib/strings.in.h: New file.
61341         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
61342         * m4/strings_h.m4: New file.
61343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
61344         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
61345         * modules/strings: New file.
61346         * modules/string (Makefile.am): Update.
61347         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
61348         Reported by Karl Berry.
61349
61350 2007-12-01  Eric Blake  <ebb9@byu.net>
61351
61352         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
61353         accommodate fix in cygwin 1.5.25.
61354
61355 2007-12-01  Jim Meyering  <meyering@redhat.com>
61356
61357         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
61358         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
61359         that would inhibit utf8-optimization of a regexp containing line-
61360         or buffer-anchors, e.g., `^', `$'.
61361
61362 2007-11-30  Bruno Haible  <bruno@clisp.org>
61363
61364         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
61365         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
61366         glthread_recursive_lock_init.
61367         * lib/lock.c (glthread_recursive_lock_init)
61368         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
61369         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61370
61371 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
61372
61373         New function qset_acl, like set_acl but with syscall semantics.
61374         * lib/acl.h (qset_acl): New decl.
61375         * lib/acl.c (qset_acl): New function.
61376         (set_acl): Use new function.  Use more-consistent diagnostics.
61377
61378 2007-11-28  Jim Meyering  <meyering@redhat.com>
61379
61380         * modules/physmem (License): Change from GPL to LGPLv2+.
61381
61382 2007-11-26  Bruno Haible  <bruno@clisp.org>
61383
61384         * lib/vasnprintf.c (decode_long_double): Don't abort if the
61385         'long double' type has excess precision.
61386         Reported by Jim Meyering in
61387         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
61388
61389 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61390
61391         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
61392         Sync from <http://gnu.org/licenses>.
61393         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
61394         with license text from same location.
61395         * doc/maintain.texi, doc/standards.texi:  Sync from
61396         <http://savannah.gnu.org/projects/gnustandards>.
61397
61398 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
61399         and Jim Meyering  <meyering@redhat.com>
61400
61401         Adjust getdate' grammar to accept a slightly more regular language.
61402         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
61403         Before, the former was rejected.
61404         * lib/getdate.y (digits_to_date_time): New function, factored
61405         out of ...
61406         (number): ...here.  Just call digits_to_date_time.
61407         (hybrid): New non-terminal to handle an <unsigned number,
61408         signed relative offset> sequence consistently.
61409
61410 2007-11-18  Jim Meyering  <meyering@redhat.com>
61411
61412         Pull my changes from coreutils:
61413         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
61414         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
61415         use of $gnulib_tool_option_extras, so that it's separated from the
61416         preceding argument.
61417
61418         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
61419         * build-aux/bootstrap (cp_mark_as_generated): Create any required
61420         parent destination directories before copying a file into place.
61421
61422 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
61423
61424         bootstrap: work also with 4-argument variant of AC_INIT
61425         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
61426
61427 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61428
61429         Port test-getaddrinfo to Solaris.
61430         Problem reported by Bruno Haible in
61431         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
61432         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
61433         explanation of setting 'hints'.
61434         Don't reject an implementation merely because it returns EAI_SERVICE.
61435         (EAI_SERVICE): Define to 0 if not defined.
61436
61437 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61438
61439         The license of gnu-make and posix-shell is now "GPLed build tool".
61440         * modules/gnu-make (License): Likewise.
61441         * modules/posix-shell (License): Likewise.
61442
61443         New module posix-shell, for determining a POSIX shell
61444         or perhaps something that is close enough to a POSIX shell.
61445         * m4/posix-shell.m4: New file.
61446         * modules/posix-shell: New file.
61447
61448         * MODULES.html.sh: Mention new module.
61449
61450         New module gnu-make, for determining whether we're using GNU Make.
61451         * m4/gnu-make.m4: New file.
61452         * modules/gnu-make: New file.
61453         * MODULES.html.sh: Mention new module.
61454
61455 2007-11-14  Jim Meyering  <meyering@redhat.com>
61456
61457         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
61458         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
61459         use this macro to create a function _definition_.
61460         Remove useless "#undef ARGMATCH_DIE".
61461
61462 2007-11-14  Bruno Haible  <bruno@clisp.org>
61463
61464         * lib/config.charset: Update for OpenBSD 4.1.
61465         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
61466
61467 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
61468
61469         Document 64-bit #if problems in stdint.texi.
61470         * doc/headers/stdint.texi (stdint.h): Mention problems with
61471         64-bit-#if, and how to work around them.
61472
61473         Don't insist on 'long long int' support in the preprocessor.  It
61474         breaks too many things.  For example, PRIdMAX still uses a 'long
61475         long int' format with the latest Sun compiler, even though
61476         HAVE_LONG_LONG_INT isn't defined due to that compiler's
61477         preprocessor problem.  This causes the latest coreutils to dump
61478         core on Solaris 10 sparc with the Sun C compiler.
61479         Instead, fix the 2007-10-16 problem in a different way, by evaluating
61480         the troublesome expressions at configure-time, not at #if-time.
61481         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
61482         preprocessor.
61483         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
61484         compile-time C checks, done at 'configure'-time.
61485         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
61486         * modules/inttypes (Makefile): Substitute the new symbols that
61487         gl_INTTYPES_H now generates.
61488         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
61489
61490 2007-11-12  Bruno Haible  <bruno@clisp.org>
61491
61492         Tests for Unicode character classification functions.
61493
61494         * modules/unictype/bidicategory-byname-tests: New file.
61495         * modules/unictype/bidicategory-name-tests: New file.
61496         * modules/unictype/bidicategory-of-tests: New file.
61497         * modules/unictype/bidicategory-test-tests: New file.
61498         * modules/unictype/block-list-tests: New file.
61499         * modules/unictype/block-of-tests: New file.
61500         * modules/unictype/block-test-tests: New file.
61501         * modules/unictype/category-C-tests: New file.
61502         * modules/unictype/category-Cc-tests: New file.
61503         * modules/unictype/category-Cf-tests: New file.
61504         * modules/unictype/category-Cn-tests: New file.
61505         * modules/unictype/category-Co-tests: New file.
61506         * modules/unictype/category-Cs-tests: New file.
61507         * modules/unictype/category-L-tests: New file.
61508         * modules/unictype/category-Ll-tests: New file.
61509         * modules/unictype/category-Lm-tests: New file.
61510         * modules/unictype/category-Lo-tests: New file.
61511         * modules/unictype/category-Lt-tests: New file.
61512         * modules/unictype/category-Lu-tests: New file.
61513         * modules/unictype/category-M-tests: New file.
61514         * modules/unictype/category-Mc-tests: New file.
61515         * modules/unictype/category-Me-tests: New file.
61516         * modules/unictype/category-Mn-tests: New file.
61517         * modules/unictype/category-N-tests: New file.
61518         * modules/unictype/category-Nd-tests: New file.
61519         * modules/unictype/category-Nl-tests: New file.
61520         * modules/unictype/category-No-tests: New file.
61521         * modules/unictype/category-P-tests: New file.
61522         * modules/unictype/category-Pc-tests: New file.
61523         * modules/unictype/category-Pd-tests: New file.
61524         * modules/unictype/category-Pe-tests: New file.
61525         * modules/unictype/category-Pf-tests: New file.
61526         * modules/unictype/category-Pi-tests: New file.
61527         * modules/unictype/category-Po-tests: New file.
61528         * modules/unictype/category-Ps-tests: New file.
61529         * modules/unictype/category-S-tests: New file.
61530         * modules/unictype/category-Sc-tests: New file.
61531         * modules/unictype/category-Sk-tests: New file.
61532         * modules/unictype/category-Sm-tests: New file.
61533         * modules/unictype/category-So-tests: New file.
61534         * modules/unictype/category-Z-tests: New file.
61535         * modules/unictype/category-Zl-tests: New file.
61536         * modules/unictype/category-Zp-tests: New file.
61537         * modules/unictype/category-Zs-tests: New file.
61538         * modules/unictype/category-and-not-tests: New file.
61539         * modules/unictype/category-and-tests: New file.
61540         * modules/unictype/category-byname-tests: New file.
61541         * modules/unictype/category-name-tests: New file.
61542         * modules/unictype/category-none-tests: New file.
61543         * modules/unictype/category-of-tests: New file.
61544         * modules/unictype/category-or-tests: New file.
61545         * modules/unictype/category-test-withtable-tests: New file.
61546         * modules/unictype/combining-class-tests: New file.
61547         * modules/unictype/ctype-alnum-tests: New file.
61548         * modules/unictype/ctype-alpha-tests: New file.
61549         * modules/unictype/ctype-blank-tests: New file.
61550         * modules/unictype/ctype-cntrl-tests: New file.
61551         * modules/unictype/ctype-digit-tests: New file.
61552         * modules/unictype/ctype-graph-tests: New file.
61553         * modules/unictype/ctype-lower-tests: New file.
61554         * modules/unictype/ctype-print-tests: New file.
61555         * modules/unictype/ctype-punct-tests: New file.
61556         * modules/unictype/ctype-space-tests: New file.
61557         * modules/unictype/ctype-upper-tests: New file.
61558         * modules/unictype/ctype-xdigit-tests: New file.
61559         * modules/unictype/decimal-digit-tests: New file.
61560         * modules/unictype/digit-tests: New file.
61561         * modules/unictype/mirror-tests: New file.
61562         * modules/unictype/numeric-tests: New file.
61563         * modules/unictype/property-alphabetic-tests: New file.
61564         * modules/unictype/property-ascii-hex-digit-tests: New file.
61565         * modules/unictype/property-bidi-arabic-digit-tests: New file.
61566         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
61567         * modules/unictype/property-bidi-block-separator-tests: New file.
61568         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
61569         * modules/unictype/property-bidi-common-separator-tests: New file.
61570         * modules/unictype/property-bidi-control-tests: New file.
61571         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
61572         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
61573         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
61574         * modules/unictype/property-bidi-european-digit-tests: New file.
61575         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
61576         * modules/unictype/property-bidi-left-to-right-tests: New file.
61577         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
61578         * modules/unictype/property-bidi-other-neutral-tests: New file.
61579         * modules/unictype/property-bidi-pdf-tests: New file.
61580         * modules/unictype/property-bidi-segment-separator-tests: New file.
61581         * modules/unictype/property-bidi-whitespace-tests: New file.
61582         * modules/unictype/property-byname-tests: New file.
61583         * modules/unictype/property-combining-tests: New file.
61584         * modules/unictype/property-composite-tests: New file.
61585         * modules/unictype/property-currency-symbol-tests: New file.
61586         * modules/unictype/property-dash-tests: New file.
61587         * modules/unictype/property-decimal-digit-tests: New file.
61588         * modules/unictype/property-default-ignorable-code-point-tests: New file.
61589         * modules/unictype/property-deprecated-tests: New file.
61590         * modules/unictype/property-diacritic-tests: New file.
61591         * modules/unictype/property-extender-tests: New file.
61592         * modules/unictype/property-format-control-tests: New file.
61593         * modules/unictype/property-grapheme-base-tests: New file.
61594         * modules/unictype/property-grapheme-extend-tests: New file.
61595         * modules/unictype/property-grapheme-link-tests: New file.
61596         * modules/unictype/property-hex-digit-tests: New file.
61597         * modules/unictype/property-hyphen-tests: New file.
61598         * modules/unictype/property-id-continue-tests: New file.
61599         * modules/unictype/property-id-start-tests: New file.
61600         * modules/unictype/property-ideographic-tests: New file.
61601         * modules/unictype/property-ids-binary-operator-tests: New file.
61602         * modules/unictype/property-ids-trinary-operator-tests: New file.
61603         * modules/unictype/property-ignorable-control-tests: New file.
61604         * modules/unictype/property-iso-control-tests: New file.
61605         * modules/unictype/property-join-control-tests: New file.
61606         * modules/unictype/property-left-of-pair-tests: New file.
61607         * modules/unictype/property-line-separator-tests: New file.
61608         * modules/unictype/property-logical-order-exception-tests: New file.
61609         * modules/unictype/property-lowercase-tests: New file.
61610         * modules/unictype/property-math-tests: New file.
61611         * modules/unictype/property-non-break-tests: New file.
61612         * modules/unictype/property-not-a-character-tests: New file.
61613         * modules/unictype/property-numeric-tests: New file.
61614         * modules/unictype/property-other-alphabetic-tests: New file.
61615         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
61616         * modules/unictype/property-other-grapheme-extend-tests: New file.
61617         * modules/unictype/property-other-id-continue-tests: New file.
61618         * modules/unictype/property-other-id-start-tests: New file.
61619         * modules/unictype/property-other-lowercase-tests: New file.
61620         * modules/unictype/property-other-math-tests: New file.
61621         * modules/unictype/property-other-uppercase-tests: New file.
61622         * modules/unictype/property-paired-punctuation-tests: New file.
61623         * modules/unictype/property-paragraph-separator-tests: New file.
61624         * modules/unictype/property-pattern-syntax-tests: New file.
61625         * modules/unictype/property-pattern-white-space-tests: New file.
61626         * modules/unictype/property-private-use-tests: New file.
61627         * modules/unictype/property-punctuation-tests: New file.
61628         * modules/unictype/property-quotation-mark-tests: New file.
61629         * modules/unictype/property-radical-tests: New file.
61630         * modules/unictype/property-sentence-terminal-tests: New file.
61631         * modules/unictype/property-soft-dotted-tests: New file.
61632         * modules/unictype/property-space-tests: New file.
61633         * modules/unictype/property-terminal-punctuation-tests: New file.
61634         * modules/unictype/property-test-tests: New file.
61635         * modules/unictype/property-titlecase-tests: New file.
61636         * modules/unictype/property-unassigned-code-value-tests: New file.
61637         * modules/unictype/property-unified-ideograph-tests: New file.
61638         * modules/unictype/property-uppercase-tests: New file.
61639         * modules/unictype/property-variation-selector-tests: New file.
61640         * modules/unictype/property-white-space-tests: New file.
61641         * modules/unictype/property-xid-continue-tests: New file.
61642         * modules/unictype/property-xid-start-tests: New file.
61643         * modules/unictype/property-zero-width-tests: New file.
61644         * modules/unictype/scripts-tests: New file.
61645         * modules/unictype/syntax-c-ident-tests: New file.
61646         * modules/unictype/syntax-c-whitespace-tests: New file.
61647         * modules/unictype/syntax-java-ident-tests: New file.
61648         * modules/unictype/syntax-java-whitespace-tests: New file.
61649         * tests/unictype/test-bidi_byname.c: New file.
61650         * tests/unictype/test-bidi_name.c: New file.
61651         * tests/unictype/test-bidi_of.c: New file.
61652         * tests/unictype/test-bidi_test.c: New file.
61653         * tests/unictype/test-block_list.c: New file.
61654         * tests/unictype/test-block_of.c: New file.
61655         * tests/unictype/test-block_test.c: New file.
61656         * tests/unictype/test-categ_and.c: New file.
61657         * tests/unictype/test-categ_and_not.c: New file.
61658         * tests/unictype/test-categ_byname.c: New file.
61659         * tests/unictype/test-categ_name.c: New file.
61660         * tests/unictype/test-categ_none.c: New file.
61661         * tests/unictype/test-categ_of.c: New file.
61662         * tests/unictype/test-categ_or.c: New file.
61663         * tests/unictype/test-categ_test_withtable.c: New file.
61664         * tests/unictype/test-combining.c: New file.
61665         * tests/unictype/test-decdigit.c: New file.
61666         * tests/unictype/test-digit.c: New file.
61667         * tests/unictype/test-mirror.c: New file.
61668         * tests/unictype/test-numeric.c: New file.
61669         * tests/unictype/test-pr_byname.c: New file.
61670         * tests/unictype/test-pr_test.c: New file.
61671         * tests/unictype/test-predicate-part1.h: New file.
61672         * tests/unictype/test-predicate-part2.h: New file.
61673         * tests/unictype/test-scripts.c: New file.
61674         * tests/unictype/test-sy_c_ident.c: New file.
61675         * tests/unictype/test-sy_java_ident.c: New file.
61676
61677         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
61678         for Unicode 5.0.0.
61679         * tests/unictype/test-categ_Cc.c: Likewise.
61680         * tests/unictype/test-categ_Cf.c: Likewise.
61681         * tests/unictype/test-categ_Cn.c: Likewise.
61682         * tests/unictype/test-categ_Co.c: Likewise.
61683         * tests/unictype/test-categ_Cs.c: Likewise.
61684         * tests/unictype/test-categ_L.c: Likewise.
61685         * tests/unictype/test-categ_Ll.c: Likewise.
61686         * tests/unictype/test-categ_Lm.c: Likewise.
61687         * tests/unictype/test-categ_Lo.c: Likewise.
61688         * tests/unictype/test-categ_Lt.c: Likewise.
61689         * tests/unictype/test-categ_Lu.c: Likewise.
61690         * tests/unictype/test-categ_M.c: Likewise.
61691         * tests/unictype/test-categ_Mc.c: Likewise.
61692         * tests/unictype/test-categ_Me.c: Likewise.
61693         * tests/unictype/test-categ_Mn.c: Likewise.
61694         * tests/unictype/test-categ_N.c: Likewise.
61695         * tests/unictype/test-categ_Nd.c: Likewise.
61696         * tests/unictype/test-categ_Nl.c: Likewise.
61697         * tests/unictype/test-categ_No.c: Likewise.
61698         * tests/unictype/test-categ_P.c: Likewise.
61699         * tests/unictype/test-categ_Pc.c: Likewise.
61700         * tests/unictype/test-categ_Pd.c: Likewise.
61701         * tests/unictype/test-categ_Pe.c: Likewise.
61702         * tests/unictype/test-categ_Pf.c: Likewise.
61703         * tests/unictype/test-categ_Pi.c: Likewise.
61704         * tests/unictype/test-categ_Po.c: Likewise.
61705         * tests/unictype/test-categ_Ps.c: Likewise.
61706         * tests/unictype/test-categ_S.c: Likewise.
61707         * tests/unictype/test-categ_Sc.c: Likewise.
61708         * tests/unictype/test-categ_Sk.c: Likewise.
61709         * tests/unictype/test-categ_Sm.c: Likewise.
61710         * tests/unictype/test-categ_So.c: Likewise.
61711         * tests/unictype/test-categ_Z.c: Likewise.
61712         * tests/unictype/test-categ_Zl.c: Likewise.
61713         * tests/unictype/test-categ_Zp.c: Likewise.
61714         * tests/unictype/test-categ_Zs.c: Likewise.
61715         * tests/unictype/test-ctype_alnum.c: Likewise.
61716         * tests/unictype/test-ctype_alpha.c: Likewise.
61717         * tests/unictype/test-ctype_blank.c: Likewise.
61718         * tests/unictype/test-ctype_cntrl.c: Likewise.
61719         * tests/unictype/test-ctype_digit.c: Likewise.
61720         * tests/unictype/test-ctype_graph.c: Likewise.
61721         * tests/unictype/test-ctype_lower.c: Likewise.
61722         * tests/unictype/test-ctype_print.c: Likewise.
61723         * tests/unictype/test-ctype_punct.c: Likewise.
61724         * tests/unictype/test-ctype_space.c: Likewise.
61725         * tests/unictype/test-ctype_upper.c: Likewise.
61726         * tests/unictype/test-ctype_xdigit.c: Likewise.
61727         * tests/unictype/test-decdigit.h: Likewise.
61728         * tests/unictype/test-digit.h: Likewise.
61729         * tests/unictype/test-numeric.h: Likewise.
61730         * tests/unictype/test-pr_alphabetic.c: Likewise.
61731         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
61732         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61733         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61734         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
61735         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61736         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
61737         * tests/unictype/test-pr_bidi_control.c: Likewise.
61738         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
61739         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
61740         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61741         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61742         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61743         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61744         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61745         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61746         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
61747         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
61748         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
61749         * tests/unictype/test-pr_combining.c: Likewise.
61750         * tests/unictype/test-pr_composite.c: Likewise.
61751         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61752         * tests/unictype/test-pr_dash.c: Likewise.
61753         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61754         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
61755         * tests/unictype/test-pr_deprecated.c: Likewise.
61756         * tests/unictype/test-pr_diacritic.c: Likewise.
61757         * tests/unictype/test-pr_extender.c: Likewise.
61758         * tests/unictype/test-pr_format_control.c: Likewise.
61759         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61760         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61761         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61762         * tests/unictype/test-pr_hex_digit.c: Likewise.
61763         * tests/unictype/test-pr_hyphen.c: Likewise.
61764         * tests/unictype/test-pr_id_continue.c: Likewise.
61765         * tests/unictype/test-pr_id_start.c: Likewise.
61766         * tests/unictype/test-pr_ideographic.c: Likewise.
61767         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
61768         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
61769         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61770         * tests/unictype/test-pr_iso_control.c: Likewise.
61771         * tests/unictype/test-pr_join_control.c: Likewise.
61772         * tests/unictype/test-pr_left_of_pair.c: Likewise.
61773         * tests/unictype/test-pr_line_separator.c: Likewise.
61774         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61775         * tests/unictype/test-pr_lowercase.c: Likewise.
61776         * tests/unictype/test-pr_math.c: Likewise.
61777         * tests/unictype/test-pr_non_break.c: Likewise.
61778         * tests/unictype/test-pr_not_a_character.c: Likewise.
61779         * tests/unictype/test-pr_numeric.c: Likewise.
61780         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61781         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
61782         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
61783         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61784         * tests/unictype/test-pr_other_id_start.c: Likewise.
61785         * tests/unictype/test-pr_other_lowercase.c: Likewise.
61786         * tests/unictype/test-pr_other_math.c: Likewise.
61787         * tests/unictype/test-pr_other_uppercase.c: Likewise.
61788         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
61789         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
61790         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
61791         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
61792         * tests/unictype/test-pr_private_use.c: Likewise.
61793         * tests/unictype/test-pr_punctuation.c: Likewise.
61794         * tests/unictype/test-pr_quotation_mark.c: Likewise.
61795         * tests/unictype/test-pr_radical.c: Likewise.
61796         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61797         * tests/unictype/test-pr_soft_dotted.c: Likewise.
61798         * tests/unictype/test-pr_space.c: Likewise.
61799         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61800         * tests/unictype/test-pr_titlecase.c: Likewise.
61801         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61802         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61803         * tests/unictype/test-pr_uppercase.c: Likewise.
61804         * tests/unictype/test-pr_variation_selector.c: Likewise.
61805         * tests/unictype/test-pr_white_space.c: Likewise.
61806         * tests/unictype/test-pr_xid_continue.c: Likewise.
61807         * tests/unictype/test-pr_xid_start.c: Likewise.
61808         * tests/unictype/test-pr_zero_width.c: Likewise.
61809         * tests/unictype/test-sy_c_whitespace.c: Likewise.
61810         * tests/unictype/test-sy_java_whitespace.c: Likewise.
61811
61812 2007-11-12  Bruno Haible  <bruno@clisp.org>
61813
61814         Unicode character classification functions.
61815         * lib/unictype.h: New file.
61816         * modules/unictype/base: New file.
61817         * modules/unictype/category-L: New file.
61818         * modules/unictype/category-Lu: New file.
61819         * modules/unictype/category-Ll: New file.
61820         * modules/unictype/category-Lt: New file.
61821         * modules/unictype/category-Lm: New file.
61822         * modules/unictype/category-Lo: New file.
61823         * modules/unictype/category-M: New file.
61824         * modules/unictype/category-Mn: New file.
61825         * modules/unictype/category-Mc: New file.
61826         * modules/unictype/category-Me: New file.
61827         * modules/unictype/category-N: New file.
61828         * modules/unictype/category-Nd: New file.
61829         * modules/unictype/category-Nl: New file.
61830         * modules/unictype/category-No: New file.
61831         * modules/unictype/category-P: New file.
61832         * modules/unictype/category-Pc: New file.
61833         * modules/unictype/category-Pd: New file.
61834         * modules/unictype/category-Ps: New file.
61835         * modules/unictype/category-Pe: New file.
61836         * modules/unictype/category-Pi: New file.
61837         * modules/unictype/category-Pf: New file.
61838         * modules/unictype/category-Po: New file.
61839         * modules/unictype/category-S: New file.
61840         * modules/unictype/category-Sm: New file.
61841         * modules/unictype/category-Sc: New file.
61842         * modules/unictype/category-Sk: New file.
61843         * modules/unictype/category-So: New file.
61844         * modules/unictype/category-Z: New file.
61845         * modules/unictype/category-Zs: New file.
61846         * modules/unictype/category-Zl: New file.
61847         * modules/unictype/category-Zp: New file.
61848         * modules/unictype/category-C: New file.
61849         * modules/unictype/category-Cc: New file.
61850         * modules/unictype/category-Cf: New file.
61851         * modules/unictype/category-Cs: New file.
61852         * modules/unictype/category-Co: New file.
61853         * modules/unictype/category-Cn: New file.
61854         * modules/unictype/category-or: New file.
61855         * modules/unictype/category-of: New file.
61856         * modules/unictype/category-test: New file.
61857         * modules/unictype/category-test-withtable: New file.
61858         * modules/unictype/category-byname: New file.
61859         * modules/unictype/category-none: New file.
61860         * modules/unictype/category-and: New file.
61861         * modules/unictype/category-and-not: New file.
61862         * modules/unictype/category-name: New file.
61863         * modules/unictype/combining-class: New file.
61864         * modules/unictype/category-all: New file.
61865         * modules/unictype/bidicategory-all: New file.
61866         * modules/unictype/bidicategory-byname: New file.
61867         * modules/unictype/bidicategory-name: New file.
61868         * modules/unictype/bidicategory-of: New file.
61869         * modules/unictype/bidicategory-test: New file.
61870         * modules/unictype/decimal-digit: New file.
61871         * modules/unictype/digit: New file.
61872         * modules/unictype/numeric: New file.
61873         * modules/unictype/mirror: New file.
61874         * modules/unictype/property-white-space: New file.
61875         * modules/unictype/property-alphabetic: New file.
61876         * modules/unictype/property-other-alphabetic: New file.
61877         * modules/unictype/property-not-a-character: New file.
61878         * modules/unictype/property-default-ignorable-code-point: New file.
61879         * modules/unictype/property-other-default-ignorable-code-point: New
61880         file.
61881         * modules/unictype/property-deprecated: New file.
61882         * modules/unictype/property-logical-order-exception: New file.
61883         * modules/unictype/property-variation-selector: New file.
61884         * modules/unictype/property-private-use: New file.
61885         * modules/unictype/property-unassigned-code-value: New file.
61886         * modules/unictype/property-uppercase: New file.
61887         * modules/unictype/property-other-uppercase: New file.
61888         * modules/unictype/property-lowercase: New file.
61889         * modules/unictype/property-other-lowercase: New file.
61890         * modules/unictype/property-titlecase: New file.
61891         * modules/unictype/property-soft-dotted: New file.
61892         * modules/unictype/property-id-start: New file.
61893         * modules/unictype/property-other-id-start: New file.
61894         * modules/unictype/property-id-continue: New file.
61895         * modules/unictype/property-other-id-continue: New file.
61896         * modules/unictype/property-xid-start: New file.
61897         * modules/unictype/property-xid-continue: New file.
61898         * modules/unictype/property-pattern-white-space: New file.
61899         * modules/unictype/property-pattern-syntax: New file.
61900         * modules/unictype/property-join-control: New file.
61901         * modules/unictype/property-grapheme-base: New file.
61902         * modules/unictype/property-grapheme-extend: New file.
61903         * modules/unictype/property-other-grapheme-extend: New file.
61904         * modules/unictype/property-grapheme-link: New file.
61905         * modules/unictype/property-bidi-control: New file.
61906         * modules/unictype/property-bidi-left-to-right: New file.
61907         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
61908         * modules/unictype/property-bidi-arabic-right-to-left: New file.
61909         * modules/unictype/property-bidi-european-digit: New file.
61910         * modules/unictype/property-bidi-eur-num-separator: New file.
61911         * modules/unictype/property-bidi-eur-num-terminator: New file.
61912         * modules/unictype/property-bidi-arabic-digit: New file.
61913         * modules/unictype/property-bidi-common-separator: New file.
61914         * modules/unictype/property-bidi-block-separator: New file.
61915         * modules/unictype/property-bidi-segment-separator: New file.
61916         * modules/unictype/property-bidi-whitespace: New file.
61917         * modules/unictype/property-bidi-non-spacing-mark: New file.
61918         * modules/unictype/property-bidi-boundary-neutral: New file.
61919         * modules/unictype/property-bidi-pdf: New file.
61920         * modules/unictype/property-bidi-embedding-or-override: New file.
61921         * modules/unictype/property-bidi-other-neutral: New file.
61922         * modules/unictype/property-hex-digit: New file.
61923         * modules/unictype/property-ascii-hex-digit: New file.
61924         * modules/unictype/property-ideographic: New file.
61925         * modules/unictype/property-unified-ideograph: New file.
61926         * modules/unictype/property-radical: New file.
61927         * modules/unictype/property-ids-binary-operator: New file.
61928         * modules/unictype/property-ids-trinary-operator: New file.
61929         * modules/unictype/property-zero-width: New file.
61930         * modules/unictype/property-space: New file.
61931         * modules/unictype/property-non-break: New file.
61932         * modules/unictype/property-iso-control: New file.
61933         * modules/unictype/property-format-control: New file.
61934         * modules/unictype/property-dash: New file.
61935         * modules/unictype/property-hyphen: New file.
61936         * modules/unictype/property-punctuation: New file.
61937         * modules/unictype/property-line-separator: New file.
61938         * modules/unictype/property-paragraph-separator: New file.
61939         * modules/unictype/property-quotation-mark: New file.
61940         * modules/unictype/property-sentence-terminal: New file.
61941         * modules/unictype/property-terminal-punctuation: New file.
61942         * modules/unictype/property-currency-symbol: New file.
61943         * modules/unictype/property-math: New file.
61944         * modules/unictype/property-other-math: New file.
61945         * modules/unictype/property-paired-punctuation: New file.
61946         * modules/unictype/property-left-of-pair: New file.
61947         * modules/unictype/property-combining: New file.
61948         * modules/unictype/property-composite: New file.
61949         * modules/unictype/property-decimal-digit: New file.
61950         * modules/unictype/property-numeric: New file.
61951         * modules/unictype/property-diacritic: New file.
61952         * modules/unictype/property-extender: New file.
61953         * modules/unictype/property-ignorable-control: New file.
61954         * modules/unictype/property-test: New file.
61955         * modules/unictype/property-byname: New file.
61956         * modules/unictype/property-all: New file.
61957         * modules/unictype/scripts: New file.
61958         * modules/unictype/scripts-all: New file.
61959         * modules/unictype/block-of: New file.
61960         * modules/unictype/block-test: New file.
61961         * modules/unictype/block-list: New file.
61962         * modules/unictype/block-all: New file.
61963         * modules/unictype/syntax-c-whitespace: New file.
61964         * modules/unictype/syntax-java-whitespace: New file.
61965         * modules/unictype/syntax-c-ident: New file.
61966         * modules/unictype/syntax-java-ident: New file.
61967         * modules/unictype/ctype-alnum: New file.
61968         * modules/unictype/ctype-alpha: New file.
61969         * modules/unictype/ctype-cntrl: New file.
61970         * modules/unictype/ctype-digit: New file.
61971         * modules/unictype/ctype-graph: New file.
61972         * modules/unictype/ctype-lower: New file.
61973         * modules/unictype/ctype-print: New file.
61974         * modules/unictype/ctype-punct: New file.
61975         * modules/unictype/ctype-space: New file.
61976         * modules/unictype/ctype-upper: New file.
61977         * modules/unictype/ctype-xdigit: New file.
61978         * modules/unictype/ctype-blank: New file.
61979         * lib/unictype/bidi_byname.c: New file.
61980         * lib/unictype/bidi_name.c: New file.
61981         * lib/unictype/bidi_of.c: New file.
61982         * lib/unictype/bidi_test.c: New file.
61983         * lib/unictype/bitmap.h: New file.
61984         * lib/unictype/block_test.c: New file.
61985         * lib/unictype/blocks.c: New file.
61986         * lib/unictype/categ_C.c: New file.
61987         * lib/unictype/categ_Cc.c: New file.
61988         * lib/unictype/categ_Cf.c: New file.
61989         * lib/unictype/categ_Cn.c: New file.
61990         * lib/unictype/categ_Co.c: New file.
61991         * lib/unictype/categ_Cs.c: New file.
61992         * lib/unictype/categ_L.c: New file.
61993         * lib/unictype/categ_Ll.c: New file.
61994         * lib/unictype/categ_Lm.c: New file.
61995         * lib/unictype/categ_Lo.c: New file.
61996         * lib/unictype/categ_Lt.c: New file.
61997         * lib/unictype/categ_Lu.c: New file.
61998         * lib/unictype/categ_M.c: New file.
61999         * lib/unictype/categ_Mc.c: New file.
62000         * lib/unictype/categ_Me.c: New file.
62001         * lib/unictype/categ_Mn.c: New file.
62002         * lib/unictype/categ_N.c: New file.
62003         * lib/unictype/categ_Nd.c: New file.
62004         * lib/unictype/categ_Nl.c: New file.
62005         * lib/unictype/categ_No.c: New file.
62006         * lib/unictype/categ_P.c: New file.
62007         * lib/unictype/categ_Pc.c: New file.
62008         * lib/unictype/categ_Pd.c: New file.
62009         * lib/unictype/categ_Pe.c: New file.
62010         * lib/unictype/categ_Pf.c: New file.
62011         * lib/unictype/categ_Pi.c: New file.
62012         * lib/unictype/categ_Po.c: New file.
62013         * lib/unictype/categ_Ps.c: New file.
62014         * lib/unictype/categ_S.c: New file.
62015         * lib/unictype/categ_Sc.c: New file.
62016         * lib/unictype/categ_Sk.c: New file.
62017         * lib/unictype/categ_Sm.c: New file.
62018         * lib/unictype/categ_So.c: New file.
62019         * lib/unictype/categ_Z.c: New file.
62020         * lib/unictype/categ_Zl.c: New file.
62021         * lib/unictype/categ_Zp.c: New file.
62022         * lib/unictype/categ_Zs.c: New file.
62023         * lib/unictype/categ_and.c: New file.
62024         * lib/unictype/categ_and_not.c: New file.
62025         * lib/unictype/categ_byname.c: New file.
62026         * lib/unictype/categ_name.c: New file.
62027         * lib/unictype/categ_none.c: New file.
62028         * lib/unictype/categ_of.c: New file.
62029         * lib/unictype/categ_or.c: New file.
62030         * lib/unictype/categ_test.c: New file.
62031         * lib/unictype/combining.c: New file.
62032         * lib/unictype/ctype_alnum.c: New file.
62033         * lib/unictype/ctype_alpha.c: New file.
62034         * lib/unictype/ctype_blank.c: New file.
62035         * lib/unictype/ctype_cntrl.c: New file.
62036         * lib/unictype/ctype_digit.c: New file.
62037         * lib/unictype/ctype_graph.c: New file.
62038         * lib/unictype/ctype_lower.c: New file.
62039         * lib/unictype/ctype_print.c: New file.
62040         * lib/unictype/ctype_punct.c: New file.
62041         * lib/unictype/ctype_space.c: New file.
62042         * lib/unictype/ctype_upper.c: New file.
62043         * lib/unictype/ctype_xdigit.c: New file.
62044         * lib/unictype/decdigit.c: New file.
62045         * lib/unictype/digit.c: New file.
62046         * lib/unictype/identsyntaxmap.h: New file.
62047         * lib/unictype/mirror.c: New file.
62048         * lib/unictype/numeric.c: New file.
62049         * lib/unictype/pr_alphabetic.c: New file.
62050         * lib/unictype/pr_ascii_hex_digit.c: New file.
62051         * lib/unictype/pr_bidi_arabic_digit.c: New file.
62052         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
62053         * lib/unictype/pr_bidi_block_separator.c: New file.
62054         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
62055         * lib/unictype/pr_bidi_common_separator.c: New file.
62056         * lib/unictype/pr_bidi_control.c: New file.
62057         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
62058         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
62059         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
62060         * lib/unictype/pr_bidi_european_digit.c: New file.
62061         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
62062         * lib/unictype/pr_bidi_left_to_right.c: New file.
62063         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
62064         * lib/unictype/pr_bidi_other_neutral.c: New file.
62065         * lib/unictype/pr_bidi_pdf.c: New file.
62066         * lib/unictype/pr_bidi_segment_separator.c: New file.
62067         * lib/unictype/pr_bidi_whitespace.c: New file.
62068         * lib/unictype/pr_byname.c: New file.
62069         * lib/unictype/pr_byname.gperf: New file.
62070         * lib/unictype/pr_combining.c: New file.
62071         * lib/unictype/pr_composite.c: New file.
62072         * lib/unictype/pr_currency_symbol.c: New file.
62073         * lib/unictype/pr_dash.c: New file.
62074         * lib/unictype/pr_decimal_digit.c: New file.
62075         * lib/unictype/pr_default_ignorable_code_point.c: New file.
62076         * lib/unictype/pr_deprecated.c: New file.
62077         * lib/unictype/pr_diacritic.c: New file.
62078         * lib/unictype/pr_extender.c: New file.
62079         * lib/unictype/pr_format_control.c: New file.
62080         * lib/unictype/pr_grapheme_base.c: New file.
62081         * lib/unictype/pr_grapheme_extend.c: New file.
62082         * lib/unictype/pr_grapheme_link.c: New file.
62083         * lib/unictype/pr_hex_digit.c: New file.
62084         * lib/unictype/pr_hyphen.c: New file.
62085         * lib/unictype/pr_id_continue.c: New file.
62086         * lib/unictype/pr_id_start.c: New file.
62087         * lib/unictype/pr_ideographic.c: New file.
62088         * lib/unictype/pr_ids_binary_operator.c: New file.
62089         * lib/unictype/pr_ids_trinary_operator.c: New file.
62090         * lib/unictype/pr_ignorable_control.c: New file.
62091         * lib/unictype/pr_iso_control.c: New file.
62092         * lib/unictype/pr_join_control.c: New file.
62093         * lib/unictype/pr_left_of_pair.c: New file.
62094         * lib/unictype/pr_line_separator.c: New file.
62095         * lib/unictype/pr_logical_order_exception.c: New file.
62096         * lib/unictype/pr_lowercase.c: New file.
62097         * lib/unictype/pr_math.c: New file.
62098         * lib/unictype/pr_non_break.c: New file.
62099         * lib/unictype/pr_not_a_character.c: New file.
62100         * lib/unictype/pr_numeric.c: New file.
62101         * lib/unictype/pr_other_alphabetic.c: New file.
62102         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
62103         * lib/unictype/pr_other_grapheme_extend.c: New file.
62104         * lib/unictype/pr_other_id_continue.c: New file.
62105         * lib/unictype/pr_other_id_start.c: New file.
62106         * lib/unictype/pr_other_lowercase.c: New file.
62107         * lib/unictype/pr_other_math.c: New file.
62108         * lib/unictype/pr_other_uppercase.c: New file.
62109         * lib/unictype/pr_paired_punctuation.c: New file.
62110         * lib/unictype/pr_paragraph_separator.c: New file.
62111         * lib/unictype/pr_pattern_syntax.c: New file.
62112         * lib/unictype/pr_pattern_white_space.c: New file.
62113         * lib/unictype/pr_private_use.c: New file.
62114         * lib/unictype/pr_punctuation.c: New file.
62115         * lib/unictype/pr_quotation_mark.c: New file.
62116         * lib/unictype/pr_radical.c: New file.
62117         * lib/unictype/pr_sentence_terminal.c: New file.
62118         * lib/unictype/pr_soft_dotted.c: New file.
62119         * lib/unictype/pr_space.c: New file.
62120         * lib/unictype/pr_terminal_punctuation.c: New file.
62121         * lib/unictype/pr_test.c: New file.
62122         * lib/unictype/pr_titlecase.c: New file.
62123         * lib/unictype/pr_unassigned_code_value.c: New file.
62124         * lib/unictype/pr_unified_ideograph.c: New file.
62125         * lib/unictype/pr_uppercase.c: New file.
62126         * lib/unictype/pr_variation_selector.c: New file.
62127         * lib/unictype/pr_white_space.c: New file.
62128         * lib/unictype/pr_xid_continue.c: New file.
62129         * lib/unictype/pr_xid_start.c: New file.
62130         * lib/unictype/pr_zero_width.c: New file.
62131         * lib/unictype/scripts.c: New file.
62132         * lib/unictype/sy_c_ident.c: New file.
62133         * lib/unictype/sy_c_whitespace.c: New file.
62134         * lib/unictype/sy_java_ident.c: New file.
62135         * lib/unictype/sy_java_whitespace.c: New file.
62136
62137         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
62138         Unicode 5.0.0.
62139         * lib/unictype/blocks.h: Likewise.
62140         * lib/unictype/categ_C.h: Likewise.
62141         * lib/unictype/categ_Cc.h: Likewise.
62142         * lib/unictype/categ_Cf.h: Likewise.
62143         * lib/unictype/categ_Cn.h: Likewise.
62144         * lib/unictype/categ_Co.h: Likewise.
62145         * lib/unictype/categ_Cs.h: Likewise.
62146         * lib/unictype/categ_L.h: Likewise.
62147         * lib/unictype/categ_Ll.h: Likewise.
62148         * lib/unictype/categ_Lm.h: Likewise.
62149         * lib/unictype/categ_Lo.h: Likewise.
62150         * lib/unictype/categ_Lt.h: Likewise.
62151         * lib/unictype/categ_Lu.h: Likewise.
62152         * lib/unictype/categ_M.h: Likewise.
62153         * lib/unictype/categ_Mc.h: Likewise.
62154         * lib/unictype/categ_Me.h: Likewise.
62155         * lib/unictype/categ_Mn.h: Likewise.
62156         * lib/unictype/categ_N.h: Likewise.
62157         * lib/unictype/categ_Nd.h: Likewise.
62158         * lib/unictype/categ_Nl.h: Likewise.
62159         * lib/unictype/categ_No.h: Likewise.
62160         * lib/unictype/categ_P.h: Likewise.
62161         * lib/unictype/categ_Pc.h: Likewise.
62162         * lib/unictype/categ_Pd.h: Likewise.
62163         * lib/unictype/categ_Pe.h: Likewise.
62164         * lib/unictype/categ_Pf.h: Likewise.
62165         * lib/unictype/categ_Pi.h: Likewise.
62166         * lib/unictype/categ_Po.h: Likewise.
62167         * lib/unictype/categ_Ps.h: Likewise.
62168         * lib/unictype/categ_S.h: Likewise.
62169         * lib/unictype/categ_Sc.h: Likewise.
62170         * lib/unictype/categ_Sk.h: Likewise.
62171         * lib/unictype/categ_Sm.h: Likewise.
62172         * lib/unictype/categ_So.h: Likewise.
62173         * lib/unictype/categ_Z.h: Likewise.
62174         * lib/unictype/categ_Zl.h: Likewise.
62175         * lib/unictype/categ_Zp.h: Likewise.
62176         * lib/unictype/categ_Zs.h: Likewise.
62177         * lib/unictype/categ_of.h: Likewise.
62178         * lib/unictype/combining.h: Likewise.
62179         * lib/unictype/ctype_alnum.h: Likewise.
62180         * lib/unictype/ctype_alpha.h: Likewise.
62181         * lib/unictype/ctype_blank.h: Likewise.
62182         * lib/unictype/ctype_cntrl.h: Likewise.
62183         * lib/unictype/ctype_digit.h: Likewise.
62184         * lib/unictype/ctype_graph.h: Likewise.
62185         * lib/unictype/ctype_lower.h: Likewise.
62186         * lib/unictype/ctype_print.h: Likewise.
62187         * lib/unictype/ctype_punct.h: Likewise.
62188         * lib/unictype/ctype_space.h: Likewise.
62189         * lib/unictype/ctype_upper.h: Likewise.
62190         * lib/unictype/ctype_xdigit.h: Likewise.
62191         * lib/unictype/decdigit.h: Likewise.
62192         * lib/unictype/digit.h: Likewise.
62193         * lib/unictype/mirror.h: Likewise.
62194         * lib/unictype/numeric.h: Likewise.
62195         * lib/unictype/pr_alphabetic.h: Likewise.
62196         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
62197         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
62198         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
62199         * lib/unictype/pr_bidi_block_separator.h: Likewise.
62200         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
62201         * lib/unictype/pr_bidi_common_separator.h: Likewise.
62202         * lib/unictype/pr_bidi_control.h: Likewise.
62203         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
62204         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
62205         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
62206         * lib/unictype/pr_bidi_european_digit.h: Likewise.
62207         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
62208         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
62209         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
62210         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
62211         * lib/unictype/pr_bidi_pdf.h: Likewise.
62212         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
62213         * lib/unictype/pr_bidi_whitespace.h: Likewise.
62214         * lib/unictype/pr_combining.h: Likewise.
62215         * lib/unictype/pr_composite.h: Likewise.
62216         * lib/unictype/pr_currency_symbol.h: Likewise.
62217         * lib/unictype/pr_dash.h: Likewise.
62218         * lib/unictype/pr_decimal_digit.h: Likewise.
62219         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
62220         * lib/unictype/pr_deprecated.h: Likewise.
62221         * lib/unictype/pr_diacritic.h: Likewise.
62222         * lib/unictype/pr_extender.h: Likewise.
62223         * lib/unictype/pr_format_control.h: Likewise.
62224         * lib/unictype/pr_grapheme_base.h: Likewise.
62225         * lib/unictype/pr_grapheme_extend.h: Likewise.
62226         * lib/unictype/pr_grapheme_link.h: Likewise.
62227         * lib/unictype/pr_hex_digit.h: Likewise.
62228         * lib/unictype/pr_hyphen.h: Likewise.
62229         * lib/unictype/pr_id_continue.h: Likewise.
62230         * lib/unictype/pr_id_start.h: Likewise.
62231         * lib/unictype/pr_ideographic.h: Likewise.
62232         * lib/unictype/pr_ids_binary_operator.h: Likewise.
62233         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
62234         * lib/unictype/pr_ignorable_control.h: Likewise.
62235         * lib/unictype/pr_iso_control.h: Likewise.
62236         * lib/unictype/pr_join_control.h: Likewise.
62237         * lib/unictype/pr_left_of_pair.h: Likewise.
62238         * lib/unictype/pr_line_separator.h: Likewise.
62239         * lib/unictype/pr_logical_order_exception.h: Likewise.
62240         * lib/unictype/pr_lowercase.h: Likewise.
62241         * lib/unictype/pr_math.h: Likewise.
62242         * lib/unictype/pr_non_break.h: Likewise.
62243         * lib/unictype/pr_not_a_character.h: Likewise.
62244         * lib/unictype/pr_numeric.h: Likewise.
62245         * lib/unictype/pr_other_alphabetic.h: Likewise.
62246         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
62247         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
62248         * lib/unictype/pr_other_id_continue.h: Likewise.
62249         * lib/unictype/pr_other_id_start.h: Likewise.
62250         * lib/unictype/pr_other_lowercase.h: Likewise.
62251         * lib/unictype/pr_other_math.h: Likewise.
62252         * lib/unictype/pr_other_uppercase.h: Likewise.
62253         * lib/unictype/pr_paired_punctuation.h: Likewise.
62254         * lib/unictype/pr_paragraph_separator.h: Likewise.
62255         * lib/unictype/pr_pattern_syntax.h: Likewise.
62256         * lib/unictype/pr_pattern_white_space.h: Likewise.
62257         * lib/unictype/pr_private_use.h: Likewise.
62258         * lib/unictype/pr_punctuation.h: Likewise.
62259         * lib/unictype/pr_quotation_mark.h: Likewise.
62260         * lib/unictype/pr_radical.h: Likewise.
62261         * lib/unictype/pr_sentence_terminal.h: Likewise.
62262         * lib/unictype/pr_soft_dotted.h: Likewise.
62263         * lib/unictype/pr_space.h: Likewise.
62264         * lib/unictype/pr_terminal_punctuation.h: Likewise.
62265         * lib/unictype/pr_titlecase.h: Likewise.
62266         * lib/unictype/pr_unassigned_code_value.h: Likewise.
62267         * lib/unictype/pr_unified_ideograph.h: Likewise.
62268         * lib/unictype/pr_uppercase.h: Likewise.
62269         * lib/unictype/pr_variation_selector.h: Likewise.
62270         * lib/unictype/pr_white_space.h: Likewise.
62271         * lib/unictype/pr_xid_continue.h: Likewise.
62272         * lib/unictype/pr_xid_start.h: Likewise.
62273         * lib/unictype/pr_zero_width.h: Likewise.
62274         * lib/unictype/scripts.h: Likewise.
62275         * lib/unictype/scripts_byname.gperf: Likewise.
62276         * lib/unictype/sy_c_ident.h: Likewise.
62277         * lib/unictype/sy_c_whitespace.h: Likewise.
62278         * lib/unictype/sy_java_ident.h: Likewise.
62279         * lib/unictype/sy_java_whitespace.h: Likewise.
62280
62281         * lib/unictype/Makefile: New file.
62282         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
62283         glibc.
62284         * lib/unictype/3level.h: New file, copied from glibc.
62285         * lib/unictype/3levelbit.h: New file.
62286
62287 2007-11-11  Bruno Haible  <bruno@clisp.org>
62288
62289         * modules/gperf: New file.
62290         * modules/iconv_open (Depends-on): Add it.
62291         (Makefile.am): Remove the GPERF definition.
62292
62293 2007-11-11  Bruno Haible  <bruno@clisp.org>
62294
62295         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
62296         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
62297
62298 2007-11-11  Bruno Haible  <bruno@clisp.org>
62299
62300         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
62301         (usage): Remove function.
62302
62303 2007-11-11  Bruno Haible  <bruno@clisp.org>
62304
62305         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
62306         gl_FUNC_CEILF_LIBS.
62307         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
62308         gl_FUNC_CEIL_LIBS.
62309         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
62310         gl_FUNC_CEILL_LIBS.
62311         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
62312         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
62313         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
62314
62315 2007-11-11  Bruno Haible  <bruno@clisp.org>
62316
62317         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
62318         roundf were declared but do not exist on functions.
62319         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
62320         roundl were declared but do not exist on functions.
62321         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
62322         HAVE_FLOORL_AND_CEILL, respectively.
62323         Needed for Sun C on Solaris 10.
62324
62325 2007-11-11  Bruno Haible  <bruno@clisp.org>
62326
62327         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
62328         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
62329         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
62330         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
62331         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
62332         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
62333         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
62334         HAVE_DECL_ROUNDF.
62335         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
62336         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
62337         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
62338         of HAVE_DECL_ROUND*.
62339         * modules/math (Makefile.am): Update.
62340
62341 2007-11-10  Bruno Haible  <bruno@clisp.org>
62342
62343         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
62344         ptrdiff_t as m4/intl.m4.
62345
62346 2007-11-10  Jim Meyering  <meyering@redhat.com>
62347
62348         Avoid link failure for the argmatch test.
62349         * tests/test-argmatch.c (usage): Define function to avoid a link
62350         failure: argmatch_die requires a usage function.
62351
62352 2007-11-09  Bruno Haible  <bruno@clisp.org>
62353
62354         * doc/functions/snprintf.texi: Mention BeOS deficiency.
62355         * doc/functions/vsnprintf.texi: Likewise.
62356         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
62357         with a size argument < 2.
62358
62359 2007-11-09  Bruno Haible  <bruno@clisp.org>
62360
62361         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
62362         buffer. Fixes an inefficiency introduced on 2007-11-03.
62363
62364 2007-11-09  Bruno Haible  <bruno@clisp.org>
62365
62366         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
62367         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
62368
62369 2007-11-08  Jim Meyering  <meyering@redhat.com>
62370
62371         Change cache variable name prefix "jm_" to "gl_" everywhere.
62372         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
62373         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
62374         * m4/uptime.m4: s/gl_/jm_/
62375
62376 2007-11-07  Bruno Haible  <bruno@clisp.org>
62377
62378         Update to GNU gettext 0.17.
62379         * m4/intl.m4: Update to GNU gettext 0.17.
62380         * m4/po.m4: Likewise.
62381         * modules/gettext (Files): Remove m4/ulonglong.m4.
62382         (configure.ac): Require gettext infrastructure from version 0.17.
62383
62384 2007-11-06  Bruno Haible  <bruno@clisp.org>
62385
62386         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
62387         symbolic values are not defined in a public header.
62388         * lib/freadable.c (freadable) [QNX]: Likewise.
62389         * lib/freadahead.c (freadahead) [QNX]: Likewise.
62390         * lib/freading.c (freading) [QNX]: Likewise.
62391         * lib/fseterr.c (fseterr) [QNX]: Likewise.
62392         * lib/fwritable.c (fwritable) [QNX]: Likewise.
62393         * lib/fwriting.c (fwriting) [QNX]: Likewise.
62394         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
62395         Reported by Alain Magloire.
62396
62397         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
62398
62399 2007-11-05  Bruno Haible  <bruno@clisp.org>
62400
62401         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
62402         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
62403         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
62404         Reported by Eric Blake.
62405
62406 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62407             Bruno Haible  <bruno@clisp.org>
62408
62409         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
62410         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
62411         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
62412         (malloc): Undefine also before including <stdlib.h>.
62413         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
62414         Needed on OSF/1 4.0.
62415
62416 2007-11-05  Jim Meyering  <meyering@redhat.com>
62417
62418         git-version-gen: sync from coreutils.
62419         * build-aux/git-version-gen: Add comments.
62420         Change the first '-' to '.' in the snapshot version string,
62421         e.g., 6.9-377-08144 -> 6.9.377-08144
62422         Remove first parameter.
62423         Don't declare a version "-dirty" merely because a time
62424         stamp has changed.
62425
62426 2007-11-04  Bruno Haible  <bruno@clisp.org>
62427
62428         * lib/lock.h: Protect all macro definitions containing an 'if'
62429         statement through a "do { ... } while (0)".
62430         * lib/tls.h: Likewise.
62431
62432 2007-11-04  Bruno Haible  <bruno@clisp.org>
62433
62434         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
62435
62436 2007-11-04  Bruno Haible  <bruno@clisp.org>
62437
62438         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
62439         * modules/fprintf-posix (Depends-on): Add nocrash.
62440         * modules/snprintf-posix (Depends-on): Likewise.
62441         * modules/sprintf-posix (Depends-on): Likewise.
62442         * modules/vasnprintf-posix (Depends-on): Likewise.
62443         * modules/vasprintf-posix (Depends-on): Likewise.
62444         * modules/vfprintf-posix (Depends-on): Likewise.
62445         * modules/vsnprintf-posix (Depends-on): Likewise.
62446         * modules/vsprintf-posix (Depends-on): Likewise.
62447         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62448         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62449         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62450         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62451         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62452         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62453         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62454
62455 2007-11-04  Bruno Haible  <bruno@clisp.org>
62456
62457         * modules/nocrash: New file.
62458         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
62459         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
62460
62461 2007-11-04  Bruno Haible  <bruno@clisp.org>
62462
62463         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
62464         precision handling.
62465         * tests/test-vasprintf-posix.c (test_function): Likewise.
62466         * tests/test-snprintf-posix.h (test_function): Likewise.
62467         * tests/test-sprintf-posix.h (test_function): Likewise.
62468
62469         Fix *printf behaviour for large precisions on mingw and BeOS.
62470         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
62471         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
62472         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
62473         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62474         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62475         gl_PRINTF_PRECISION and test its result. Invoke
62476         gl_PREREQ_VASNPRINTF_PRECISION.
62477         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62478         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62479         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62480         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62481         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62482         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62483         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62484         * doc/functions/fprintf.texi: Update.
62485         * doc/functions/printf.texi: Update.
62486         * doc/functions/snprintf.texi: Update.
62487         * doc/functions/sprintf.texi: Update.
62488         * doc/functions/vfprintf.texi: Update.
62489         * doc/functions/vprintf.texi: Update.
62490         * doc/functions/vsnprintf.texi: Update.
62491         * doc/functions/vsprintf.texi: Update.
62492
62493 2007-11-04  Bruno Haible  <bruno@clisp.org>
62494
62495         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
62496
62497 2007-11-04  Bruno Haible  <bruno@clisp.org>
62498
62499         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
62500         Reported by Sylvain Beucler <beuc@gnu.org>.
62501
62502 2007-11-03  Bruno Haible  <bruno@clisp.org>
62503
62504         * tests/test-fprintf-posix2.sh: New file.
62505         * tests/test-fprintf-posix2.c: New file.
62506         * modules/fprintf-posix-tests (Files): Add them.
62507         (TESTS): Add test-fprintf-posix2.sh.
62508         (configure.ac): Check for getrlimit and setrlimit.
62509         (check_PROGRAMS): Add test-fprintf-posix2.
62510
62511         * tests/test-printf-posix2.sh: New file.
62512         * tests/test-printf-posix2.c: New file.
62513         * modules/printf-posix-tests (Files): Add them.
62514         (TESTS): Add test-printf-posix2.sh.
62515         (configure.ac): Check for getrlimit and setrlimit.
62516         (check_PROGRAMS): Add test-printf-posix2.
62517
62518         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
62519         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
62520         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
62521         (decode_double): New function, copied from decode_long_double.
62522         (scale10_round_decimal_decoded): New function, extracted from
62523         scale10_round_decimal_long_double.
62524         (scale10_round_decimal_long_double): Use it.
62525         (scale10_round_decimal_double): New function.
62526         (floorlog10): New function.
62527         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
62528         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
62529         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62530         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62531         gl_PRINTF_ENOMEM and test its result. Invoke
62532         gl_PREREQ_VASNPRINTF_ENOMEM.
62533         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62534         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62535         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62536         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62537         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62538         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62539         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62540         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
62541         * modules/snprintf-posix (Depends-on): Likewise.
62542         * modules/sprintf-posix (Depends-on): Likewise.
62543         * modules/vasnprintf-posix (Depends-on): Likewise.
62544         * modules/vasprintf-posix (Depends-on): Likewise.
62545         * modules/vfprintf-posix (Depends-on): Likewise.
62546         * modules/vsnprintf-posix (Depends-on): Likewise.
62547         * modules/vsprintf-posix (Depends-on): Likewise.
62548         * doc/functions/fprintf.texi: Update.
62549         * doc/functions/printf.texi: Update.
62550         * doc/functions/snprintf.texi: Update.
62551         * doc/functions/sprintf.texi: Update.
62552         * doc/functions/vfprintf.texi: Update.
62553         * doc/functions/vprintf.texi: Update.
62554         * doc/functions/vsnprintf.texi: Update.
62555         * doc/functions/vsprintf.texi: Update.
62556
62557 2007-11-03  Bruno Haible  <bruno@clisp.org>
62558
62559         * modules/frexp-nolibm-tests: New file.
62560
62561         * modules/frexp-nolibm: New file.
62562         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
62563
62564 2007-11-03  Bruno Haible  <bruno@clisp.org>
62565
62566         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
62567         value is C99 compliant.
62568         Needed for OSF/1 5.1.
62569
62570 2007-11-03  Bruno Haible  <bruno@clisp.org>
62571
62572         Fix out-of-memory handling of vasnprintf.
62573         * lib/printf-parse.c: Include <errno.h>.
62574         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
62575         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
62576         is already set.
62577
62578 2007-11-02  Eric Blake  <ebb9@byu.net>
62579
62580         Fix tests on cygwin.
62581         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
62582
62583 2007-11-01  Bruno Haible  <bruno@clisp.org>
62584
62585         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
62586         warning.
62587         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
62588         needed for POSIX compatibility.
62589
62590 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
62591
62592         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
62593         for compatibility with GNU.
62594
62595 2007-11-01  Bruno Haible  <bruno@clisp.org>
62596
62597         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
62598         (putenv): Renamed from rpl_putenv. Change argument type from
62599         'const char *' to 'char *'.
62600         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
62601         of defining putenv in config.h, just set REPLACE_PUTENV.
62602         * modules/putenv (Depends-on): Add stdlib.
62603         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
62604         (Include): Use <stdlib.h>.
62605         * lib/stdlib.in.h (putenv): New declaration.
62606         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
62607         REPLACE_PUTENV.
62608         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
62609         REPLACE_PUTENV.
62610         Needed for MacOS X 10.5.0.
62611         Reported by Peter O'Gorman <peter@pogma.com>.
62612
62613 2007-11-01  Jim Meyering  <meyering@redhat.com>
62614
62615         Treat an empty date string exactly like "0".
62616         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
62617         if the remaining date string (to be parsed) is empty, use "0".
62618         Reported by Mischa Molhoek and discussed in this thread:
62619         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
62620
62621 2007-10-31  Bruno Haible  <bruno@clisp.org>
62622
62623         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
62624         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
62625         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
62626         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
62627         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
62628         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
62629
62630 2007-10-31  Bruno Haible  <bruno@clisp.org>
62631
62632         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
62633         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
62634         (AC_TYPE_LONG_LONG_INT): Use it.
62635         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
62636         it as well.
62637         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
62638         to m4/longlong.m4.
62639         * modules/stdint (Files): Remove m4/ulonglong.m4.
62640         * modules/strtoull (Files): Use m4/longlong.m4 instead of
62641         m4/ulonglong.m4.
62642         * modules/strtoumax (Files): Likewise.
62643
62644 2007-10-30  Bruno Haible  <bruno@clisp.org>
62645
62646         * modules/xvasprintf-posix: New file.
62647         Suggested by Eric Blake.
62648
62649 2007-10-30  Bruno Haible  <bruno@clisp.org>
62650
62651         * modules/xprintf-posix-tests: New file.
62652         * tests/test-xprintf-posix.sh: New file.
62653         * tests/test-xprintf-posix.c: New file.
62654         * tests/test-xfprintf-posix.c: New file.
62655
62656         * modules/xprintf-posix: New file.
62657
62658 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62659
62660         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
62661         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
62662         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
62663
62664 2007-10-29  Bruno Haible  <bruno@clisp.org>
62665
62666         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
62667         contain the special marker '_cv_'.
62668         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
62669         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
62670         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
62671         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
62672         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
62673         Reported by Ralf Wildenhues.
62674
62675 2007-10-29  Bruno Haible  <bruno@clisp.org>
62676
62677         * gnulib-tool (func_import): When --lgpl is not specified, set
62678         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
62679         GPLv3.
62680         Reported by Simon Josefsson.
62681
62682 2007-10-28  Bruno Haible  <bruno@clisp.org>
62683
62684         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
62685         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
62686         HAVE_DECL_ISFINITE.
62687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62688         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
62689         HAVE_DECL_ISFINITE.
62690
62691 2007-10-28  Bruno Haible  <bruno@clisp.org>
62692
62693         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
62694         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
62695
62696 2007-10-28  Bruno Haible  <bruno@clisp.org>
62697
62698         Fix link errors with Sun C 5.0 on Solaris 10.
62699         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
62700         function is declared but not present in the compiler's libm.
62701         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
62702         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
62703         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
62704         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
62705         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
62706         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
62707         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
62708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62709         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
62710         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
62711         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
62712         HAVE_DECL_FLOORL.
62713
62714 2007-10-28  Bruno Haible  <bruno@clisp.org>
62715
62716         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
62717         gl_FUNC_FLOORL. Cache the result.
62718         (gl_FUNC_FLOORL): Use it.
62719         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
62720         gl_FUNC_CEILL. Cache the result.
62721         (gl_FUNC_CEILL): Use it.
62722
62723         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
62724         gl_FUNC_FLOOR. Cache the result.
62725         (gl_FUNC_FLOOR): Use it.
62726         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
62727         gl_FUNC_CEIL. Cache the result.
62728         (gl_FUNC_CEIL): Use it.
62729
62730         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
62731         gl_FUNC_FLOORF. Cache the result.
62732         (gl_FUNC_FLOORF): Use it.
62733         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
62734         gl_FUNC_CEILF. Cache the result.
62735         (gl_FUNC_CEILF): Use it.
62736
62737 2007-10-28  Bruno Haible  <bruno@clisp.org>
62738
62739         * gnulib-tool: Allow specifying the LGPL version number through
62740         --lgpl=2 or --lgpl=3.
62741         (func_usage): Document --lgpl with argument.
62742         Handle --lgpl=... arguments.
62743         (func_import): Recognize also gl_LGPL calls with an argument. When
62744         --lgpl=2 is used and the module's license is just LGPL, report an
62745         error. Set sed_transform_lib_file according to the lgpl variable. In
62746         the generated files, use --lgpl or gl_LGPL invocations with argument,
62747         if necessary.
62748         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
62749         an LGPv2+ license.
62750         * doc/gnulib-tool.texi (Modified imports): Update explanation of
62751         gl_LGPL macro.
62752
62753 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62754             Bruno Haible  <bruno@clisp.org>
62755
62756         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
62757         (u16_uctomb_aux): Likewise.
62758         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
62759         !HAVE_INLINE.
62760         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
62761
62762 2007-10-28  Bruno Haible  <bruno@clisp.org>
62763
62764         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
62765         Invoke AM_GETTEXT_OPTION if it exists.
62766         * modules/vasprintf: Likewise.
62767         * modules/verror: Likewise.
62768         * modules/xprintf: Likewise.
62769         * modules/xvasprintf: Likewise.
62770
62771 2007-10-27  Ben Pfaff  <blp@gnu.org>
62772
62773         * lib/math.in.h: Define isfinite macro and prototypes for
62774         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
62775         implementations.
62776         * m4/math_h.m4: New substitutions for isfinite module.
62777         * lib/isfinite.c: New file.
62778         * m4/isfinite.m4: New file.
62779         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
62780         * modules/isfinite: New file.
62781         * modules/isfinite-tests: New file.
62782         * tests/tests-isfinite.c: New file.
62783         * doc/functions/isfinite.texi: Mention isfinite module.
62784         * MODULES.html.sh: Mention new module.
62785
62786 2007-10-27  Ben Pfaff  <blp@gnu.org>
62787
62788         Ralf Wildenhues reported that Tru64 4.0D declares the round
62789         functions but does not have definitions.
62790         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
62791         cannot be found in any library, set the output variable to
62792         "missing" instead of "".
62793         * m4/round.m4: Also use our substitute if we cannot find round in
62794         any library, even if it is declared.
62795         * m4/roundf.m4: Likewise for roundf.
62796         * m4/roundl.m4: Likewise for roundl.
62797         * lib/math.in.h: Undefine roundf, round, roundl before defining
62798         their replacements, to allow for hypothetical systems where these
62799         may be defined as macros but not available in libraries.
62800
62801 2007-10-27  Bruno Haible  <bruno@clisp.org>
62802
62803         * doc/gnulib.texi: Invoke @firstparagraphindent.
62804         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
62805         changes in gnulib.
62806         (Source changes): New section.
62807
62808 2007-10-26  Bruno Haible  <bruno@clisp.org>
62809
62810         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
62811         borrowed from autoconf.
62812
62813 2007-10-26  Bruno Haible  <bruno@clisp.org>
62814
62815         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
62816         strerror returned the empty string. Needed on HP-UX 11.00.
62817
62818 2007-10-24  Micah Cowan  <micah@cowan.name>
62819
62820         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
62821         * build-aux/bootstrap: Remove support for now-unnecessary option,
62822         --cvs-user, and envvars CVS_USER, CVS_RSH.
62823
62824 2007-10-24  Jim Meyering  <meyering@redhat.com>
62825
62826         Avoid diagnostics from sha1sum when there is no cached checksum.
62827         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
62828         if the po.s1 file hasn't been created yet.
62829
62830         * build-aux/bootstrap: Sync from coreutils:
62831         2007-10-24  Jim Meyering  <meyering@redhat.com>
62832         Get gnulib from the git repository, not from an obsolete cvs one.
62833         * build-aux/bootstrap: Suggestion from Micah Cowan.
62834         2007-10-04  Jim Meyering  <jim@meyering.net>
62835         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
62836         (update_po_files): Work also when there are no .po files in po/.
62837
62838 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62839
62840         * README: Append ".git" to git and cg examples.
62841         Problem reported by Benoit Sigoure.
62842
62843 2007-10-23  Micah Cowan  <micah@cowan.name>
62844
62845         * users.txt: Add wget.
62846
62847 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62848
62849         Fix linking of some unistdio tests on FreeBSD.
62850         * modules/unistdio/u16-vsnprintf-tests
62851         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
62852         * modules/unistdio/u16-vsprintf-tests
62853         (test_u16_vsnprintf1_LDADD): Likewise.
62854         * modules/unistdio/u32-vsnprintf-tests
62855         (test_u32_vsnprintf1_LDADD): Likewise.
62856         * modules/unistdio/u32-vsprintf-tests
62857         (test_u32_vsprintf1_LDADD): Likewise.
62858         * modules/unistdio/u8-vsnprintf-tests
62859         (test_u8_vsnprintf1_LDADD): Likewise.
62860         * modules/unistdio/u8-vsprintf-tests
62861         (test_u8_vsprintf1_LDADD): Likewise.
62862         * modules/unistdio/ulc-vsnprintf-tests
62863         (test_ulc_vsnprintf1_LDADD): Likewise.
62864         * modules/unistdio/ulc-vsprintf-tests
62865         (test_ulc_vsprintf1_LDADD): Likewise.
62866
62867         Fix linking of some uniconv tests on FreeBSD.
62868         * modules/uniconv/u16-conv-from-enc-tests
62869         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
62870         * modules/uniconv/u16-conv-to-enc-tests
62871         (test_u16_conv_to_enc_LDADD): Likewise.
62872         * modules/uniconv/u16-strconv-from-enc-tests
62873         (test_u16_strconv_from_enc_LDADD): Likewise.
62874         * modules/uniconv/u16-strconv-to-enc-tests
62875         (test_u16_strconv_to_enc_LDADD): Likewise.
62876         * modules/uniconv/u32-conv-from-enc-tests
62877         (test_u32_conv_from_enc_LDADD): Likewise.
62878         * modules/uniconv/u32-conv-to-enc-tests
62879         (test_u32_conv_to_enc_LDADD): Likewise.
62880         * modules/uniconv/u32-strconv-from-enc-tests
62881         (test_u32_strconv_from_enc_LDADD): Likewise.
62882         * modules/uniconv/u32-strconv-to-enc-tests
62883         (test_u32_strconv_to_enc_LDADD): Likewise.
62884         * modules/uniconv/u8-conv-from-enc-tests
62885         (test_u8_conv_from_enc_LDADD): Likewise.
62886         * modules/uniconv/u8-conv-to-enc-tests
62887         (test_u8_conv_to_enc_LDADD): Likewise.
62888         * modules/uniconv/u8-strconv-from-enc-tests
62889         (test_u8_strconv_from_enc_LDADD): Likewise.
62890         * modules/uniconv/u8-strconv-to-enc-tests
62891         (test_u8_strconv_to_enc_LDADD): Likewise.
62892
62893 2007-10-22  Bruno Haible  <bruno@clisp.org>
62894
62895         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
62896         size.
62897
62898 2007-10-22  Eric Blake  <ebb9@byu.net>
62899
62900         Tweak x*printf documentation.
62901         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
62902         variable name and comments.
62903         Suggested by Bruno Haible.
62904
62905 2007-10-22  Bruno Haible  <bruno@clisp.org>
62906
62907         * lib/acl.c (copy_acl): Fix file name in comment.
62908
62909 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62910
62911         Fix Tru64 problem with stdbool.h.
62912         * lib/stdbool.in.h (false, true):
62913         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
62914         Don't declare as an enum in this situation; it runs afoul of Tru64.
62915         Problem reported by Steven M. Schweda in
62916         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
62917
62918 2007-10-22  Eric Blake  <ebb9@byu.net>
62919
62920         Also wrap vf?printf.
62921         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
62922         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
62923         (xvprintf, xvfprintf): New functions.
62924
62925 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62926
62927         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
62928         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
62929
62930         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
62931         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
62932
62933 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62934
62935         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
62936         by Bruno Haible.
62937
62938 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62939
62940         * lib/getloadavg.c
62941         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
62942         Undef `sys' after including sys/table.h, for Tru64 4.0D.
62943
62944         * tests/test-i-ring.c: Work for C89.
62945
62946 2007-10-22  Bruno Haible  <bruno@clisp.org>
62947
62948         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
62949         -1u, in preprocessor expression, so that we don't test for the bug
62950         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
62951         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
62952
62953 2007-10-22  Eric Blake  <ebb9@byu.net>
62954
62955         * tests/test-yesno.sh: Silence stderr during test.
62956
62957 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62958
62959         * modules/crypto/gc-camellia: New file.
62960
62961         * m4/gc-camellia.m4: New file.
62962
62963         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
62964
62965         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
62966
62967 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62968
62969         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
62970         --help to stdout.  Reported by sms@antinode.org (Steven
62971         M. Schweda).
62972
62973 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62974
62975         * users.txt: Fix link to libksba.
62976
62977 2007-10-21  Ben Pfaff  <blp@gnu.org>
62978
62979         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
62980         round.c roundf implementation that depends on floorf and ceilf to
62981         be tested unconditionally.
62982
62983 2007-10-21  Ben Pfaff  <blp@gnu.org>
62984
62985         * m4/check-libm-func.m4: Removed.
62986         * m4/check-math-lib.m4: New file.
62987         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
62988         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
62989         definition and lack of AC_LIBOBJ([roundf]).
62990         * m4/roundl.m4: Ditto, and similarly for roundl.
62991         * modules/round: Reference new m4 file.
62992         * modules/roundf: Ditto.
62993         * modules/roundl: Ditto.
62994         * tests/test-round2.c (main): Use ROUND instead of round.
62995         Bug report from Bruno Haible.
62996
62997 2007-10-21  Bruno Haible  <bruno@clisp.org>
62998
62999         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
63000         context.
63001
63002 2007-10-21  Bruno Haible  <bruno@clisp.org>
63003
63004         * tests/test-wcwidth.c (main): Allow negative result for some control
63005         characters.
63006
63007         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
63008         Needed on OSF/1 5.1.
63009
63010 2007-10-21  Bruno Haible  <bruno@clisp.org>
63011
63012         * tests/test-floorf1.c: Include isnanf.h.
63013         (main): Use isnanf() instead of isnan().
63014         * tests/test-ceilf1.c: Include isnanf.h.
63015         (main): Use isnanf() instead of isnan().
63016         * tests/test-truncf1.c: Include isnanf.h.
63017         (main): Use isnanf() instead of isnan().
63018         * tests/test-roundf1.c: Include isnanf.h.
63019         (main): Use isnanf() instead of isnan().
63020
63021 2007-10-21  Eric Blake  <ebb9@byu.net>
63022
63023         * users.txt: Update URL for m4.
63024
63025 2007-10-21  Bruno Haible  <bruno@clisp.org>
63026
63027         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
63028
63029 2007-10-21  Bruno Haible  <bruno@clisp.org>
63030
63031         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
63032         Git's management files if the CVS files are not present.
63033
63034 2007-10-20  Bruno Haible  <bruno@clisp.org>
63035
63036         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
63037         gcc-3.4.x.
63038
63039 2007-10-20  Ben Pfaff  <blp@gnu.org>
63040
63041         * lib/math.in.h: Declare round, roundf, roundl if we are providing
63042         implementations.
63043         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
63044         * lib/round.c: New file.
63045         * lib/roundf.c: New file.
63046         * lib/roundl.c: New file.
63047         * m4/round.m4: New file.
63048         * m4/roundf.m4: New file.
63049         * m4/roundl.m4: New file.
63050         * m4/check-libm-func-m4: New file.
63051         * modules/math: Replace round, roundf, roundl related @VARS@ in
63052         math.in.h.
63053         * modules/round: New file.
63054         * modules/round-tests: New file.
63055         * modules/roundf: New file.
63056         * modules/roundf-tests: New file.
63057         * modules/roundl: New file.
63058         * modules/roundl-tests: New file.
63059         * tests/test-round1.c: New file.
63060         * tests/test-round2.c: New file.
63061         * tests/test-roundf1.c: New file.
63062         * tests/test-roundf2.c: New file.
63063         * tests/test-roundl.c: New file.
63064         * doc/functions/round.texi: Mention round module.
63065         * doc/functions/roundf.texi: Mention roundf module.
63066         * doc/functions/roundl.texi: Mention roundl module.
63067         * MODULES.html.sh: Mention new modules.
63068         Thanks to Bruno Haible for suggestions.
63069
63070 2007-10-20  Jim Meyering  <meyering@redhat.com>
63071
63072         * lib/xprintf.c: Include <config.h> unconditionally.
63073
63074         Change xprintf's license to GPL.
63075         * modules/xprintf (License): s/LGPL/GPL/, since this module
63076         depends on modules (exit and exitfail) which are GPL.
63077         Suggestion from Bruno Haible.
63078
63079         xprintf fixes.
63080         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
63081         Use a clearer diagnostic.
63082         Patch from Bruno Haible.
63083
63084 2007-10-20  Bruno Haible  <bruno@clisp.org>
63085
63086         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
63087         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
63088         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63089
63090 2007-10-20  Bruno Haible  <bruno@clisp.org>
63091
63092         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
63093         precision in the comparison result > x - 1 or similar.
63094         * tests/test-ceilf2.c (correct_result_p): Likewise.
63095         * tests/test-truncf2.c (correct_result_p): Likewise.
63096         * tests/test-trunc2.c (correct_result_p): Likewise.
63097         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63098
63099 2007-10-20  Bruno Haible  <bruno@clisp.org>
63100
63101         * modules/ceil: New file.
63102         * m4/ceil.m4: New file.
63103         * doc/functions/ceil.texi: Mention the 'ceil' module.
63104
63105 2007-10-20  Bruno Haible  <bruno@clisp.org>
63106
63107         * modules/floor: New file.
63108         * m4/floor.m4: New file.
63109         * doc/functions/floor.texi: Mention the 'floor' module.
63110
63111 2007-10-20  Bruno Haible  <bruno@clisp.org>
63112
63113         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
63114         of %a.
63115         * modules/floorf-tests (Depends-on): Likewise.
63116         * modules/truncf-tests (Depends-on): Likewise.
63117         * modules/trunc-tests (Depends-on): Likewise.
63118         Reported by Ben Pfaff.
63119
63120 2007-10-19  Jim Meyering  <meyering@redhat.com>
63121
63122         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
63123         Don't bother testing specific errno values.  Just test ferror.
63124
63125         New module: xprintf
63126         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
63127
63128 2007-10-19  Bruno Haible  <bruno@clisp.org>
63129
63130         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
63131         syntax.
63132         * modules/javaexec (Makefile.am): Likewise.
63133         * modules/relocatable-prog (Makefile.am): Likewise.
63134         Suggested by Jim Meyering.
63135
63136 2007-10-18  Bruno Haible  <bruno@clisp.org>
63137
63138         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
63139         Reported by Jim Meyering.
63140
63141 2007-10-18  Eric Blake  <ebb9@byu.net>
63142
63143         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
63144
63145 2007-10-18  Bruno Haible  <bruno@clisp.org>
63146
63147         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
63148         the format string into writable memory. Needed in Fortify conditions.
63149
63150 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
63151             Bruno Haible  <bruno@clisp.org>
63152
63153         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
63154         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
63155         * modules/trim (Depends-on): Add mbchar.
63156         (configure.ac): Add gl_FUNC_MBRTOWC.
63157         (Makefile.am): Augment lib_SOURCES.
63158
63159 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
63160
63161         Modify glob.c to use fstatat and dirfd, to simplify it.
63162         Suggested by Eric Blake.
63163         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
63164         Don't include <stdbool.h>; not used.
63165         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
63166         (link_exists_p): Simplify implementation, since we can now assume
63167         dirfd and fstatat.
63168         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
63169
63170 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63171
63172         * gnulib-tool (func_get_dependencies): Fix sed script to
63173         match only tests.
63174
63175 2007-10-17  Bruno Haible  <bruno@clisp.org>
63176
63177         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
63178         allow locale names without encoding suffix.
63179         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
63180         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63181
63182 2007-10-16  Bruno Haible  <bruno@clisp.org>
63183
63184         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
63185         * lib/getgroups.c (getgroups): Likewise.
63186         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
63187
63188 2007-10-16  Bruno Haible  <bruno@clisp.org>
63189
63190         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
63191         * modules/malloc-posix (License): Likewise.
63192         * modules/realloc-posix (License): Likewise.
63193         * modules/calloc-posix (License): Likewise.
63194         * modules/intprops (License): Change from GPL to LGPL, with
63195         Paul Eggert's approval.
63196
63197 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63198
63199         Merge glibc changes into lib/glob.c.
63200
63201         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
63202         2007-10-15 04:59:03 UTC.  Here are the changes:
63203
63204         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
63205
63206         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
63207
63208         * lib/glob.c: Add some branch prediction throughout.
63209
63210         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
63211
63212         [BZ #5103]
63213         * lib/glob.c (glob): Recognize patterns starting \/.
63214
63215         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
63216
63217         [BZ #3996]
63218         * lib/glob.c (attribute_hidden): Define if not defined.
63219         (glob): Unescape dirname, filename or username when needed and not
63220         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
63221         is NULL.  Handle unescaped [ in pattern without closing ].
63222         Don't pass GLOB_CHECK down to recursive glob for directories.
63223         (__glob_pattern_type): New function.
63224         (__glob_pattern_p): Implement using __glob_pattern_type.
63225         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
63226         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
63227         Remove unreachable code.
63228
63229         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
63230
63231         * lib/glob.c (glob_in_dir): Add some comments and asserts to
63232         explain why there are no leaks.
63233
63234         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
63235
63236         [BZ #3253]
63237         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
63238         time, rather allocate increasingly bigger arrays of pointers, if
63239         possible with alloca, if too large with malloc.
63240
63241 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63242
63243         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
63244         Problem reported by H.Merijn Brand in
63245         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
63246         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
63247         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
63248
63249 2007-10-15  Bruno Haible  <bruno@clisp.org>
63250
63251         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
63252         with explicit rpl_ prefix.
63253         * lib/fopen.c (fopen): Likewise.
63254         * lib/freopen.c (freopen): Likewise.
63255         * lib/iconv.c (iconv): Likewise.
63256         * lib/iconv_close.c (iconv_close): Likewise.
63257
63258 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63259
63260         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
63261
63262 2007-10-15  Bruno Haible  <bruno@clisp.org>
63263
63264         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
63265         <stddef.h> instead of <stdlib.h> since we only need NULL.
63266         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63267
63268 2007-10-15  Bruno Haible  <bruno@clisp.org>
63269
63270         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
63271         Replace paragraph talking about LIBOBJS.
63272         Reported by Colin Watson <cjwatson@debian.org>.
63273
63274 2007-10-15  Bruno Haible  <bruno@clisp.org>
63275
63276         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
63277         <stdlib.h> before using NULL.
63278
63279 2007-10-15  Simon Josefsson  <simon@josefsson.org>
63280
63281         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
63282         Reported by Albert Chin <china@thewrittenword.com>.
63283
63284 2007-10-14  Bruno Haible  <bruno@clisp.org>
63285
63286         * modules/iconv_open-utf-tests: New file.
63287         * tests/test-iconv-utf.c: New file.
63288
63289         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
63290         * modules/iconv_open-utf: New file.
63291         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
63292         (iconv, iconv_close): New declarations.
63293         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
63294         be defined.
63295         (iconv_open): Add special handling of conversion between UTF-8 and
63296         UTF-{16,32}{BE,LE}.
63297         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
63298         * lib/iconv_close.c: New file.
63299         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
63300         gl_FUNC_ICONV_OPEN.
63301         (gl_FUNC_ICONV_OPEN): Use it.
63302         (gl_FUNC_ICONV_OPEN_UTF): New macro.
63303         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
63304         and REPLACE_ICONV_UTF.
63305         * modules/iconv_open (Depends-on): Add c-strcase.
63306         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
63307         ICONV_CONST.
63308         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
63309
63310 2007-10-13  Albert Chin  <china@thewrittenword.com>
63311             Bruno Haible  <bruno@clisp.org>
63312
63313         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
63314         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
63315
63316 2007-10-13  Bruno Haible  <bruno@clisp.org>
63317
63318         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
63319         defined, use the ISO C99 inline semantics.
63320         * lib/argp.h (ARGP_EI): Likewise.
63321
63322 2007-10-13  Bruno Haible  <bruno@clisp.org>
63323
63324         Handle 'inline' change in gcc 4.3.0.
63325         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
63326         argp_fmtstream_write, argp_fmtstream_set_lmargin,
63327         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
63328         argp_fmtstream_point): Disable 'extern' declaration if the function
63329         definition is going to be provided inline.
63330         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
63331         semantics, not the ISO C99 inline semantics.
63332         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
63333         'extern' declaration if the function definition is going to be provided
63334         inline.
63335         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
63336         the GNU C inline semantics, not the ISO C99 inline semantics. With
63337         GCC 4.2, avoid a warning.
63338
63339 2007-10-13  Bruno Haible  <bruno@clisp.org>
63340
63341         * lib/freading.h (freading): Enable the use of __freading for
63342         glibc >= 2.7.
63343         * lib/freading.c (freading): Likewise.
63344
63345 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63346
63347         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
63348         "warning: C99 inline functions are not supported; using GNU89".
63349
63350 2007-10-12  Bruno Haible  <bruno@clisp.org>
63351
63352         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
63353         of 2.
63354         * tests/test-ceilf2.c: New file.
63355         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
63356
63357         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
63358         * modules/ceilf-tests: Update.
63359
63360 2007-10-12  Bruno Haible  <bruno@clisp.org>
63361
63362         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
63363         of 2.
63364         * tests/test-floorf2.c: New file.
63365         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
63366
63367         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
63368         * modules/floorf-tests: Update.
63369
63370 2007-10-12  Bruno Haible  <bruno@clisp.org>
63371
63372         * tests/test-trunc2.c: New file.
63373         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
63374
63375         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
63376         * modules/trunc-tests: Update.
63377
63378 2007-10-12  Bruno Haible  <bruno@clisp.org>
63379
63380         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
63381         of 2.
63382         * tests/test-truncf2.c: New file.
63383         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
63384
63385         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
63386         * modules/truncf-tests: Update.
63387
63388 2007-10-11  Eric Blake  <ebb9@byu.net>
63389
63390         Don't claim strerror is broken on Interix.
63391         * doc/functions/strerror.texi (strerror): Known broken systems are
63392         now Solaris 8, and not Interix.
63393         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
63394         Interix on cross-compile.
63395         Reported by Martin Koeppe in
63396         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
63397
63398 2007-10-11  Bruno Haible  <bruno@clisp.org>
63399
63400         * modules/i-ring-tests: New file.
63401         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
63402         instead of assert.
63403
63404 2007-10-11  Bruno Haible  <bruno@clisp.org>
63405
63406         * modules/filenamecat-tests: New file.
63407         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
63408         * lib/filenamecat.c: Remove test code.
63409
63410 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63411
63412         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
63413
63414         * lib/strerror.c: Include <string.h> always, to test interface,
63415         and to remove the need for the dummy.
63416         Include intprops.h to compute width instead of doing it ourselves
63417         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
63418         (strerror): Define it to return NULL if there's no system strerror.
63419         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
63420         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
63421         ancient pre-strerror Unix systems well any more.  Saying "unknown
63422         system error" is enough.
63423         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
63424         simpler strerror.c implementation.
63425         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
63426         Simplify the tests to reflect the simpler strerror implementation.
63427         * modules/strerror (Depends-on): Add intprops.
63428
63429 2007-10-09  Eric Blake  <ebb9@byu.net>
63430
63431         Silence test-fpending.
63432         * modules/fpending-tests (Files): Add wrapper script.
63433         * tests/test-fpending.sh: New file.
63434
63435 2007-10-09  Bruno Haible  <bruno@clisp.org>
63436
63437         * MODULES.html.sh (func_module): Don't create a hyperlink for
63438         function names like 'printf_frexp'.
63439         (Misc): Add crc, memxor.
63440         (Characteristics of floating types): New section.
63441         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
63442         isnanf-nolibm, signbit, trunc, truncf, truncl.
63443         (Enhancements for ISO C 99 functions): New subsection Input/output.
63444         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
63445         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
63446         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
63447         (Compatibility checks for POSIX:2001 functions): Add clock-time.
63448         (Enhancements for POSIX:2001 functions): Add chdir-long.
63449         (File system functions): Add areadlink, chdir-safer, read-file.
63450         Remove cycle-check.
63451         (File system as inode set): New section.
63452         (Date and time): Add gethrxtime.
63453         (Multithreading): Add openmp.
63454         (Internationalization functions): Add localename.
63455         (Unicode string functions): Add unistr/u*-mbsnlen.
63456         (Support for maintaining and releasing projects): Add git-version-gen.
63457         (Lone files): Remove directories.
63458
63459 2007-10-08  Ben Pfaff  <blp@gnu.org>
63460
63461         * lib/xmalloca.h: Fix typo in comment.
63462
63463 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63464
63465         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
63466         when avoiding problems with integer overflow.  Use a portable test
63467         instead.
63468
63469 2007-10-08  Simon Josefsson  <simon@josefsson.org>
63470
63471         * modules/dummy (License): Change to LGPLv2+.
63472         * modules/float (License): Likewise
63473         * modules/realloc (License): Likewise
63474         * modules/stdlib (License): Likewise
63475
63476 2007-10-07  Bruno Haible  <bruno@clisp.org>
63477
63478         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
63479         * floor.c (TWO_MANT_DIG): Likewise.
63480         * ceil.c (TWO_MANT_DIG): Likewise.
63481         Reported by Ben Pfaff.
63482
63483 2007-10-07  Bruno Haible  <bruno@clisp.org>
63484
63485         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
63486         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
63487         * lib/frexp.c (FUNC): Likewise.
63488         * lib/printf-frexp.h (printf_frexp): Likewise.
63489         * lib/printf-frexpl.h (printf_frexpl): Likewise.
63490         * lib/printf-frexp.c (FUNC): Likewise.
63491         Suggested by Jim Meyering.
63492
63493 2007-10-07  Jim Meyering  <meyering@redhat.com>
63494
63495         Make xnanosleep's integer overflow test more robust.
63496         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
63497         so that gcc-4.3.0 doesn't optimize away this test for overflow.
63498
63499 2007-10-07  Bruno Haible  <bruno@clisp.org>
63500
63501         * NEWS: Mention the license change.
63502
63503         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
63504         abbreviations in the modules files.
63505
63506         Change copyright notice from GPLv2+ to GPLv3+.
63507         * README: Change copyright notice.
63508         * MODULES.html.sh: Likewise.
63509         * build-aux/bootstrap.conf: Likewise.
63510         * build-aux/config.libpath: Likewise.
63511         * build-aux/csharpcomp.sh.in: Likewise.
63512         * build-aux/csharpexec.sh.in: Likewise.
63513         * build-aux/install-reloc: Likewise.
63514         * build-aux/javacomp.sh.in: Likewise.
63515         * build-aux/javaexec.sh.in: Likewise.
63516         * build-aux/ldd.sh.in: Likewise.
63517         * build-aux/reloc-ldflags: Likewise.
63518         * build-aux/relocatable.sh.in: Likewise.
63519         * build-aux/x-to-1.in: Likewise.
63520         * check-module: Likewise.
63521         * config/srclistvars.sh: Likewise.
63522         * gnulib-tool: Likewise.
63523         * lib/acl-internal.h: Likewise.
63524         * lib/acl.c: Likewise.
63525         * lib/acl.h: Likewise.
63526         * lib/acl_entries.c: Likewise.
63527         * lib/areadlink-with-size.c: Likewise.
63528         * lib/areadlink.c: Likewise.
63529         * lib/areadlink.h: Likewise.
63530         * lib/argmatch.c: Likewise.
63531         * lib/argmatch.h: Likewise.
63532         * lib/argp-ba.c: Likewise.
63533         * lib/argp-eexst.c: Likewise.
63534         * lib/argp-fmtstream.c: Likewise.
63535         * lib/argp-fmtstream.h: Likewise.
63536         * lib/argp-fs-xinl.c: Likewise.
63537         * lib/argp-help.c: Likewise.
63538         * lib/argp-namefrob.h: Likewise.
63539         * lib/argp-parse.c: Likewise.
63540         * lib/argp-pin.c: Likewise.
63541         * lib/argp-pv.c: Likewise.
63542         * lib/argp-pvh.c: Likewise.
63543         * lib/argp-xinl.c: Likewise.
63544         * lib/argp.h: Likewise.
63545         * lib/at-func.c: Likewise.
63546         * lib/atanl.c: Likewise.
63547         * lib/backupfile.c: Likewise.
63548         * lib/backupfile.h: Likewise.
63549         * lib/basename.c: Likewise.
63550         * lib/binary-io.h: Likewise.
63551         * lib/byteswap.in.h: Likewise.
63552         * lib/c-stack.c: Likewise.
63553         * lib/c-stack.h: Likewise.
63554         * lib/c-strcasestr.c: Likewise.
63555         * lib/c-strcasestr.h: Likewise.
63556         * lib/c-strstr.c: Likewise.
63557         * lib/c-strstr.h: Likewise.
63558         * lib/c-strtod.c: Likewise.
63559         * lib/calloc.c: Likewise.
63560         * lib/canon-host.c: Likewise.
63561         * lib/canon-host.h: Likewise.
63562         * lib/canonicalize-lgpl.c: Likewise.
63563         * lib/canonicalize.c: Likewise.
63564         * lib/canonicalize.h: Likewise.
63565         * lib/ceil.c: Likewise.
63566         * lib/ceilf.c: Likewise.
63567         * lib/ceill.c: Likewise.
63568         * lib/chdir-long.c: Likewise.
63569         * lib/chdir-long.h: Likewise.
63570         * lib/chdir-safer.c: Likewise.
63571         * lib/chdir-safer.h: Likewise.
63572         * lib/chown.c: Likewise.
63573         * lib/classpath.c: Likewise.
63574         * lib/classpath.h: Likewise.
63575         * lib/clean-temp.c: Likewise.
63576         * lib/clean-temp.h: Likewise.
63577         * lib/cloexec.c: Likewise.
63578         * lib/close-stream.c: Likewise.
63579         * lib/closein.c: Likewise.
63580         * lib/closein.h: Likewise.
63581         * lib/closeout.c: Likewise.
63582         * lib/closeout.h: Likewise.
63583         * lib/concat-filename.c: Likewise.
63584         * lib/copy-file.c: Likewise.
63585         * lib/copy-file.h: Likewise.
63586         * lib/count-one-bits.h: Likewise.
63587         * lib/crc.c: Likewise.
63588         * lib/crc.h: Likewise.
63589         * lib/creat-safer.c: Likewise.
63590         * lib/csharpcomp.c: Likewise.
63591         * lib/csharpcomp.h: Likewise.
63592         * lib/csharpexec.c: Likewise.
63593         * lib/csharpexec.h: Likewise.
63594         * lib/cycle-check.c: Likewise.
63595         * lib/cycle-check.h: Likewise.
63596         * lib/diacrit.c: Likewise.
63597         * lib/diacrit.h: Likewise.
63598         * lib/diffseq.h: Likewise.
63599         * lib/dirchownmod.c: Likewise.
63600         * lib/dirent.in.h: Likewise.
63601         * lib/dirfd.c: Likewise.
63602         * lib/dirfd.h: Likewise.
63603         * lib/dirname.c: Likewise.
63604         * lib/dirname.h: Likewise.
63605         * lib/dummy.c: Likewise.
63606         * lib/dup-safer.c: Likewise.
63607         * lib/dup2.c: Likewise.
63608         * lib/eealloc.h: Likewise.
63609         * lib/error.c: Likewise.
63610         * lib/error.h: Likewise.
63611         * lib/euidaccess.c: Likewise.
63612         * lib/exclude.c: Likewise.
63613         * lib/exclude.h: Likewise.
63614         * lib/execute.c: Likewise.
63615         * lib/execute.h: Likewise.
63616         * lib/exitfail.c: Likewise.
63617         * lib/exitfail.h: Likewise.
63618         * lib/expl.c: Likewise.
63619         * lib/fatal-signal.c: Likewise.
63620         * lib/fatal-signal.h: Likewise.
63621         * lib/fbufmode.c: Likewise.
63622         * lib/fbufmode.h: Likewise.
63623         * lib/fchdir.c: Likewise.
63624         * lib/fchmodat.c: Likewise.
63625         * lib/fchownat.c: Likewise.
63626         * lib/fcntl--.h: Likewise.
63627         * lib/fcntl-safer.h: Likewise.
63628         * lib/fcntl.in.h: Likewise.
63629         * lib/fd-safer.c: Likewise.
63630         * lib/fflush.c: Likewise.
63631         * lib/file-has-acl.c: Likewise.
63632         * lib/file-set.c: Likewise.
63633         * lib/file-type.c: Likewise.
63634         * lib/file-type.h: Likewise.
63635         * lib/fileblocks.c: Likewise.
63636         * lib/filemode.c: Likewise.
63637         * lib/filemode.h: Likewise.
63638         * lib/filename.h: Likewise.
63639         * lib/filenamecat.c: Likewise.
63640         * lib/filenamecat.h: Likewise.
63641         * lib/findprog.c: Likewise.
63642         * lib/findprog.h: Likewise.
63643         * lib/float.in.h: Likewise.
63644         * lib/floor.c: Likewise.
63645         * lib/floorf.c: Likewise.
63646         * lib/floorl.c: Likewise.
63647         * lib/fopen-safer.c: Likewise.
63648         * lib/fopen.c: Likewise.
63649         * lib/fpending.c: Likewise.
63650         * lib/fpending.h: Likewise.
63651         * lib/fprintf.c: Likewise.
63652         * lib/fprintftime.h: Likewise.
63653         * lib/fpucw.h: Likewise.
63654         * lib/fpurge.c: Likewise.
63655         * lib/fpurge.h: Likewise.
63656         * lib/freadable.c: Likewise.
63657         * lib/freadable.h: Likewise.
63658         * lib/freadahead.c: Likewise.
63659         * lib/freadahead.h: Likewise.
63660         * lib/freading.c: Likewise.
63661         * lib/freading.h: Likewise.
63662         * lib/free.c: Likewise.
63663         * lib/freopen.c: Likewise.
63664         * lib/frexp.c: Likewise.
63665         * lib/frexpl.c: Likewise.
63666         * lib/fseek.c: Likewise.
63667         * lib/fseterr.c: Likewise.
63668         * lib/fseterr.h: Likewise.
63669         * lib/fstatat.c: Likewise.
63670         * lib/fstrcmp.c: Likewise.
63671         * lib/fstrcmp.h: Likewise.
63672         * lib/fsusage.c: Likewise.
63673         * lib/fsusage.h: Likewise.
63674         * lib/ftell.c: Likewise.
63675         * lib/ftello.c: Likewise.
63676         * lib/fts-cycle.c: Likewise.
63677         * lib/fts.c: Likewise.
63678         * lib/fts_.h: Likewise.
63679         * lib/full-read.c: Likewise.
63680         * lib/full-read.h: Likewise.
63681         * lib/full-write.c: Likewise.
63682         * lib/full-write.h: Likewise.
63683         * lib/fwritable.c: Likewise.
63684         * lib/fwritable.h: Likewise.
63685         * lib/fwriteerror.c: Likewise.
63686         * lib/fwriteerror.h: Likewise.
63687         * lib/fwriting.c: Likewise.
63688         * lib/fwriting.h: Likewise.
63689         * lib/gcd.c: Likewise.
63690         * lib/gcd.h: Likewise.
63691         * lib/getcwd.c: Likewise.
63692         * lib/getdate.h: Likewise.
63693         * lib/getdate.y: Likewise.
63694         * lib/getdomainname.c: Likewise.
63695         * lib/getdomainname.h: Likewise.
63696         * lib/getgroups.c: Likewise.
63697         * lib/gethostname.c: Likewise.
63698         * lib/gethrxtime.c: Likewise.
63699         * lib/gethrxtime.h: Likewise.
63700         * lib/getloadavg.c: Likewise.
63701         * lib/getndelim2.c: Likewise.
63702         * lib/getndelim2.h: Likewise.
63703         * lib/getnline.c: Likewise.
63704         * lib/getnline.h: Likewise.
63705         * lib/getopt.c: Likewise.
63706         * lib/getopt.in.h: Likewise.
63707         * lib/getopt1.c: Likewise.
63708         * lib/getopt_int.h: Likewise.
63709         * lib/getpagesize.h: Likewise.
63710         * lib/getsubopt.c: Likewise.
63711         * lib/gettime.c: Likewise.
63712         * lib/getugroups.c: Likewise.
63713         * lib/getugroups.h: Likewise.
63714         * lib/getusershell.c: Likewise.
63715         * lib/gl_anyavltree_list1.h: Likewise.
63716         * lib/gl_anyavltree_list2.h: Likewise.
63717         * lib/gl_anyhash_list1.h: Likewise.
63718         * lib/gl_anyhash_list2.h: Likewise.
63719         * lib/gl_anylinked_list1.h: Likewise.
63720         * lib/gl_anylinked_list2.h: Likewise.
63721         * lib/gl_anyrbtree_list1.h: Likewise.
63722         * lib/gl_anyrbtree_list2.h: Likewise.
63723         * lib/gl_anytree_list1.h: Likewise.
63724         * lib/gl_anytree_list2.h: Likewise.
63725         * lib/gl_anytree_oset.h: Likewise.
63726         * lib/gl_anytreehash_list1.h: Likewise.
63727         * lib/gl_anytreehash_list2.h: Likewise.
63728         * lib/gl_array_list.c: Likewise.
63729         * lib/gl_array_list.h: Likewise.
63730         * lib/gl_array_oset.c: Likewise.
63731         * lib/gl_array_oset.h: Likewise.
63732         * lib/gl_avltree_list.c: Likewise.
63733         * lib/gl_avltree_list.h: Likewise.
63734         * lib/gl_avltree_oset.c: Likewise.
63735         * lib/gl_avltree_oset.h: Likewise.
63736         * lib/gl_avltreehash_list.c: Likewise.
63737         * lib/gl_avltreehash_list.h: Likewise.
63738         * lib/gl_carray_list.c: Likewise.
63739         * lib/gl_carray_list.h: Likewise.
63740         * lib/gl_linked_list.c: Likewise.
63741         * lib/gl_linked_list.h: Likewise.
63742         * lib/gl_linkedhash_list.c: Likewise.
63743         * lib/gl_linkedhash_list.h: Likewise.
63744         * lib/gl_list.c: Likewise.
63745         * lib/gl_list.h: Likewise.
63746         * lib/gl_oset.c: Likewise.
63747         * lib/gl_oset.h: Likewise.
63748         * lib/gl_rbtree_list.c: Likewise.
63749         * lib/gl_rbtree_list.h: Likewise.
63750         * lib/gl_rbtree_oset.c: Likewise.
63751         * lib/gl_rbtree_oset.h: Likewise.
63752         * lib/gl_rbtreehash_list.c: Likewise.
63753         * lib/gl_rbtreehash_list.h: Likewise.
63754         * lib/gl_sublist.c: Likewise.
63755         * lib/gl_sublist.h: Likewise.
63756         * lib/group-member.c: Likewise.
63757         * lib/group-member.h: Likewise.
63758         * lib/hard-locale.c: Likewise.
63759         * lib/hard-locale.h: Likewise.
63760         * lib/hash-pjw.c: Likewise.
63761         * lib/hash-pjw.h: Likewise.
63762         * lib/hash-triple.c: Likewise.
63763         * lib/hash.c: Likewise.
63764         * lib/hash.h: Likewise.
63765         * lib/human.c: Likewise.
63766         * lib/human.h: Likewise.
63767         * lib/i-ring.c: Likewise.
63768         * lib/i-ring.h: Likewise.
63769         * lib/idcache.c: Likewise.
63770         * lib/imaxabs.c: Likewise.
63771         * lib/imaxdiv.c: Likewise.
63772         * lib/inet_pton.c: Likewise.
63773         * lib/inet_pton.h: Likewise.
63774         * lib/intprops.h: Likewise.
63775         * lib/inttostr.c: Likewise.
63776         * lib/inttostr.h: Likewise.
63777         * lib/inttypes.in.h: Likewise.
63778         * lib/isapipe.c: Likewise.
63779         * lib/isdir.c: Likewise.
63780         * lib/isnan.c: Likewise.
63781         * lib/isnan.h: Likewise.
63782         * lib/isnanf.c: Likewise.
63783         * lib/isnanf.h: Likewise.
63784         * lib/isnanl-nolibm.h: Likewise.
63785         * lib/isnanl.c: Likewise.
63786         * lib/isnanl.h: Likewise.
63787         * lib/javacomp.c: Likewise.
63788         * lib/javacomp.h: Likewise.
63789         * lib/javaexec.c: Likewise.
63790         * lib/javaexec.h: Likewise.
63791         * lib/javaversion.c: Likewise.
63792         * lib/javaversion.h: Likewise.
63793         * lib/javaversion.java: Likewise.
63794         * lib/lbrkprop.h: Likewise.
63795         * lib/lchmod.h: Likewise.
63796         * lib/lchown.c: Likewise.
63797         * lib/ldexpl.c: Likewise.
63798         * lib/linebreak.c: Likewise.
63799         * lib/linebreak.h: Likewise.
63800         * lib/linebuffer.c: Likewise.
63801         * lib/linebuffer.h: Likewise.
63802         * lib/locale.in.h: Likewise.
63803         * lib/logl.c: Likewise.
63804         * lib/long-options.c: Likewise.
63805         * lib/long-options.h: Likewise.
63806         * lib/lstat.c: Likewise.
63807         * lib/lstat.h: Likewise.
63808         * lib/math.in.h: Likewise.
63809         * lib/mbchar.c: Likewise.
63810         * lib/mbchar.h: Likewise.
63811         * lib/mbfile.h: Likewise.
63812         * lib/mbiter.h: Likewise.
63813         * lib/mbscasecmp.c: Likewise.
63814         * lib/mbscasestr.c: Likewise.
63815         * lib/mbschr.c: Likewise.
63816         * lib/mbscspn.c: Likewise.
63817         * lib/mbslen.c: Likewise.
63818         * lib/mbsncasecmp.c: Likewise.
63819         * lib/mbsnlen.c: Likewise.
63820         * lib/mbspbrk.c: Likewise.
63821         * lib/mbspcasecmp.c: Likewise.
63822         * lib/mbsrchr.c: Likewise.
63823         * lib/mbssep.c: Likewise.
63824         * lib/mbsspn.c: Likewise.
63825         * lib/mbsstr.c: Likewise.
63826         * lib/mbstok_r.c: Likewise.
63827         * lib/mbswidth.c: Likewise.
63828         * lib/mbswidth.h: Likewise.
63829         * lib/mbuiter.h: Likewise.
63830         * lib/memcasecmp.c: Likewise.
63831         * lib/memcasecmp.h: Likewise.
63832         * lib/memchr.c: Likewise.
63833         * lib/memcmp.c: Likewise.
63834         * lib/memcoll.c: Likewise.
63835         * lib/memcoll.h: Likewise.
63836         * lib/memcpy.c: Likewise.
63837         * lib/memrchr.c: Likewise.
63838         * lib/mkancesdirs.c: Likewise.
63839         * lib/mkdir-p.c: Likewise.
63840         * lib/mkdir-p.h: Likewise.
63841         * lib/mkdir.c: Likewise.
63842         * lib/mkdirat.c: Likewise.
63843         * lib/mkdtemp.c: Likewise.
63844         * lib/mkstemp-safer.c: Likewise.
63845         * lib/mkstemp.c: Likewise.
63846         * lib/modechange.c: Likewise.
63847         * lib/modechange.h: Likewise.
63848         * lib/mountlist.c: Likewise.
63849         * lib/mountlist.h: Likewise.
63850         * lib/mpsort.c: Likewise.
63851         * lib/nanosleep.c: Likewise.
63852         * lib/obstack.c: Likewise.
63853         * lib/obstack.h: Likewise.
63854         * lib/open-safer.c: Likewise.
63855         * lib/open.c: Likewise.
63856         * lib/openat-die.c: Likewise.
63857         * lib/openat-priv.h: Likewise.
63858         * lib/openat-proc.c: Likewise.
63859         * lib/openat.c: Likewise.
63860         * lib/openat.h: Likewise.
63861         * lib/pagealign_alloc.c: Likewise.
63862         * lib/pagealign_alloc.h: Likewise.
63863         * lib/physmem.c: Likewise.
63864         * lib/physmem.h: Likewise.
63865         * lib/pipe-safer.c: Likewise.
63866         * lib/pipe.c: Likewise.
63867         * lib/pipe.h: Likewise.
63868         * lib/posixtm.c: Likewise.
63869         * lib/posixtm.h: Likewise.
63870         * lib/posixver.c: Likewise.
63871         * lib/printf-frexp.c: Likewise.
63872         * lib/printf-frexp.h: Likewise.
63873         * lib/printf-frexpl.c: Likewise.
63874         * lib/printf-frexpl.h: Likewise.
63875         * lib/printf.c: Likewise.
63876         * lib/progname.c: Likewise.
63877         * lib/progname.h: Likewise.
63878         * lib/progreloc.c: Likewise.
63879         * lib/putenv.c: Likewise.
63880         * lib/quote.c: Likewise.
63881         * lib/quote.h: Likewise.
63882         * lib/quotearg.c: Likewise.
63883         * lib/quotearg.h: Likewise.
63884         * lib/raise.c: Likewise.
63885         * lib/readline.c: Likewise.
63886         * lib/readline.h: Likewise.
63887         * lib/readlink.c: Likewise.
63888         * lib/readtokens.c: Likewise.
63889         * lib/readtokens.h: Likewise.
63890         * lib/readtokens0.c: Likewise.
63891         * lib/readtokens0.h: Likewise.
63892         * lib/readutmp.c: Likewise.
63893         * lib/readutmp.h: Likewise.
63894         * lib/realloc.c: Likewise.
63895         * lib/relocwrapper.c: Likewise.
63896         * lib/rename-dest-slash.c: Likewise.
63897         * lib/rename.c: Likewise.
63898         * lib/rmdir.c: Likewise.
63899         * lib/rpmatch.c: Likewise.
63900         * lib/safe-read.c: Likewise.
63901         * lib/safe-read.h: Likewise.
63902         * lib/safe-write.c: Likewise.
63903         * lib/safe-write.h: Likewise.
63904         * lib/same-inode.h: Likewise.
63905         * lib/same.c: Likewise.
63906         * lib/same.h: Likewise.
63907         * lib/save-cwd.c: Likewise.
63908         * lib/save-cwd.h: Likewise.
63909         * lib/savedir.c: Likewise.
63910         * lib/savedir.h: Likewise.
63911         * lib/savewd.c: Likewise.
63912         * lib/savewd.h: Likewise.
63913         * lib/search.in.h: Likewise.
63914         * lib/setenv.c: Likewise.
63915         * lib/setenv.h: Likewise.
63916         * lib/settime.c: Likewise.
63917         * lib/sh-quote.c: Likewise.
63918         * lib/sh-quote.h: Likewise.
63919         * lib/sig2str.c: Likewise.
63920         * lib/sig2str.h: Likewise.
63921         * lib/signal.in.h: Likewise.
63922         * lib/signbitd.c: Likewise.
63923         * lib/signbitf.c: Likewise.
63924         * lib/signbitl.c: Likewise.
63925         * lib/sigprocmask.c: Likewise.
63926         * lib/sincosl.c: Likewise.
63927         * lib/sleep.c: Likewise.
63928         * lib/sprintf.c: Likewise.
63929         * lib/sqrtl.c: Likewise.
63930         * lib/stat-time.h: Likewise.
63931         * lib/stdio--.h: Likewise.
63932         * lib/stdio-safer.h: Likewise.
63933         * lib/stdlib--.h: Likewise.
63934         * lib/stdlib-safer.h: Likewise.
63935         * lib/stdlib.in.h: Likewise.
63936         * lib/stpcpy.c: Likewise.
63937         * lib/stpncpy.c: Likewise.
63938         * lib/strchrnul.c: Likewise.
63939         * lib/strcspn.c: Likewise.
63940         * lib/strerror.c: Likewise.
63941         * lib/strftime.c: Likewise.
63942         * lib/strftime.h: Likewise.
63943         * lib/striconveh.c: Likewise.
63944         * lib/striconveh.h: Likewise.
63945         * lib/striconveha.c: Likewise.
63946         * lib/striconveha.h: Likewise.
63947         * lib/stripslash.c: Likewise.
63948         * lib/strnlen1.c: Likewise.
63949         * lib/strnlen1.h: Likewise.
63950         * lib/strtod.c: Likewise.
63951         * lib/strtoimax.c: Likewise.
63952         * lib/strtok_r.c: Likewise.
63953         * lib/strtol.c: Likewise.
63954         * lib/strtoll.c: Likewise.
63955         * lib/strtoul.c: Likewise.
63956         * lib/strtoull.c: Likewise.
63957         * lib/sysexits.in.h: Likewise.
63958         * lib/tempname.c: Likewise.
63959         * lib/tempname.h: Likewise.
63960         * lib/timespec.h: Likewise.
63961         * lib/tls.c: Likewise.
63962         * lib/tls.h: Likewise.
63963         * lib/tmpdir.c: Likewise.
63964         * lib/tmpdir.h: Likewise.
63965         * lib/tmpfile-safer.c: Likewise.
63966         * lib/tmpfile.c: Likewise.
63967         * lib/trigl.c: Likewise.
63968         * lib/trigl.h: Likewise.
63969         * lib/trim.c: Likewise.
63970         * lib/trim.h: Likewise.
63971         * lib/trunc.c: Likewise.
63972         * lib/truncf.c: Likewise.
63973         * lib/truncl.c: Likewise.
63974         * lib/tsearch.c: Likewise.
63975         * lib/unicodeio.c: Likewise.
63976         * lib/unicodeio.h: Likewise.
63977         * lib/unistd--.h: Likewise.
63978         * lib/unistd-safer.h: Likewise.
63979         * lib/unistdio/ulc-fprintf.c: Likewise.
63980         * lib/unistdio/ulc-vfprintf.c: Likewise.
63981         * lib/unlinkdir.c: Likewise.
63982         * lib/unlinkdir.h: Likewise.
63983         * lib/unlocked-io.h: Likewise.
63984         * lib/unsetenv.c: Likewise.
63985         * lib/userspec.c: Likewise.
63986         * lib/utime.c: Likewise.
63987         * lib/utimecmp.c: Likewise.
63988         * lib/utimecmp.h: Likewise.
63989         * lib/utimens.c: Likewise.
63990         * lib/verify.h: Likewise.
63991         * lib/verror.c: Likewise.
63992         * lib/verror.h: Likewise.
63993         * lib/version-etc-fsf.c: Likewise.
63994         * lib/version-etc.c: Likewise.
63995         * lib/version-etc.h: Likewise.
63996         * lib/vfprintf.c: Likewise.
63997         * lib/vprintf.c: Likewise.
63998         * lib/vsprintf.c: Likewise.
63999         * lib/w32spawn.h: Likewise.
64000         * lib/wait-process.c: Likewise.
64001         * lib/wait-process.h: Likewise.
64002         * lib/wcwidth.c: Likewise.
64003         * lib/write-any-file.c: Likewise.
64004         * lib/xalloc-die.c: Likewise.
64005         * lib/xalloc.h: Likewise.
64006         * lib/xasprintf.c: Likewise.
64007         * lib/xgetcwd.c: Likewise.
64008         * lib/xgetcwd.h: Likewise.
64009         * lib/xgetdomainname.c: Likewise.
64010         * lib/xgetdomainname.h: Likewise.
64011         * lib/xgethostname.c: Likewise.
64012         * lib/xmalloc.c: Likewise.
64013         * lib/xmalloca.c: Likewise.
64014         * lib/xmalloca.h: Likewise.
64015         * lib/xmemcoll.c: Likewise.
64016         * lib/xnanosleep.c: Likewise.
64017         * lib/xreadlink.c: Likewise.
64018         * lib/xreadlink.h: Likewise.
64019         * lib/xsetenv.c: Likewise.
64020         * lib/xsetenv.h: Likewise.
64021         * lib/xstriconv.c: Likewise.
64022         * lib/xstriconv.h: Likewise.
64023         * lib/xstrndup.c: Likewise.
64024         * lib/xstrndup.h: Likewise.
64025         * lib/xstrtod.c: Likewise.
64026         * lib/xstrtod.h: Likewise.
64027         * lib/xstrtol-error.c: Likewise.
64028         * lib/xstrtol.c: Likewise.
64029         * lib/xstrtol.h: Likewise.
64030         * lib/xtime.h: Likewise.
64031         * lib/xvasprintf.c: Likewise.
64032         * lib/xvasprintf.h: Likewise.
64033         * lib/yesno.c: Likewise.
64034         * lib/yesno.h: Likewise.
64035         * posix-modules: Likewise.
64036         * tests/test-alloca-opt.c: Likewise.
64037         * tests/test-arcfour.c: Likewise.
64038         * tests/test-arctwo.c: Likewise.
64039         * tests/test-argmatch.c: Likewise.
64040         * tests/test-argp-2.sh: Likewise.
64041         * tests/test-argp.c: Likewise.
64042         * tests/test-arpa_inet.c: Likewise.
64043         * tests/test-array_list.c: Likewise.
64044         * tests/test-array_oset.c: Likewise.
64045         * tests/test-atexit.c: Likewise.
64046         * tests/test-avltree_list.c: Likewise.
64047         * tests/test-avltree_oset.c: Likewise.
64048         * tests/test-avltreehash_list.c: Likewise.
64049         * tests/test-base64.c: Likewise.
64050         * tests/test-binary-io.c: Likewise.
64051         * tests/test-byteswap.c: Likewise.
64052         * tests/test-c-ctype.c: Likewise.
64053         * tests/test-c-strcasecmp.c: Likewise.
64054         * tests/test-c-strcasestr.c: Likewise.
64055         * tests/test-c-strncasecmp.c: Likewise.
64056         * tests/test-c-strstr.c: Likewise.
64057         * tests/test-canonicalize-lgpl.c: Likewise.
64058         * tests/test-canonicalize.c: Likewise.
64059         * tests/test-carray_list.c: Likewise.
64060         * tests/test-ceilf.c: Likewise.
64061         * tests/test-ceill.c: Likewise.
64062         * tests/test-count-one-bits.c: Likewise.
64063         * tests/test-crc.c: Likewise.
64064         * tests/test-dirname.c: Likewise.
64065         * tests/test-fbufmode.c: Likewise.
64066         * tests/test-fcntl.c: Likewise.
64067         * tests/test-fflush.c: Likewise.
64068         * tests/test-floorf.c: Likewise.
64069         * tests/test-floorl.c: Likewise.
64070         * tests/test-fopen.c: Likewise.
64071         * tests/test-fprintf-posix.c: Likewise.
64072         * tests/test-fprintf-posix.h: Likewise.
64073         * tests/test-fpurge.c: Likewise.
64074         * tests/test-freadable.c: Likewise.
64075         * tests/test-freadahead.c: Likewise.
64076         * tests/test-freading.c: Likewise.
64077         * tests/test-freopen.c: Likewise.
64078         * tests/test-frexp.c: Likewise.
64079         * tests/test-frexpl.c: Likewise.
64080         * tests/test-fseek.c: Likewise.
64081         * tests/test-fseeko.c: Likewise.
64082         * tests/test-fseterr.c: Likewise.
64083         * tests/test-fstrcmp.c: Likewise.
64084         * tests/test-ftell.c: Likewise.
64085         * tests/test-ftello.c: Likewise.
64086         * tests/test-fwritable.c: Likewise.
64087         * tests/test-fwriting.c: Likewise.
64088         * tests/test-getaddrinfo.c: Likewise.
64089         * tests/test-getpass.c: Likewise.
64090         * tests/test-gettimeofday.c: Likewise.
64091         * tests/test-hmac-md5.c: Likewise.
64092         * tests/test-hmac-sha1.c: Likewise.
64093         * tests/test-iconv.c: Likewise.
64094         * tests/test-iconvme.c: Likewise.
64095         * tests/test-inttypes.c: Likewise.
64096         * tests/test-isnan.c: Likewise.
64097         * tests/test-isnanf.c: Likewise.
64098         * tests/test-isnanl-nolibm.c: Likewise.
64099         * tests/test-isnanl.c: Likewise.
64100         * tests/test-isnanl.h: Likewise.
64101         * tests/test-ldexpl.c: Likewise.
64102         * tests/test-linked_list.c: Likewise.
64103         * tests/test-linkedhash_list.c: Likewise.
64104         * tests/test-locale.c: Likewise.
64105         * tests/test-localename.c: Likewise.
64106         * tests/test-lock.c: Likewise.
64107         * tests/test-lseek.c: Likewise.
64108         * tests/test-malloca.c: Likewise.
64109         * tests/test-math.c: Likewise.
64110         * tests/test-mbscasecmp.c: Likewise.
64111         * tests/test-mbscasestr1.c: Likewise.
64112         * tests/test-mbscasestr2.c: Likewise.
64113         * tests/test-mbscasestr3.c: Likewise.
64114         * tests/test-mbscasestr4.c: Likewise.
64115         * tests/test-mbschr.c: Likewise.
64116         * tests/test-mbscspn.c: Likewise.
64117         * tests/test-mbsncasecmp.c: Likewise.
64118         * tests/test-mbspbrk.c: Likewise.
64119         * tests/test-mbspcasecmp.c: Likewise.
64120         * tests/test-mbsrchr.c: Likewise.
64121         * tests/test-mbsspn.c: Likewise.
64122         * tests/test-mbsstr1.c: Likewise.
64123         * tests/test-mbsstr2.c: Likewise.
64124         * tests/test-mbsstr3.c: Likewise.
64125         * tests/test-md5.c: Likewise.
64126         * tests/test-memmem.c: Likewise.
64127         * tests/test-netinet_in.c: Likewise.
64128         * tests/test-open.c: Likewise.
64129         * tests/test-printf-frexp.c: Likewise.
64130         * tests/test-printf-frexpl.c: Likewise.
64131         * tests/test-printf-posix.c: Likewise.
64132         * tests/test-printf-posix.h: Likewise.
64133         * tests/test-rbtree_list.c: Likewise.
64134         * tests/test-rbtree_oset.c: Likewise.
64135         * tests/test-rbtreehash_list.c: Likewise.
64136         * tests/test-read-file.c: Likewise.
64137         * tests/test-rijndael.c: Likewise.
64138         * tests/test-search.c: Likewise.
64139         * tests/test-signbit.c: Likewise.
64140         * tests/test-sleep.c: Likewise.
64141         * tests/test-snprintf-posix.c: Likewise.
64142         * tests/test-snprintf-posix.h: Likewise.
64143         * tests/test-snprintf.c: Likewise.
64144         * tests/test-sprintf-posix.c: Likewise.
64145         * tests/test-sprintf-posix.h: Likewise.
64146         * tests/test-stat-time.c: Likewise.
64147         * tests/test-stdbool.c: Likewise.
64148         * tests/test-stdint.c: Likewise.
64149         * tests/test-stdio.c: Likewise.
64150         * tests/test-stdlib.c: Likewise.
64151         * tests/test-stpncpy.c: Likewise.
64152         * tests/test-strcasestr.c: Likewise.
64153         * tests/test-striconv.c: Likewise.
64154         * tests/test-striconveh.c: Likewise.
64155         * tests/test-striconveha.c: Likewise.
64156         * tests/test-string.c: Likewise.
64157         * tests/test-sys_select.c: Likewise.
64158         * tests/test-sys_socket.c: Likewise.
64159         * tests/test-sys_stat.c: Likewise.
64160         * tests/test-sys_time.c: Likewise.
64161         * tests/test-sysexits.c: Likewise.
64162         * tests/test-time.c: Likewise.
64163         * tests/test-tls.c: Likewise.
64164         * tests/test-trunc.c: Likewise.
64165         * tests/test-truncf.c: Likewise.
64166         * tests/test-truncl.c: Likewise.
64167         * tests/test-unistd.c: Likewise.
64168         * tests/test-vasnprintf-posix.c: Likewise.
64169         * tests/test-vasnprintf-posix2.c: Likewise.
64170         * tests/test-vasnprintf.c: Likewise.
64171         * tests/test-vasprintf-posix.c: Likewise.
64172         * tests/test-vasprintf.c: Likewise.
64173         * tests/test-verify.c: Likewise.
64174         * tests/test-vfprintf-posix.c: Likewise.
64175         * tests/test-vprintf-posix.c: Likewise.
64176         * tests/test-vsnprintf-posix.c: Likewise.
64177         * tests/test-vsnprintf.c: Likewise.
64178         * tests/test-vsprintf-posix.c: Likewise.
64179         * tests/test-wchar.c: Likewise.
64180         * tests/test-wctype.c: Likewise.
64181         * tests/test-wcwidth.c: Likewise.
64182         * tests/test-xstrtol.c: Likewise.
64183         * tests/test-xvasprintf.c: Likewise.
64184         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
64185         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
64186         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64187         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64188         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64189         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
64190         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64191         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64192         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64193         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
64194         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64195         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64196         * tests/uniname/test-uninames.c: Likewise.
64197         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
64198         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
64199         * tests/unistdio/test-u16-printf1.h: Likewise.
64200         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
64201         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
64202         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
64203         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
64204         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
64205         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
64206         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
64207         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
64208         * tests/unistdio/test-u32-printf1.h: Likewise.
64209         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
64210         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
64211         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
64212         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
64213         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
64214         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
64215         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
64216         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
64217         * tests/unistdio/test-u8-printf1.h: Likewise.
64218         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
64219         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
64220         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
64221         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
64222         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
64223         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
64224         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
64225         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
64226         * tests/unistdio/test-ulc-printf1.h: Likewise.
64227         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
64228         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
64229         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
64230         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
64231         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
64232         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
64233         * tests/uniwidth/test-u16-strwidth.c: Likewise.
64234         * tests/uniwidth/test-u16-width.c: Likewise.
64235         * tests/uniwidth/test-u32-strwidth.c: Likewise.
64236         * tests/uniwidth/test-u32-width.c: Likewise.
64237         * tests/uniwidth/test-u8-strwidth.c: Likewise.
64238         * tests/uniwidth/test-u8-width.c: Likewise.
64239         * tests/uniwidth/test-uc_width.c: Likewise.
64240         * config/srclist-update: Likewise.
64241         (fixlicense): Update to GPLv3+.
64242
64243         Change copyright notice from LGPLv2.1+ to LGPLv3+.
64244         * tests/test-tsearch.c: Change copyright notice.
64245
64246         Change copyright notice from LGPLv2.0+ to LGPLv3+.
64247         * lib/c-strcaseeq.h: Change copyright notice.
64248         * lib/streq.h: Likewise.
64249         * lib/uniconv.h: Likewise.
64250         * lib/uniconv/u-conv-from-enc.h: Likewise.
64251         * lib/uniconv/u-conv-to-enc.h: Likewise.
64252         * lib/uniconv/u-strconv-from-enc.h: Likewise.
64253         * lib/uniconv/u-strconv-to-enc.h: Likewise.
64254         * lib/uniconv/u16-conv-from-enc.c: Likewise.
64255         * lib/uniconv/u16-conv-to-enc.c: Likewise.
64256         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
64257         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
64258         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
64259         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
64260         * lib/uniconv/u32-conv-from-enc.c: Likewise.
64261         * lib/uniconv/u32-conv-to-enc.c: Likewise.
64262         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
64263         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
64264         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
64265         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
64266         * lib/uniconv/u8-conv-from-enc.c: Likewise.
64267         * lib/uniconv/u8-conv-to-enc.c: Likewise.
64268         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
64269         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
64270         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
64271         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
64272         * lib/uniname.h: Likewise.
64273         * lib/uniname/uniname.c: Likewise.
64274         * lib/unistdio.h: Likewise.
64275         * lib/unistdio/u-asnprintf.h: Likewise.
64276         * lib/unistdio/u-asprintf.h: Likewise.
64277         * lib/unistdio/u-printf-args.c: Likewise.
64278         * lib/unistdio/u-printf-args.h: Likewise.
64279         * lib/unistdio/u-printf-parse.h: Likewise.
64280         * lib/unistdio/u-snprintf.h: Likewise.
64281         * lib/unistdio/u-sprintf.h: Likewise.
64282         * lib/unistdio/u-vasprintf.h: Likewise.
64283         * lib/unistdio/u-vsnprintf.h: Likewise.
64284         * lib/unistdio/u-vsprintf.h: Likewise.
64285         * lib/unistdio/u16-asnprintf.c: Likewise.
64286         * lib/unistdio/u16-asprintf.c: Likewise.
64287         * lib/unistdio/u16-printf-parse.c: Likewise.
64288         * lib/unistdio/u16-snprintf.c: Likewise.
64289         * lib/unistdio/u16-sprintf.c: Likewise.
64290         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
64291         * lib/unistdio/u16-u16-asprintf.c: Likewise.
64292         * lib/unistdio/u16-u16-snprintf.c: Likewise.
64293         * lib/unistdio/u16-u16-sprintf.c: Likewise.
64294         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
64295         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
64296         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
64297         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
64298         * lib/unistdio/u16-vasnprintf.c: Likewise.
64299         * lib/unistdio/u16-vasprintf.c: Likewise.
64300         * lib/unistdio/u16-vsnprintf.c: Likewise.
64301         * lib/unistdio/u16-vsprintf.c: Likewise.
64302         * lib/unistdio/u32-asnprintf.c: Likewise.
64303         * lib/unistdio/u32-asprintf.c: Likewise.
64304         * lib/unistdio/u32-printf-parse.c: Likewise.
64305         * lib/unistdio/u32-snprintf.c: Likewise.
64306         * lib/unistdio/u32-sprintf.c: Likewise.
64307         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
64308         * lib/unistdio/u32-u32-asprintf.c: Likewise.
64309         * lib/unistdio/u32-u32-snprintf.c: Likewise.
64310         * lib/unistdio/u32-u32-sprintf.c: Likewise.
64311         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
64312         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
64313         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
64314         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
64315         * lib/unistdio/u32-vasnprintf.c: Likewise.
64316         * lib/unistdio/u32-vasprintf.c: Likewise.
64317         * lib/unistdio/u32-vsnprintf.c: Likewise.
64318         * lib/unistdio/u32-vsprintf.c: Likewise.
64319         * lib/unistdio/u8-asnprintf.c: Likewise.
64320         * lib/unistdio/u8-asprintf.c: Likewise.
64321         * lib/unistdio/u8-printf-parse.c: Likewise.
64322         * lib/unistdio/u8-snprintf.c: Likewise.
64323         * lib/unistdio/u8-sprintf.c: Likewise.
64324         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
64325         * lib/unistdio/u8-u8-asprintf.c: Likewise.
64326         * lib/unistdio/u8-u8-snprintf.c: Likewise.
64327         * lib/unistdio/u8-u8-sprintf.c: Likewise.
64328         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
64329         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
64330         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
64331         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
64332         * lib/unistdio/u8-vasnprintf.c: Likewise.
64333         * lib/unistdio/u8-vasprintf.c: Likewise.
64334         * lib/unistdio/u8-vsnprintf.c: Likewise.
64335         * lib/unistdio/u8-vsprintf.c: Likewise.
64336         * lib/unistdio/ulc-asnprintf.c: Likewise.
64337         * lib/unistdio/ulc-asprintf.c: Likewise.
64338         * lib/unistdio/ulc-printf-parse.c: Likewise.
64339         * lib/unistdio/ulc-snprintf.c: Likewise.
64340         * lib/unistdio/ulc-sprintf.c: Likewise.
64341         * lib/unistdio/ulc-vasnprintf.c: Likewise.
64342         * lib/unistdio/ulc-vasprintf.c: Likewise.
64343         * lib/unistdio/ulc-vsnprintf.c: Likewise.
64344         * lib/unistdio/ulc-vsprintf.c: Likewise.
64345         * lib/unistr.h: Likewise.
64346         * lib/unistr/u-cpy-alloc.h: Likewise.
64347         * lib/unistr/u-cpy.h: Likewise.
64348         * lib/unistr/u-endswith.h: Likewise.
64349         * lib/unistr/u-move.h: Likewise.
64350         * lib/unistr/u-set.h: Likewise.
64351         * lib/unistr/u-startswith.h: Likewise.
64352         * lib/unistr/u-stpcpy.h: Likewise.
64353         * lib/unistr/u-stpncpy.h: Likewise.
64354         * lib/unistr/u-strcat.h: Likewise.
64355         * lib/unistr/u-strcpy.h: Likewise.
64356         * lib/unistr/u-strcspn.h: Likewise.
64357         * lib/unistr/u-strdup.h: Likewise.
64358         * lib/unistr/u-strlen.h: Likewise.
64359         * lib/unistr/u-strncat.h: Likewise.
64360         * lib/unistr/u-strncpy.h: Likewise.
64361         * lib/unistr/u-strnlen.h: Likewise.
64362         * lib/unistr/u-strpbrk.h: Likewise.
64363         * lib/unistr/u-strspn.h: Likewise.
64364         * lib/unistr/u-strstr.h: Likewise.
64365         * lib/unistr/u-strtok.h: Likewise.
64366         * lib/unistr/u16-check.c: Likewise.
64367         * lib/unistr/u16-chr.c: Likewise.
64368         * lib/unistr/u16-cmp.c: Likewise.
64369         * lib/unistr/u16-cpy-alloc.c: Likewise.
64370         * lib/unistr/u16-cpy.c: Likewise.
64371         * lib/unistr/u16-endswith.c: Likewise.
64372         * lib/unistr/u16-mblen.c: Likewise.
64373         * lib/unistr/u16-mbsnlen.c: Likewise.
64374         * lib/unistr/u16-mbtouc-aux.c: Likewise.
64375         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
64376         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
64377         * lib/unistr/u16-mbtouc.c: Likewise.
64378         * lib/unistr/u16-mbtoucr.c: Likewise.
64379         * lib/unistr/u16-move.c: Likewise.
64380         * lib/unistr/u16-next.c: Likewise.
64381         * lib/unistr/u16-prev.c: Likewise.
64382         * lib/unistr/u16-set.c: Likewise.
64383         * lib/unistr/u16-startswith.c: Likewise.
64384         * lib/unistr/u16-stpcpy.c: Likewise.
64385         * lib/unistr/u16-stpncpy.c: Likewise.
64386         * lib/unistr/u16-strcat.c: Likewise.
64387         * lib/unistr/u16-strchr.c: Likewise.
64388         * lib/unistr/u16-strcmp.c: Likewise.
64389         * lib/unistr/u16-strcpy.c: Likewise.
64390         * lib/unistr/u16-strcspn.c: Likewise.
64391         * lib/unistr/u16-strdup.c: Likewise.
64392         * lib/unistr/u16-strlen.c: Likewise.
64393         * lib/unistr/u16-strmblen.c: Likewise.
64394         * lib/unistr/u16-strmbtouc.c: Likewise.
64395         * lib/unistr/u16-strncat.c: Likewise.
64396         * lib/unistr/u16-strncmp.c: Likewise.
64397         * lib/unistr/u16-strncpy.c: Likewise.
64398         * lib/unistr/u16-strnlen.c: Likewise.
64399         * lib/unistr/u16-strpbrk.c: Likewise.
64400         * lib/unistr/u16-strrchr.c: Likewise.
64401         * lib/unistr/u16-strspn.c: Likewise.
64402         * lib/unistr/u16-strstr.c: Likewise.
64403         * lib/unistr/u16-strtok.c: Likewise.
64404         * lib/unistr/u16-to-u32.c: Likewise.
64405         * lib/unistr/u16-to-u8.c: Likewise.
64406         * lib/unistr/u16-uctomb-aux.c: Likewise.
64407         * lib/unistr/u16-uctomb.c: Likewise.
64408         * lib/unistr/u32-check.c: Likewise.
64409         * lib/unistr/u32-chr.c: Likewise.
64410         * lib/unistr/u32-cmp.c: Likewise.
64411         * lib/unistr/u32-cpy-alloc.c: Likewise.
64412         * lib/unistr/u32-cpy.c: Likewise.
64413         * lib/unistr/u32-endswith.c: Likewise.
64414         * lib/unistr/u32-mblen.c: Likewise.
64415         * lib/unistr/u32-mbsnlen.c: Likewise.
64416         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
64417         * lib/unistr/u32-mbtouc.c: Likewise.
64418         * lib/unistr/u32-mbtoucr.c: Likewise.
64419         * lib/unistr/u32-move.c: Likewise.
64420         * lib/unistr/u32-next.c: Likewise.
64421         * lib/unistr/u32-prev.c: Likewise.
64422         * lib/unistr/u32-set.c: Likewise.
64423         * lib/unistr/u32-startswith.c: Likewise.
64424         * lib/unistr/u32-stpcpy.c: Likewise.
64425         * lib/unistr/u32-stpncpy.c: Likewise.
64426         * lib/unistr/u32-strcat.c: Likewise.
64427         * lib/unistr/u32-strchr.c: Likewise.
64428         * lib/unistr/u32-strcmp.c: Likewise.
64429         * lib/unistr/u32-strcpy.c: Likewise.
64430         * lib/unistr/u32-strcspn.c: Likewise.
64431         * lib/unistr/u32-strdup.c: Likewise.
64432         * lib/unistr/u32-strlen.c: Likewise.
64433         * lib/unistr/u32-strmblen.c: Likewise.
64434         * lib/unistr/u32-strmbtouc.c: Likewise.
64435         * lib/unistr/u32-strncat.c: Likewise.
64436         * lib/unistr/u32-strncmp.c: Likewise.
64437         * lib/unistr/u32-strncpy.c: Likewise.
64438         * lib/unistr/u32-strnlen.c: Likewise.
64439         * lib/unistr/u32-strpbrk.c: Likewise.
64440         * lib/unistr/u32-strrchr.c: Likewise.
64441         * lib/unistr/u32-strspn.c: Likewise.
64442         * lib/unistr/u32-strstr.c: Likewise.
64443         * lib/unistr/u32-strtok.c: Likewise.
64444         * lib/unistr/u32-to-u16.c: Likewise.
64445         * lib/unistr/u32-to-u8.c: Likewise.
64446         * lib/unistr/u32-uctomb.c: Likewise.
64447         * lib/unistr/u8-check.c: Likewise.
64448         * lib/unistr/u8-chr.c: Likewise.
64449         * lib/unistr/u8-cmp.c: Likewise.
64450         * lib/unistr/u8-cpy-alloc.c: Likewise.
64451         * lib/unistr/u8-cpy.c: Likewise.
64452         * lib/unistr/u8-endswith.c: Likewise.
64453         * lib/unistr/u8-mblen.c: Likewise.
64454         * lib/unistr/u8-mbsnlen.c: Likewise.
64455         * lib/unistr/u8-mbtouc-aux.c: Likewise.
64456         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
64457         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
64458         * lib/unistr/u8-mbtouc.c: Likewise.
64459         * lib/unistr/u8-mbtoucr.c: Likewise.
64460         * lib/unistr/u8-move.c: Likewise.
64461         * lib/unistr/u8-next.c: Likewise.
64462         * lib/unistr/u8-prev.c: Likewise.
64463         * lib/unistr/u8-set.c: Likewise.
64464         * lib/unistr/u8-startswith.c: Likewise.
64465         * lib/unistr/u8-stpcpy.c: Likewise.
64466         * lib/unistr/u8-stpncpy.c: Likewise.
64467         * lib/unistr/u8-strcat.c: Likewise.
64468         * lib/unistr/u8-strchr.c: Likewise.
64469         * lib/unistr/u8-strcmp.c: Likewise.
64470         * lib/unistr/u8-strcpy.c: Likewise.
64471         * lib/unistr/u8-strcspn.c: Likewise.
64472         * lib/unistr/u8-strdup.c: Likewise.
64473         * lib/unistr/u8-strlen.c: Likewise.
64474         * lib/unistr/u8-strmblen.c: Likewise.
64475         * lib/unistr/u8-strmbtouc.c: Likewise.
64476         * lib/unistr/u8-strncat.c: Likewise.
64477         * lib/unistr/u8-strncmp.c: Likewise.
64478         * lib/unistr/u8-strncpy.c: Likewise.
64479         * lib/unistr/u8-strnlen.c: Likewise.
64480         * lib/unistr/u8-strpbrk.c: Likewise.
64481         * lib/unistr/u8-strrchr.c: Likewise.
64482         * lib/unistr/u8-strspn.c: Likewise.
64483         * lib/unistr/u8-strstr.c: Likewise.
64484         * lib/unistr/u8-strtok.c: Likewise.
64485         * lib/unistr/u8-to-u16.c: Likewise.
64486         * lib/unistr/u8-to-u32.c: Likewise.
64487         * lib/unistr/u8-uctomb-aux.c: Likewise.
64488         * lib/unistr/u8-uctomb.c: Likewise.
64489         * lib/unitypes.h: Likewise.
64490         * lib/uniwidth.h: Likewise.
64491         * lib/uniwidth/cjk.h: Likewise.
64492         * lib/uniwidth/u16-strwidth.c: Likewise.
64493         * lib/uniwidth/u16-width.c: Likewise.
64494         * lib/uniwidth/u32-strwidth.c: Likewise.
64495         * lib/uniwidth/u32-width.c: Likewise.
64496         * lib/uniwidth/u8-strwidth.c: Likewise.
64497         * lib/uniwidth/u8-width.c: Likewise.
64498         * lib/uniwidth/width.c: Likewise.
64499
64500 2007-10-07  Bruno Haible  <bruno@clisp.org>
64501
64502         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
64503         The file is still under LGPL (see modules/inttypes).
64504
64505 2007-10-06  Bruno Haible  <bruno@clisp.org>
64506
64507         * modules/trunc (Dependencies): Add 'extensions'.
64508         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
64509         Reported by Ben Pfaff <blp@gnu.org>.
64510
64511 2007-10-06  Bruno Haible  <bruno@clisp.org>
64512
64513         * modules/freopen-tests: New file.
64514         * tests/test-freopen.c: New file.
64515
64516         * modules/fopen-tests: New file.
64517         * tests/test-fopen.c: New file.
64518
64519         * modules/fopen: New file.
64520         * lib/fopen.c: New file.
64521         * m4/fopen.m4: New file.
64522         * modules/freopen: New file.
64523         * lib/freopen.c: New file.
64524         * m4/freopen.m4: New file.
64525         * lib/stdio.in.h (fopen, freopen): New declarations.
64526         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
64527         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
64528         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
64529         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
64530         * doc/functions/fopen.texi: Mention the 'fopen' module.
64531         * doc/functions/freopen.texi: Mention the 'freopen' module.
64532
64533 2007-10-06  Bruno Haible  <bruno@clisp.org>
64534
64535         * modules/open-tests: New file.
64536         * tests/test-open.c: New file.
64537
64538         * modules/open: New file.
64539         * lib/open.c: New file.
64540         * m4/open.m4: New file.
64541         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
64542         lib/open.c does.
64543         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
64544         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
64545         macros.
64546         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
64547         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
64548         REPLACE_OPEN.
64549         * doc/functions/open.texi: Mention the 'open' module.
64550
64551 2007-10-04  Bruno Haible  <bruno@clisp.org>
64552
64553         * modules/ceill-tests: New file.
64554         * tests/test-ceill.c: New file.
64555
64556         * modules/ceill: New file.
64557         * lib/ceill.c: Replace entire file.
64558         * m4/ceill.m4: New file.
64559         * lib/math.in.h (ceill): Replace declaration.
64560         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
64561         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
64562         * doc/functions/ceill.texi: Mention the 'ceill' module.
64563         * modules/mathl (Files): Remove lib/ceill.c.
64564         (Depends-on): Add ceill.
64565
64566 2007-10-04  Bruno Haible  <bruno@clisp.org>
64567
64568         * modules/ceilf-tests: New file.
64569         * tests/test-ceilf.c: New file.
64570
64571         * modules/ceilf: New file.
64572         * lib/ceil.c: New file.
64573         * lib/ceilf.c: New file.
64574         * m4/ceilf.m4: New file.
64575         * lib/math.in.h (ceilf): New declaration.
64576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
64577         HAVE_DECL_CEILF.
64578         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
64579         HAVE_DECL_CEILF.
64580         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
64581
64582 2007-10-04  Bruno Haible  <bruno@clisp.org>
64583
64584         * modules/floorl-tests: New file.
64585         * tests/test-floorl.c: New file.
64586
64587         * modules/floorl: New file.
64588         * lib/floorl.c: Replace entire file.
64589         * m4/floorl.m4: New file.
64590         * lib/math.in.h (floorl): Replace declaration.
64591         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
64592         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
64593         * doc/functions/floorl.texi: Mention the 'floorl' module.
64594         * modules/mathl (Files): Remove lib/floorl.c.
64595         (Depends-on): Add floorl.
64596
64597 2007-10-04  Bruno Haible  <bruno@clisp.org>
64598
64599         * modules/floorf-tests: New file.
64600         * tests/test-floorf.c: New file.
64601
64602         * modules/floorf: New file.
64603         * lib/floor.c: New file.
64604         * lib/floorf.c: New file.
64605         * m4/floorf.m4: New file.
64606         * lib/math.in.h (floorf): New declaration.
64607         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
64608         HAVE_DECL_FLOORF.
64609         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
64610         HAVE_DECL_FLOORF.
64611         * doc/functions/floorf.texi: Mention the 'floorf' module.
64612
64613 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
64614             Bruno Haible  <bruno@clisp.org>
64615
64616         Advertise for the Git server instead of the CVS server.
64617         * doc/gnulib-intro.texi (Steady Development): Mention the Git
64618         repository instead of the CVS one.
64619         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
64620         about all VCS systems generically.
64621         * doc/gnulib.texi (Introduction): Capitalize `Git'.
64622
64623 2007-10-04  Bruno Haible  <bruno@clisp.org>
64624
64625         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
64626         means.
64627         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
64628
64629 2007-10-04  Bruno Haible  <bruno@clisp.org>
64630
64631         * modules/truncl-tests: New file.
64632         * tests/test-truncl.c: New file.
64633
64634         * modules/truncl: New file.
64635         * lib/truncl.c: New file.
64636         * m4/truncl.m4: New file.
64637         * lib/math.in.h (truncl): New declaration.
64638         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
64639         HAVE_DECL_TRUNCL.
64640         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
64641         HAVE_DECL_TRUNCL.
64642         * doc/functions/truncl.texi: Mention the 'truncl' module.
64643
64644 2007-10-04  Bruno Haible  <bruno@clisp.org>
64645
64646         * modules/truncf-tests: New file.
64647         * tests/test-truncf.c: New file.
64648
64649         * modules/truncf: New file.
64650         * lib/trunc.c: Make paramerizable through USE_* macros.
64651         * lib/truncf.c: New file.
64652         * m4/truncf.m4: New file.
64653         * lib/math.in.h (truncf): New declaration.
64654         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
64655         HAVE_DECL_TRUNCF.
64656         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
64657         HAVE_DECL_TRUNCF.
64658         * doc/functions/truncf.texi: Mention the 'truncf' module.
64659
64660 2007-10-03  Bruno Haible  <bruno@clisp.org>
64661
64662         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
64663         augmentation also for tests modules.
64664         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
64665         * modules/atexit-tests (Makefile.am): Likewise.
64666         * modules/binary-io-tests (Makefile.am): Likewise.
64667         * modules/c-strcase-tests (Makefile.am): Likewise.
64668         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
64669         * modules/canonicalize-tests (Makefile.am): Likewise.
64670         * modules/closein-tests (Makefile.am): Likewise.
64671         * modules/fprintf-posix-tests (Makefile.am): Likewise.
64672         * modules/freadahead-tests (Makefile.am): Likewise.
64673         * modules/fseek-tests (Makefile.am): Likewise.
64674         * modules/fseeko-tests (Makefile.am): Likewise.
64675         * modules/ftell-tests (Makefile.am): Likewise.
64676         * modules/ftello-tests (Makefile.am): Likewise.
64677         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
64678         * modules/isnanl-tests (Makefile.am): Likewise.
64679         * modules/lseek-tests (Makefile.am): Likewise.
64680         * modules/mbscasecmp-tests (Makefile.am): Likewise.
64681         * modules/mbscasestr-tests (Makefile.am): Likewise.
64682         * modules/mbschr-tests (Makefile.am): Likewise.
64683         * modules/mbscspn-tests (Makefile.am): Likewise.
64684         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
64685         * modules/mbspbrk-tests (Makefile.am): Likewise.
64686         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
64687         * modules/mbsrchr-tests (Makefile.am): Likewise.
64688         * modules/mbsspn-tests (Makefile.am): Likewise.
64689         * modules/mbsstr-tests (Makefile.am): Likewise.
64690         * modules/printf-posix-tests (Makefile.am): Likewise.
64691         * modules/snprintf-posix-tests (Makefile.am): Likewise.
64692         * modules/sprintf-posix-tests (Makefile.am): Likewise.
64693         * modules/tsearch-tests (Makefile.am): Likewise.
64694         * modules/uniname/uniname-tests (Makefile.am): Likewise.
64695         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
64696         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
64697         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
64698         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
64699         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
64700         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
64701         * modules/vprintf-posix-tests (Makefile.am): Likewise.
64702         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
64703         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
64704         * modules/xstrtoimax-tests (Makefile.am): Likewise.
64705         * modules/xstrtol-tests (Makefile.am): Likewise.
64706         * modules/xstrtoumax-tests (Makefile.am): Likewise.
64707         * modules/yesno-tests (Makefile.am): Likewise.
64708
64709 2007-10-03  Bruno Haible  <bruno@clisp.org>
64710
64711         * modules/trunc-tests: New file.
64712         * tests/test-trunc.c: New file.
64713
64714         * modules/trunc: New file.
64715         * lib/trunc.c: New file.
64716         * m4/trunc.m4: New file.
64717         * lib/math.in.h (trunc): New declaration.
64718         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
64719         HAVE_DECL_TRUNC.
64720         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
64721         HAVE_DECL_TRUNC.
64722         * doc/functions/trunc.texi: Mention the 'trunc' module.
64723
64724 2007-10-03  Bruno Haible  <bruno@clisp.org>
64725
64726         * tests/test-fpending.c: New file, mostly copied
64727         from coreutils/lib/t-fpending.c.
64728         * modules/fpending-tests: New file.
64729
64730 2007-10-03  Bruno Haible  <bruno@clisp.org>
64731
64732         Port the stdio extensions to QNX (untested).
64733         * lib/fseterr.c (fseterr): Add support for QNX.
64734         * lib/fbufmode.c (fbufmode): Likewise.
64735         * lib/freadable.c (freadable): Likewise.
64736         * lib/fwritable.c (fwritable): Likewise.
64737         * lib/freading.c (freading): Likewise.
64738         * lib/fwriting.c (fwriting): Likewise.
64739         * lib/freadahead.c (freadahed): Likewise.
64740         * lib/fpurge.c (fpurge): Likewise.
64741         * lib/fseeko.c (rpl_fseeko): Likewise.
64742
64743 2007-10-03  Bruno Haible  <bruno@clisp.org>
64744             Jim Meyering  <jim@meyering.net>
64745             Eric Blake  <ebb9@byu.net>
64746
64747         * doc/relocatable.texi: Use @command instead of @program.
64748
64749 2007-10-02  Jim Meyering  <jim@meyering.net>
64750
64751         Perform one more "_.h" -> ".in.h" substitution.
64752         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
64753         instead of unistd_.h here, too.
64754
64755 2007-10-01  Bruno Haible  <bruno@clisp.org>
64756
64757         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
64758         Needed for the alloca-opt module.
64759
64760 2007-09-30  Bruno Haible  <bruno@clisp.org>
64761
64762         * lib/alloca.in.h: Renamed from lib/alloca_.h.
64763         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
64764         alloca_.h.
64765         * lib/argz.in.h: Renamed from lib/argz_.h.
64766         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
64767         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
64768         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
64769         byteswap_.h.
64770         * lib/dirent.in.h: Renamed from lib/dirent_.h.
64771         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
64772         dirent_.h.
64773         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
64774         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
64775         fcntl_.h.
64776         * lib/float.in.h: Renamed from lib/float_.h.
64777         * modules/float (Files, Makefile.am): Use float.in.h instead of
64778         float_.h.
64779         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
64780         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
64781         fnmatch_.h.
64782         * lib/getopt.in.h: Renamed from lib/getopt_.h.
64783         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
64784         getopt_.h.
64785         * lib/glob.in.h: Renamed from lib/glob_.h.
64786         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
64787         * lib/iconv.in.h: Renamed from lib/iconv_.h.
64788         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
64789         iconv_.h.
64790         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
64791         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
64792         inttypes_.h.
64793         * lib/locale.in.h: Renamed from lib/locale_.h.
64794         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
64795         locale_.h.
64796         * lib/math.in.h: Renamed from lib/math_.h.
64797         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
64798         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
64799         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
64800         of netinet_in_.h. Add dependency.
64801         * lib/poll.in.h: Renamed from lib/poll_.h.
64802         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
64803         * lib/search.in.h: Renamed from lib/search_.h.
64804         * modules/search (Files, Makefile.am): Use search.in.h instead of
64805         search_.h.
64806         * lib/signal.in.h: Renamed from lib/signal_.h.
64807         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
64808         _signal.h.
64809         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
64810         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
64811         stdbool_.h.
64812         * lib/stdint.in.h: Renamed from lib/stdint_.h.
64813         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
64814         stdint_.h.
64815         * lib/stdio.in.h: Renamed from lib/stdio_.h.
64816         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
64817         stdio_.h.
64818         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
64819         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
64820         stdlib_.h.
64821         * lib/string.in.h: Renamed from lib/string_.h.
64822         * modules/string (Files, Makefile.am): Use string.in.h instead of
64823         string_.h.
64824         * doc/gnulib-tool.texi (Initial import): Update.
64825         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
64826         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
64827         of sys_select_.h. Add dependency.
64828         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
64829         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
64830         of sys_socket_.h.
64831         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
64832         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
64833         sys_stat_.h.
64834         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
64835         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
64836         sys_time_.h.
64837         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
64838         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
64839         sysexits_.h.
64840         * lib/time.in.h: Renamed from lib/time_.h.
64841         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
64842         * lib/unistd.in.h: Renamed from lib/unistd_.h.
64843         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
64844         unistd_.h.
64845         * lib/wchar.in.h: Renamed from lib/wchar_.h.
64846         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
64847         wchar_.h.
64848         * lib/wctype.in.h: Renamed from lib/wctype_.h.
64849         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
64850         wctype_.h.
64851         * build-aux/bootstrap (slurp): Update.
64852         * lib/.cppi-disable: Update.
64853
64854 2007-09-30  Bruno Haible  <bruno@clisp.org>
64855
64856         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
64857         Needed on BeOS.
64858
64859 2007-09-30  Bruno Haible  <bruno@clisp.org>
64860
64861         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
64862
64863 2007-09-29  Bruno Haible  <bruno@clisp.org>
64864
64865         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
64866
64867 2007-09-29  Bruno Haible  <bruno@clisp.org>
64868
64869         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
64870         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
64871         * build-aux/install-reloc: Compile also areadlink.c.
64872         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
64873
64874 2007-09-29  Bruno Haible  <bruno@clisp.org>
64875
64876         * gnulib-tool (func_emit_initmacro_done): Indentation.
64877
64878 2007-09-29  Bruno Haible  <bruno@clisp.org>
64879
64880         * README: Add CVS checkout update instructions.
64881         Info from Bob Proulx <bob@proulx.com>.
64882
64883 2007-09-28  Eric Blake  <ebb9@byu.net>
64884
64885         Provide move-if-change.
64886         * build-aux/move-if-change: New file, based on best practice
64887         rather than any canonical upstream location.
64888
64889 2007-09-28  Jim Meyering  <jim@meyering.net>
64890
64891         Fix canonicalize loop-detection corner case.
64892         Do not attempt to stat the symlink values stored via seen_triple.
64893         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
64894         on linux-2.6.18, (but not 2.6.22).
64895         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
64896         triple_compare.  The former compares dev,ino,filename, while the latter
64897         would actually stat dirname(filename) when dev and ino were equal.
64898         * lib/hash-triple.c: Install <string.h>.
64899         (STREQ): Define.
64900         (triple_compare_ino_str): New function.
64901         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
64902
64903 2007-09-28  Eric Blake  <ebb9@byu.net>
64904
64905         Enforce that AC_REPLACE_FUNCS files exist.
64906         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
64907         override check for typos.
64908
64909         Fix test-closein on Solaris 10.
64910         * tests/test-closein.c (main): Don't assume stdin can be inherited
64911         closed on all systems.
64912         * tests/test-closein.sh: Likewise.
64913         Reported by Piotr Tarnowski.
64914
64915 2007-09-28  Jim Meyering  <jim@meyering.net>
64916
64917         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
64918
64919 2007-09-27  Jim Meyering  <jim@meyering.net>
64920
64921         canonicalize: Avoid a false-positive cycle failure.
64922         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
64923         Sort.  Remove cycle-check.
64924         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
64925         not cycle-check.h.
64926         (seen_triple): New function.
64927         (canonicalize_filename_mode): Use it instead of cycle-check.
64928         * tests/test-canonicalize.c: Add a test for this bug.
64929         * tests/test-canonicalize.sh: Set up and run the test.
64930
64931         New module, file-set, from coreutils.
64932         * modules/file-set: Define it.
64933         * lib/file-set.c, lib/file-set.h: Implement.
64934
64935         New module, hash-triple, from coreutils.
64936         * modules/hash-triple: Define it.
64937         * lib/hash-triple.c, lib/hash-triple.h: Implement.
64938
64939 2007-09-25  Eric Blake  <ebb9@byu.net>
64940
64941         Fix strerror on Interix.
64942         * lib/string_.h (strerror): Declare replacement.
64943         * doc/functions/strerror.texi (strerror): Document the Interix
64944         shortcoming.
64945         * modules/string (Makefile.am): Support new hooks.
64946         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
64947         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
64948         gl_FUNC_STRERROR_SEPARATE.
64949         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
64950         * lib/strerror.c (rpl_strerror): Provide replacement.
64951         * modules/strerror (Depends-on): Add string.
64952         (configure.ac): Detect use of module.
64953         * tests/test-strerror.c: New file.
64954         * modules/strerror-tests: New test module.
64955         * modules/argp (Depends-on): Add strerror.
64956         * modules/error (Depends-on): Likewise.
64957         Reported by Martin Koeppe.
64958
64959 2007-09-24  Bruno Haible  <bruno@clisp.org>
64960
64961         * README: Update git instructions.
64962
64963 2007-09-24  Eric Blake  <ebb9@byu.net>
64964
64965         Revert fpending breakage from 2007-09-08.
64966         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
64967         __fpending.c.
64968
64969 2007-09-24  Jim Meyering  <jim@meyering.net>
64970
64971         filenamecat.c: Add a test.
64972         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
64973         showing how the function works when DIR is the empty string.
64974
64975 2007-09-21  Simon Josefsson  <simon@josefsson.org>
64976
64977         * tests/test-canonicalize.sh: Turn on executable bit.
64978
64979 2007-09-19  Eric Blake  <ebb9@byu.net>
64980
64981         * README: Update CVS instructions.
64982
64983 2007-09-18  Bruno Haible  <bruno@clisp.org>
64984
64985         * modules/areadlink: New file.
64986         * lib/areadlink.h (areadlink): New declaration.
64987         * lib/areadlink.c: New file, based on lib/xreadlink.c.
64988
64989 2007-09-17  Jim Meyering  <jim@meyering.net>
64990
64991         * lib/savewd.c (ESTALE) [!defined]: Define.
64992         Reported to be required on Interix by Martin Koeppe.
64993
64994 2007-09-17  Bruno Haible  <bruno@clisp.org>
64995
64996         * gnulib-tool (func_version): Use $version.
64997
64998 2007-09-16  Bruno Haible  <bruno@clisp.org>
64999
65000         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
65001         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
65002         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
65003         Reported by Greg Schafer <gschafer@zip.com.au>.
65004
65005 2007-09-15  Bruno Haible  <bruno@clisp.org>
65006
65007         * gnulib-tool (sed): Try a little harder to make bash understand the
65008         alias.
65009         Reported by Bruce Korb <bruce.korb@gmail.com>.
65010
65011 2007-09-13  Eric Blake  <ebb9@byu.net>
65012
65013         * ChangeLog: Remove conflict markers.
65014
65015 2007-09-13  Simon Josefsson  <simon@josefsson.org>
65016
65017         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
65018         Reported by Bruno Haible <bruno@clisp.org>.
65019
65020 2007-09-12  Bruno Haible  <bruno@clisp.org>
65021
65022         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
65023         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
65024         is not defined.
65025
65026 2007-09-12  Eric Blake  <ebb9@byu.net>
65027
65028         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
65029         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
65030         Autoconf definition.
65031         * modules/euidaccess (Depends-on): Add extensions, for
65032         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
65033         * modules/fnmatch (Depends-on): Likewise.
65034         * modules/getaddrinfo (Depends-on): Likewise.
65035         * modules/getdelim (Depends-on): Likewise.
65036         * modules/getline (Depends-on): Likewise.
65037         * modules/getsubopt (Depends-on): Likewise.
65038         * modules/gettext (Depends-on): Likewise.
65039         * modules/group-member (Depends-on): Likewise.
65040         * modules/mbchar (Depends-on): Likewise.
65041         * modules/memmem (Depends-on): Likewise.
65042         * modules/mempcpy (Depends-on): Likewise.
65043         * modules/memrchr (Depends-on): Likewise.
65044         * modules/pagealign_alloc (Depends-on): Likewise.
65045         * modules/readutmp (Depends-on): Likewise.
65046         * modules/stpcpy (Depends-on): Likewise.
65047         * modules/stpncpy (Depends-on): Likewise.
65048         * modules/strchrnul (Depends-on): Likewise.
65049         * modules/strndup (Depends-on): Likewise.
65050         * modules/strsep (Depends-on): Likewise.
65051         * modules/strverscmp (Depends-on): Likewise.
65052         * modules/vasprintf (Depends-on): Likewise.
65053         * modules/wcwidth (Depends-on): Likewise.
65054         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
65055         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
65056         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
65057         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
65058         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
65059         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
65060         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
65061         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
65062         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
65063         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
65064         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
65065         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
65066         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
65067         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
65068         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
65069         * m4/readutmp.m4 (gl_READUTMP): Likewise.
65070         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65071         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
65072         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65073         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
65074         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
65075         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
65076         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
65077         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
65078         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
65079         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65080         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
65081         so that lock.m4 can be used in gettext without extensions module.
65082
65083 2007-09-11  Bruno Haible  <bruno@clisp.org>
65084
65085         * m4/isc-posix.m4: Remove file.
65086         Suggested by Eric Blake.
65087
65088 2007-09-11  Eric Blake  <ebb9@byu.net>
65089
65090         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
65091
65092 2007-09-10  Bruno Haible  <bruno@clisp.org>
65093
65094         * posix-modules: Fix typo in error message.
65095         Reported by Matt <mkraai@beckman.com>.
65096
65097 2007-09-09  Bruno Haible  <bruno@clisp.org>
65098
65099         * doc/functions/getdelim.texi: Update list of platforms lacking the
65100         function.
65101         * doc/functions/getline.texi: Likewise.
65102
65103 2007-09-09  Jim Meyering  <jim@meyering.net>
65104
65105         * lib/hash.c (hash_initialize): Detect calloc failure.
65106         Reported by Bruno Haible.
65107
65108 2007-09-09  Bruno Haible  <bruno@clisp.org>
65109
65110         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
65111         malloc or realloc fails.
65112
65113 2007-09-09  Bruno Haible  <bruno@clisp.org>
65114
65115         * modules/getcwd (Depends-on): Add malloc-posix.
65116         * modules/glob (Depends-on): Likewise.
65117         * modules/putenv (Depends-on): Likewise.
65118         * modules/strdup (Depends-on): Likewise.
65119         * modules/getdelim (Depends-on): Add realloc-posix.
65120         * modules/read-file (Depends-on): Likewise.
65121
65122 2007-09-09  Bruno Haible  <bruno@clisp.org>
65123
65124         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
65125         (gl_FUNC_MALLOC_POSIX): Require it.
65126         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
65127         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
65128         * modules/realloc (Files): Add m4/malloc.m4.
65129         * modules/calloc (Files): Likewise.
65130
65131 2007-09-09  Bruno Haible  <bruno@clisp.org>
65132
65133         * modules/malloc-posix: New file.
65134         * modules/malloc (Depends-on): Add malloc-posix.
65135         * lib/malloc.c: Include errno.h.
65136         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
65137         and a POSIX-compatible malloc into a single function. Set ENOMEM
65138         when returning NULL.
65139         * m4/malloc.m4: New file.
65140         * doc/functions/malloc.texi: Mention the malloc-posix module.
65141         * lib/stdlib_.h (malloc): New declaration.
65142         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65143         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
65144         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
65145         and HAVE_MALLOC_POSIX.
65146
65147 2007-09-09  Bruno Haible  <bruno@clisp.org>
65148
65149         * modules/realloc-posix: New file.
65150         * modules/realloc (Depends-on): Add realloc-posix.
65151         * lib/realloc.c: Include errno.h.
65152         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
65153         and a POSIX-compatible realloc into a single function. Set ENOMEM
65154         when returning NULL.
65155         * m4/realloc.m4: New file.
65156         * doc/functions/realloc.texi: Mention the realloc-posix module.
65157         * lib/stdlib_.h (realloc): New declaration.
65158         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65159         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
65160         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
65161         and HAVE_REALLOC_POSIX.
65162
65163 2007-09-09  Bruno Haible  <bruno@clisp.org>
65164
65165         * modules/calloc-posix: New file.
65166         * modules/calloc (Depends-on): Add calloc-posix.
65167         * lib/calloc.c: Include errno.h.
65168         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
65169         and a POSIX-compatible calloc into a single function. Set ENOMEM
65170         when returning NULL.
65171         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
65172         * doc/functions/calloc.texi: Mention the calloc-posix module.
65173         * lib/stdlib_.h (calloc): New declaration.
65174         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65175         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
65176         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
65177         and HAVE_CALLOC_POSIX.
65178
65179 2007-09-09  Bruno Haible  <bruno@clisp.org>
65180
65181         Allow for modules to show an arbitrary notice.
65182         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
65183         * gnulib-tool: New option --extract-notice.
65184         (func_usage): Document it.
65185         (sed_extract_prog): Update.
65186         (func_get_notice): New function.
65187         (func_modules_notice): New function.
65188         (func_import, func_create_testdir): Invoke it.
65189         Suggested by Jim Meyering.
65190
65191 2007-09-09  Bruno Haible  <bruno@clisp.org>
65192
65193         * gnulib-tool: New options --verbose, --quiet.
65194         (func_usage): Document them.
65195         (verbose): New variable.
65196         (func_execute_command): New function.
65197         (func_import): Don't show the module list and the file list if
65198         $verbose < 0.
65199         (func_create_testdir): Likewise. Use func_execute_command.
65200         (func_create_megatestdir): Use func_execute_command.
65201
65202 2007-09-08  Bruno Haible  <bruno@clisp.org>
65203
65204         * gnulib-tool (func_import): Prefer rsync over wget when available,
65205         for fetching the PO files.
65206
65207 2007-09-08  Bruno Haible  <bruno@clisp.org>
65208
65209         * posix-modules: New file. Portions copied from gnulib-tool.
65210         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
65211
65212 2007-09-08  Jim Meyering  <jim@meyering.net>
65213
65214         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
65215         * lib/fpending.h: Rename from __fpending.h.
65216         * lib/fpending.c: Rename from __fpending.c.
65217         Include "fpending.h", not "__fpending.h".
65218         * lib/__fpending.h, lib/__fpending.c: Remove files.
65219         * modules/fpending (Files): Reflect new file names.
65220         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
65221
65222 2007-09-08  Bruno Haible  <bruno@clisp.org>
65223
65224         * m4/inttypes-h.m4: Remove stub file.
65225
65226 2007-09-07  Simon Josefsson  <simon@josefsson.org>
65227
65228         * doc/headers/stdint.texi: Discuss #include_next issue.
65229
65230 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65231
65232         * build-aux/bootstrap: Remove obsolete comment about wget --help.
65233
65234 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65235
65236         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
65237         in variable name.
65238
65239 2007-09-03  Jim Meyering  <jim@meyering.net>
65240
65241         New module: git-version-gen.
65242         * modules/git-version-gen: New file.
65243
65244         Import changes from coreutils for bootstrap script.
65245
65246         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
65247
65248         bootstrap: uses rsync to download the .po files
65249         * build-aux/bootstrap (po_download_command_format): New global.
65250         (download_po_files): Use rsync.
65251         (update_po_files): Don't remove .po files after download,
65252         so future rsync runs can take advantage of the copies.
65253
65254         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
65255
65256         Solve the unnecessary-.po-file-regeneration problem once and for all.
65257         * build-aux/bootstrap (download_po_files): New function, renamed from
65258         get_translations.  Now, downloads, but doesn't update LINGUAS.
65259         (update_po_files): New function.
65260
65261         bootstrap: Ignore more.
65262         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
65263         uniwidth to e.g., lib/.gitignore.
65264         (slurp): Handle the sys_stat_.h -> sys mapping, too.
65265
65266         * build-aux/bootstrap: New setting: vc_ignore.
65267         (insert_sorted_if_absent): Create $file if absent.
65268         Adapt to new, possibly empty, list: $vc_ignore.
65269
65270         bootstrap: generate more ignorable names
65271         * build-aux/bootstrap (slurp): When generating ignorable names,
65272         also map .sin to .sed, .gperf to .c, and .y to .c.
65273
65274 2007-09-03  Jim Meyering  <jim@meyering.net>
65275
65276         * build-aux/git-version-gen: New file, from coreutils.  For details, see
65277         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
65278
65279 2007-09-02  Bruno Haible  <bruno@clisp.org>
65280
65281         Fix mis-recognition of 'mcs' on QNX 6.
65282         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
65283         output contains the string "Mono".
65284         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
65285         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
65286
65287 2007-09-01  Bruno Haible  <bruno@clisp.org>
65288
65289         Fix collision between uniwidth/* and linebreak modules.
65290         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
65291         u32_width): Remove declarations.
65292         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
65293         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
65294         streq3, streq2, streq1, streq0): Remove functions.
65295         (STREQ): Remove macro.
65296         (is_cjk_encoding): Remove function.
65297         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
65298         (uc_width, u8_width, u16_width, u32_width): Remove functions.
65299         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
65300         * NEWS: Document the change.
65301
65302 2007-09-01  Bruno Haible  <bruno@clisp.org>
65303
65304         * lib/streq.h: Add double-inclusion guard.
65305
65306 2007-09-01  Karl Berry  <karl@gnu.org>
65307
65308         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
65309
65310 2007-08-28  Jim Meyering  <jim@meyering.net>
65311
65312         Rename mreadlink_with_size to areadlink_with_size.
65313         * NEWS: Document the change.
65314         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
65315         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
65316         * lib/mreadlink.h: Rename this to...
65317         * lib/areadlink.h: ...this.
65318         * modules/mreadlink-with-size: Rename this to...
65319         * modules/areadlink-with-size: ...this.
65320         * lib/canonicalize.c: Reflect the renaming.
65321         * modules/canonicalize: Likewise.
65322
65323 2007-08-26  Bruno Haible  <bruno@clisp.org>
65324
65325         * gnulib-tool (func_import): When deciding which files to remove,
65326         consider also dangling symbolic links.
65327         Reported by Eric Blake.
65328
65329 2007-08-26  Bruno Haible  <bruno@clisp.org>
65330
65331         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
65332
65333 2007-08-23  Simon Josefsson  <simon@josefsson.org>
65334
65335         * lib/readline.c: Don't include getline.h, the prototype is now
65336         found in stdio.h.
65337
65338 2007-08-23  Jim Meyering  <jim@meyering.net>
65339
65340         Getdelim touchup.
65341         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
65342         around the funlockfile call, since funlockfile never sets errno.
65343         Don't set errno upon failed realloc.
65344
65345 2007-08-22  Eric Blake  <ebb9@byu.net>
65346
65347         Getline touchups.
65348         * lib/getdelim.c (getdelim): Revert regression that required *n to
65349         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
65350         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
65351         getdelim, rather than whether implementation is missing.
65352         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
65353         * lib/stdio_.h (getline): Also declare if replacement is
65354         required.
65355         * doc/functions/getdelim.texi: New file.
65356         * doc/functions/getline.texi: Likewise.
65357         * doc/gnulib.texi (Function Substitutes): Add new files.
65358         Reported by Bruno Haible.
65359
65360 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
65361
65362         * users.txt: Add Guile.
65363
65364 2007-08-22  Eric Blake  <ebb9@byu.net>
65365
65366         * tests/test-getdelim.c (main): Use remove, not unlink.
65367         * tests/test-getline.c (main): Likewise.
65368
65369         Move getline and getdelim into stdio.h, per POSIX 200x.
65370         * modules/getline (Files): Remove getline.h.
65371         (Depends-on): Add stdio.
65372         (configure.ac): Add module indicator.
65373         * modules/getdelim (Files): Remove getdelim.h.
65374         (Depends-on): Add stdio.
65375         (configure.ac): Add module indicator.
65376         * modules/stdio (Makefile.am): Work with new indicators.
65377         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
65378         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
65379         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
65380         * lib/getdelim.h: Delete.
65381         * lib/getline.h: Delete.
65382         * lib/stdio_.h (getdelim, getline): Declare.
65383         * modules/getdelim-tests: New module.
65384         * modules/getline-tests: Likewise.
65385         * tests/test-getdelim.c: New file.
65386         * tests/test-getline.c: Likewise.
65387         * NEWS: Document the change.
65388         * lib/getline.c: Update choice of header.
65389         * lib/csharpcomp.c: Likewise.
65390         * lib/getpass.c: Likewise.
65391         * lib/javacomp.c: Likewise.
65392         * lib/javaversion.c: Likewise.
65393         * lib/yesno.c: Likewise.
65394         * lib/getdelim.c: Likewise.
65395         (getdelim): Set errno on failure, and avoid memory leak.
65396
65397 2007-08-19  Bruno Haible  <bruno@clisp.org>
65398
65399         * modules/closein (Depends-on): Add freadahead.
65400         * lib/closein.c: Include freadahead.h.
65401         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
65402         is zero.
65403
65404 2007-08-19  Bruno Haible  <bruno@clisp.org>
65405
65406         * modules/freadahead-tests: New file.
65407         * tests/test-freadahead.sh: New file.
65408         * tests/test-freadahead.c: New file.
65409
65410         * modules/freadahead: New file.
65411         * lib/freadahead.h: New file.
65412         * lib/freadahead.c: New file.
65413         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
65414         fbufmode, fpurge, freadable, fwritable.
65415
65416 2007-08-19  Eric Blake  <ebb9@byu.net>
65417
65418         Test yesno in combination with closein.
65419         * lib/yesno.c (yesno): Document use of stdin.
65420         * modules/yesno-tests (Files): New module.
65421         * tests/test-yesno.c (main): New file.
65422         * tests/test-yesno.sh: Likewise.
65423
65424 2007-08-19  Bruno Haible  <bruno@clisp.org>
65425
65426         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
65427         * lib/fseeko.c (rpl_fseeko): Likewise.
65428         * lib/fseterr.c (fseterr): Likewise.
65429
65430 2007-08-19  Bruno Haible  <bruno@clisp.org>
65431
65432         * tests/test-lseek.c (main): Disable a test for BeOS.
65433         * doc/functions/lseek.texi: Document the BeOS bug.
65434
65435 2007-08-19  Bruno Haible  <bruno@clisp.org>
65436             Eric Blake  <ebb9@byu.net>
65437
65438         * lib/lseek.c: Include <sys/stat.h>.
65439         (rpl_lseek): Add workaround code also for Unix platforms.
65440         Needed for BeOS.
65441         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
65442         * doc/functions/lseek.texi: Document BeOS definiency.
65443
65444 2007-08-18  Bruno Haible  <bruno@clisp.org>
65445
65446         * modules/fstrcmp-tests: New file.
65447         * tests/test-fstrcmp.c: New file.
65448
65449 2007-08-18  Bruno Haible  <bruno@clisp.org>
65450
65451         * modules/fstrcmp: New file, from GNU gettext with modifications.
65452         * lib/fstrcmp.h: New file, from GNU gettext.
65453         * lib/fstrcmp.c: New file, from GNU gettext.
65454         * MODULES.html.sh (String handling): Add fstrcmp.
65455
65456 2007-08-18  Bruno Haible  <bruno@clisp.org>
65457
65458         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
65459         'bool'.
65460         (diag, compareseq): Remove const from the ctxt argument.
65461         (USE_HEURISTIC): Undefine at the end.
65462
65463 2007-08-18  Jim Meyering  <jim@meyering.net>
65464
65465         New file: lib/idcache.h
65466         * NEWS: Mention the addition.
65467         * modules/idcache (Files): Add lib/idcache.h
65468         * lib/idcache.c: Include "idcache.h".
65469         Don't include <sys/types.h>.
65470         Add a FIXME comment.
65471         Move file-scoped "static" declarations to the top.
65472         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
65473
65474 2007-08-17  Bruno Haible  <bruno@clisp.org>
65475         and Paul Eggert  <eggert@cs.ucla.edu>
65476
65477         * MODULES.html.sh: Add diffseq.
65478         * modules/diffseq: New file.
65479         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
65480         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
65481
65482 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65483
65484         Import changes from coreutils for bootstrap script.
65485
65486         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
65487
65488         * build-aux/bootstrap (slurp): Work even in environments where
65489         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
65490         current code does not slurp files whose names start with ".", and
65491         this looks like it might be a troublesome area.
65492
65493         2007-07-11  Jim Meyering  <jim@meyering.net>
65494
65495         If there's a GPL vN copyright comment, require that N == 3.
65496
65497         2007-07-08  Jim Meyering  <jim@meyering.net>
65498
65499         Run the coreutils-specific code only if tests/Makefile.am.in exists.
65500         * build-aux/bootstrap (mam_template): Move definition out of loop.
65501
65502         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
65503
65504         * build-aux/bootstrap (symlink_to_dir): Rename function from
65505         symlink_to_gnulib.  Add a directory parameter.  Update all
65506         callers.
65507         (cp_mark_as_generated): Also check for -- and link to -- files in
65508         gl/.
65509
65510         2007-07-08  Jim Meyering  <jim@meyering.net>
65511
65512         Adapt to deeper hierarchy in gnulib.
65513         * build-aux/bootstrap (symlink_to_dir): If the destination
65514         directory doesn't exist, create it. This is required at least for
65515         "lib/uniwidth/cjk.h".
65516
65517         2007-05-15  Jim Meyering  <jim@meyering.net>
65518
65519         * build-aux/bootstrap: Now that generated Makefile.am files
65520         are no longer under version control, they must be created at
65521         bootstrap time.
65522
65523 2007-08-14  Ben Pfaff  <blp@gnu.org>
65524
65525         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
65526
65527 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
65528
65529         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
65530         given the changes below.
65531         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
65532         even on hosts that have padding bits beyond the supported 64.
65533
65534 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65535
65536         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
65537         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
65538         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
65539         depends on it.
65540         (xstrtol_error): Remove.
65541         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
65542         but with a different signature.
65543         (ATTRIBUTE_NORETURN, __attribute__): New macros.
65544         * lib/xstrtol-error.c: Include exitfail.h.
65545         (xstrtol_fatal): New function, with a different signature from the
65546         old xstrtol_error, so that the caller need not worry about passing
65547         in an exit status, or about storage management of the option argument.
65548         (xstrtol_error): Now a static function.  Redo signature to
65549         implement xstrtol_fatal.  Output the correct number of hyphens in
65550         front of the option so that the caller need not worry about
65551         storage management.
65552         (N_): New macro.
65553         (_): Remove; not used now.
65554         * modules/xstrtol: Depend on getopt.
65555         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
65556         of old STRTOL_FATAL_ERROR macro.
65557         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
65558         of test program.
65559         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
65560         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
65561
65562 2007-08-08  Eric Blake  <ebb9@byu.net>
65563
65564         * lib/xstrtol-error.c: Add missing include.
65565
65566         Move xstrtol messages into gnulib domain, when --pobase is used.
65567         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
65568         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
65569         * modules/xstrtol (Files): Distribute new file.
65570         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
65571         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
65572         * tests/test-xstrtol.c: ...into new file.
65573         * tests/test-xstrtoul.c: Also test xstrtoul.
65574         * tests/test-xstrtoimax.c: Also test xstrtoimax.
65575         * tests/test-xstrtoumax.c: Also test xstrtoumax.
65576         * tests/test-xstrtol.sh: Drive the tests.
65577         * tests/test-xstrtoimax.sh: Likewise.
65578         * tests/test-xstrtoumax.sh: Likewise.
65579         * modules/xstrtol-tests: New module.
65580         * modules/xstrtoimax-tests: Likewise.
65581         * modules/xstrtoumax-tests: Likewise.
65582
65583 2007-08-08  Jim Meyering  <jim@meyering.net>
65584
65585         New function: mfile_name_concat.
65586         * lib/filenamecat.c (mfile_name_concat): New function, just like
65587         file_name_concat, but return NULL upon failure rather than exiting
65588         with a diagnostic.
65589         * lib/filenamecat.h: Declare it.
65590
65591 2007-08-07  Bruno Haible  <bruno@clisp.org>
65592
65593         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
65594         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
65595         warning from gcc.
65596         Reported by Eric Blake.
65597
65598 2007-08-07  Simon Josefsson  <simon@josefsson.org>
65599
65600         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
65601         * modules/crypto/arcfour (License): Likewise.
65602         * modules/crypto/des-tests (License): Likewise.
65603         * modules/crypto/gc-arctwo-tests (License): Likewise.
65604         * modules/crypto/gc-des-tests (License): Likewise.
65605         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
65606         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
65607         * modules/crypto/gc-md2-tests (License): Likewise.
65608         * modules/crypto/gc-md4-tests (License): Likewise.
65609         * modules/crypto/gc-md5-tests (License): Likewise.
65610         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
65611         * modules/crypto/gc-rijndael-tests (License): Likewise.
65612         * modules/crypto/gc-sha1-tests (License): Likewise.
65613         * modules/crypto/gc-tests (License): Likewise.
65614         * modules/crypto/hmac-md5 (License): Likewise.
65615         * modules/crypto/hmac-sha1 (License): Likewise.
65616         * modules/crypto/md2-tests (License): Likewise.
65617         * modules/crypto/md4-tests (License): Likewise.
65618         * modules/crypto/md5 (License): Likewise.
65619         * modules/crypto/rijndael (License): Likewise.
65620         * modules/crypto/sha1 (License): Likewise.
65621         * modules/memxor (License): Likewise.
65622
65623 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
65624         and Bruno Haible  <bruno@clisp.org>
65625
65626         * NEWS: Describe interface changes to human, xstrtol.
65627         * lib/human.h: Include <xstrtol.h>.
65628         (human_options): Return enum strtol_error, not int.  Remove
65629         bool arg; take int * instead.
65630         * lib/human.c: Don't include "gettext.h".
65631         (_): Remove; no longer used.
65632         Don't include <xstrtol.h>, since human.h does it.
65633         (human_options): Adjust to abovementioned interface changes.
65634         Do not report error to stderr; that's now the caller's
65635         responsibility.
65636         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
65637         interface change.
65638         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
65639         Str, Argument_type_string.  All uses changed.  Put " argument"
65640         in diagnostics to make them clearer.  Change wording of suffix
65641         message for clarity.
65642         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
65643         Argument_type_string.
65644         (STRTOL_FATAL_WARN): Remove; no longer used.
65645         * modules/human (Depends-on): Remove gettext-h.
65646
65647 2007-08-06  Simon Josefsson  <simon@josefsson.org>
65648
65649         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
65650
65651 2007-07-31  Bruno Haible  <bruno@clisp.org>
65652
65653         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
65654         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
65655         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
65656
65657 2007-07-31  Bruno Haible  <bruno@clisp.org>
65658
65659         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
65660         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
65661
65662 2007-07-30  Bruno Haible  <bruno@clisp.org>
65663
65664         * modules/base64 (License): Use the synonymous term "LGPLv2+".
65665         * modules/c-ctype (License): Likewise.
65666         * modules/c-strcase (License): Likewise.
65667         * modules/check-version (License): Likewise.
65668         * modules/iconv (License): Likewise.
65669         * modules/iconv_open (License): Likewise.
65670         * modules/read-file (License): Likewise.
65671         * modules/striconv (License): Likewise.
65672         * modules/strverscmp (License): Likewise.
65673         * modules/vasprintf (License): Likewise.
65674         * modules/crypto/des (License): Likewise.
65675         * modules/crypto/gc (License): Likewise.
65676         * modules/crypto/gc-arcfour (License): Likewise.
65677         * modules/crypto/gc-arctwo (License): Likewise.
65678         * modules/crypto/gc-des (License): Likewise.
65679         * modules/crypto/gc-hmac-md5 (License): Likewise.
65680         * modules/crypto/gc-hmac-sha1 (License): Likewise.
65681         * modules/crypto/gc-md2 (License): Likewise.
65682         * modules/crypto/gc-md4 (License): Likewise.
65683         * modules/crypto/gc-md5 (License): Likewise.
65684         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
65685         * modules/crypto/gc-random (License): Likewise.
65686         * modules/crypto/gc-rijndael (License): Likewise.
65687         * modules/crypto/gc-sha1 (License): Likewise.
65688         * modules/crypto/md2 (License): Likewise.
65689         * modules/crypto/md4 (License): Likewise.
65690
65691 2007-07-30  Jim Meyering  <jim@meyering.net>
65692
65693         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
65694         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
65695         it has valid stat data.  This bug would cause du not to count the
65696         sizes of inaccessible directories.
65697         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
65698         in <http://bugzilla.redhat.com/250077>.
65699
65700 2007-07-25  Peter O'Gorman  <peter@pogma.com>
65701             Bruno Haible  <bruno@clisp.org>
65702
65703         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
65704         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
65705         #include_next, gives a diagnostic about it, but reports no error in
65706         the exit code.
65707         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
65708
65709 2007-07-24  Ben Pfaff  <blp@gnu.org>
65710
65711         Improve name: "count-one-bits" is better than "popcount".
65712         * MODULES.html.sh: Update name.
65713         * lib/popcount.h: Renamed lib/count-one-bits.h.
65714         (popcount): Renamed count_one_bits.
65715         (popcountl): Renamed count_one_bits_l.
65716         (popcountll): Renamed count_one_bits_ll.
65717         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
65718         * modules/popcount: Renamed module/count-one-bits.
65719         * modules/popcount-tests: Renamed module/count-one-bits-tests.
65720         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
65721
65722 2007-07-23  Ben Pfaff  <blp@gnu.org>
65723
65724         * lib/popcount.h (popcount32): Reduce size of constants, to allow
65725         better code generation, and add U to large constants to avoid
65726         warnings, in non-GCC case.
65727         Suggested by Bruno Haible.
65728
65729 2007-07-23  Ben Pfaff  <blp@gnu.org>
65730
65731         * lib/popcount.h: Use verify_true instead of if...abort.
65732         * modules/popcount: Depend on verify module.
65733         Suggested by Jim Meyering.
65734
65735 2007-07-23  Bruno Haible  <bruno@clisp.org>
65736
65737         * gnulib-tool (func_import): Create a .cvsignore file also when the
65738         directory is not yet in CVS but the toplevel directory is. When
65739         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
65740         Reported by Karl Berry.
65741
65742 2007-07-22  Ben Pfaff  <blp@gnu.org>
65743
65744         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
65745         case.
65746         Suggested by Eric Blake.
65747
65748 2007-07-22  Ben Pfaff  <blp@gnu.org>
65749
65750         New module: popcount.
65751         * MODULES.html.sh: Add popcount.
65752         * modules/popcount: New file.
65753         * modules/popcount-tests: New file.
65754         * tests/test-popcount.c: New file.
65755         * lib/popcount.h: New file.
65756         * m4/popcount.m4: New file.
65757
65758 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65759
65760         * build-aux/announce-gen: Update to GPLv3.
65761
65762         * build-aux/config.guess: Update from config.
65763
65764 2007-07-21  Bruno Haible  <bruno@clisp.org>
65765
65766         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
65767         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
65768
65769 2007-07-20  Jim Meyering  <jim@meyering.net>
65770
65771         * check-module: Diagnose a self-dependency.
65772
65773 2007-07-19  Bruno Haible  <bruno@clisp.org>
65774
65775         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
65776         empty.
65777         Reported by Eric Blake.
65778
65779 2007-07-18  Bruno Haible  <bruno@clisp.org>
65780
65781         * gnulib-tool: New options --po-base, --po-domain.
65782         (func_usage): Document them.
65783         (pobase, po_domain): New variables.
65784         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
65785         DEFAULT_TEXT_DOMAIN.
65786         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
65787         (func_import): Consider pobase and po_domain. Create a po/ directory.
65788         (func_create_testdir): Set pobase and po_domain to empty.
65789         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
65790         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
65791
65792 2007-07-18  Bruno Haible  <bruno@clisp.org>
65793
65794         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65795         EXTRA_DIST augmentation for files in build-aux/.
65796
65797 2007-07-16  Bruno Haible  <bruno@clisp.org>
65798
65799         * modules/lseek (License): Use the synonymous term "LGPLv2+".
65800         * modules/getdelim (License): Likewise.
65801
65802 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65803
65804         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
65805         * modules/d-type (License): Likewise.
65806         * modules/extensions (License): Likewise.
65807         * modules/fnmatch (License): Likewise.
65808         * modules/fseeko (License): Likewise.
65809         * modules/getaddrinfo (License): Likewise.
65810         * modules/getline (License): Likewise.
65811         * modules/getlogin_r (License): Likewise.
65812         * modules/getpass (License): Likewise.
65813         * modules/gettimeofday (License): Likewise.
65814         * modules/glob (License): Likewise.
65815         * modules/inet_ntop (License): Likewise.
65816         * modules/malloc (License): Likewise.
65817         * modules/malloca (License): Likewise.
65818         * modules/memmem (License): Likewise.
65819         * modules/mempcpy (License): Likewise.
65820         * modules/memset (License): Likewise.
65821         * modules/minmax (License): Likewise.
65822         * modules/mktime (License): Likewise.
65823         * modules/netinet_in (License): Likewise.
65824         * modules/pathmax (License): Likewise.
65825         * modules/poll (License): Likewise.
65826         * modules/regex (License): Likewise.
65827         * modules/snprintf (License): Likewise.
65828         * modules/stdbool (License): Likewise.
65829         * modules/stdint (License): Likewise.
65830         * modules/stdio (License): Likewise.
65831         * modules/strcase (License): Likewise.
65832         * modules/strcasestr (License): Likewise.
65833         * modules/strdup (License): Likewise.
65834         * modules/string (License): Likewise.
65835         * modules/strndup (License): Likewise.
65836         * modules/strnlen (License): Likewise.
65837         * modules/strpbrk (License): Likewise.
65838         * modules/strptime (License): Likewise.
65839         * modules/strsep (License): Likewise.
65840         * modules/sys_select (License): Likewise.
65841         * modules/sys_socket (License): Likewise.
65842         * modules/sys_stat (License): Likewise.
65843         * modules/sys_time (License): Likewise.
65844         * modules/time (License): Likewise.
65845         * modules/time_r (License): Likewise.
65846         * modules/timegm (License): Likewise.
65847         * modules/unistd (License): Likewise.
65848         * modules/vsnprintf (License): Likewise.
65849         * modules/wctype (License): Likewise.
65850
65851 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65852
65853         * modules/argz (License): LGPLv2+.
65854
65855 2007-07-15  Karl Berry  <karl@gnu.org>
65856
65857         * doc/gnulib.texi: revise node structure per new fdl.texi.
65858
65859 2007-07-14  Bruno Haible  <bruno@clisp.org>
65860
65861         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
65862         the output file.
65863         * lib/uniname/uninames.h: Regenerated.
65864
65865 2007-07-14  Karl Berry  <karl@gnu.org>
65866
65867         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
65868         omitting sectioning and index commands.
65869
65870 2007-07-13  Bruno Haible  <bruno@clisp.org>
65871
65872         New gnulib-tool option --more-symlinks.
65873         * gnulib-tool (func_usage): Document --more-symlinks.
65874         (do_copyrights): New variable.
65875         Recognize option --more-symlinks.
65876         (func_import): Don't add a copyright notice transform to
65877         sed_transform_lib_file if do_copyrights is empty.
65878
65879 2007-07-13  Bruno Haible  <bruno@clisp.org>
65880
65881         * lib/vasnprintf.c (decimal_point_char): Define also if
65882         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
65883         && !NEED_PRINTF_DIRECTIVE_A.
65884         Reported by Clemens Koller <clemens.koller@anagramm.de> via
65885         Gary V. Vaughan <gary@gnu.org>.
65886
65887 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
65888
65889         * lib/inttypes_.h: Undo previous change, since it was fixed
65890         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
65891
65892 2007-07-13  Bruno Haible  <bruno@clisp.org>
65893
65894         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
65895         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
65896
65897 2007-07-13  Jim Meyering  <jim@meyering.net>
65898
65899         df: Don't fail for Tru64's "file-on-file mount".
65900         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
65901         so we fall through and use statfs instead.  Details here:
65902         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
65903         Reported by Albert Chin.
65904
65905 2007-07-13  Bruno Haible  <bruno@clisp.org>
65906
65907         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
65908         * modules/configmake (License): Likewise.
65909         * modules/gettext (License): Likewise.
65910         * modules/gettext-h (License): Likewise.
65911         * modules/include_next (License): Likewise.
65912         * modules/link-warning (License): Likewise.
65913         * modules/localcharset (License): Likewise.
65914         * modules/localename (License): Likewise.
65915         * modules/lock (License): Likewise.
65916         * modules/relocatable-lib-lgpl (License): Likewise.
65917         * modules/size_max (License): Likewise.
65918         * modules/vasnprintf (License): Likewise.
65919         * modules/wchar (License): Likewise.
65920         * modules/xsize (License): Likewise.
65921
65922 2007-07-13  Bruno Haible  <bruno@clisp.org>
65923
65924         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
65925         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
65926
65927 2007-07-12  Bruno Haible  <bruno@clisp.org>
65928
65929         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
65930         in the modules files.
65931
65932 2007-07-11  Karl Berry  <karl@gnu.org>
65933
65934         * MODULES.html.sh (func_module): use
65935          sed -e '\|^'"${includefile}"'$|d'
65936          instead of /.../d, to avoid errors on $includefile's containing /.
65937
65938 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65939
65940         * gnulib-tool (func_import): Avoid duplication of --avoid
65941         statements
65942         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
65943         names to `_' in variable names.
65944
65945 2007-07-10  Eric Blake  <ebb9@byu.net>
65946
65947         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
65948         * NEWS: Document this change.
65949
65950 2007-07-08  Bruno Haible  <bruno@clisp.org>
65951
65952         Update to Unicode 5.0.
65953         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
65954         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
65955         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
65956         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
65957         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
65958         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
65959         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
65960         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
65961         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
65962         U+10A3F, U+1D242..U+1D244.
65963         (nonspacing_table_ind): Update.
65964         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
65965         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
65966
65967 2007-07-08  Bruno Haible  <bruno@clisp.org>
65968
65969         Update to Unicode 5.0.
65970         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
65971         code transform. Extend the name index field of unicode_name_to_code and
65972         unicode_code_to_name from 16 to 24 bits.
65973         * lib/uniname/uniname.c (unicode_character_name,
65974         unicode_name_character): Add the range 0x12xxx to the code transform.
65975         * lib/uniname/uninames.h: Regenerated.
65976         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
65977
65978 2007-07-07  Bruno Haible  <bruno@clisp.org>
65979
65980         * modules/wcwidth-tests: New file.
65981         * tests/test-wcwidth.c: New file.
65982
65983         Work around MacOS X wcwidth() bug.
65984         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
65985         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
65986         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
65987         original wcwidth in non-UTF-8 locales.
65988         * modules/wcwidth (Depends-on): Add localcharset, streq,
65989         uniwidth/width.
65990         * doc/functions/wcwidth.texi: Update.
65991
65992 2007-07-07  Bruno Haible  <bruno@clisp.org>
65993
65994         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
65995         (wcwidth): New declaration.
65996         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
65997         macros.
65998         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
65999         here. Prepare for creating <wchar.h> unconditionally.
66000         * modules/wchar (Depends-on): Add link-warning.
66001         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
66002         REPLACE_WCWIDTH, and GL_LINK_WARNING.
66003         * lib/wcwidth.h: Remove file.
66004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
66005         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
66006         * modules/wcwidth (Files): Remove lib/wcwidth.h.
66007         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
66008         (Include): Replace wcwidth.h with <wchar.h>.
66009         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
66010         * lib/mbchar.h: Don't include wcwidth.h.
66011         * lib/mbswidth.c: Likewise.
66012         * NEWS: Mention the change.
66013
66014 2007-07-07  Bruno Haible  <bruno@clisp.org>
66015
66016         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
66017         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
66018         definition with an external declaration.
66019         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
66020         defined as a function. Remove AC_C_INLINE requirement.
66021         * modules/wcwidth (Files): Add lib/wcwidth.c.
66022         (Makefile.am): Remove redundant statement.
66023
66024 2007-07-07  Bruno Haible  <bruno@clisp.org>
66025
66026         * MODULES.html.sh (Unicode string functions): Add the new modules.
66027
66028         * tests/uniwidth/test-u32-strwidth.c: New file.
66029         * modules/uniwidth/u32-strwidth-tests: New file.
66030
66031         * lib/uniwidth/u32-strwidth.c: New file.
66032         * modules/uniwidth/u32-strwidth: New file.
66033
66034         * tests/uniwidth/test-u16-strwidth.c: New file.
66035         * modules/uniwidth/u16-strwidth-tests: New file.
66036
66037         * lib/uniwidth/u16-strwidth.c: New file.
66038         * modules/uniwidth/u16-strwidth: New file.
66039
66040         * tests/uniwidth/test-u8-strwidth.c: New file.
66041         * modules/uniwidth/u8-strwidth-tests: New file.
66042
66043         * lib/uniwidth/u8-strwidth.c: New file.
66044         * modules/uniwidth/u8-strwidth: New file.
66045
66046         * tests/uniwidth/test-u32-width.c: New file.
66047         * modules/uniwidth/u32-width-tests: New file.
66048
66049         * lib/uniwidth/u32-width.c: New file.
66050         * modules/uniwidth/u32-width: New file.
66051
66052         * tests/uniwidth/test-u16-width.c: New file.
66053         * modules/uniwidth/u16-width-tests: New file.
66054
66055         * lib/uniwidth/u16-width.c: New file.
66056         * modules/uniwidth/u16-width: New file.
66057
66058         * tests/uniwidth/test-u8-width.c: New file.
66059         * modules/uniwidth/u8-width-tests: New file.
66060
66061         * lib/uniwidth/u8-width.c: New file.
66062         * modules/uniwidth/u8-width: New file.
66063
66064         * tests/uniwidth/test-uc_width.c: New file.
66065         * modules/uniwidth/width-tests: New file.
66066
66067         * lib/uniwidth/width.c: New file, from GNU libiconv.
66068         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
66069         * modules/uniwidth/width: New file.
66070
66071         * lib/uniwidth.h: New file, from GNU libiconv.
66072         * modules/uniwidth/base: New file.
66073
66074 2007-07-07  Bruno Haible  <bruno@clisp.org>
66075
66076         * lib/uniname.h: New file, from GNU gettext.
66077         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
66078         * lib/uniname/uninames.h: New file, from GNU gettext.
66079         * lib/uniname/uniname.c: New file, from GNU gettext.
66080         * tests/uniname/test-uninames.sh: New file.
66081         * tests/uniname/test-uninames.c: New file, from GNU gettext.
66082         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
66083         * modules/uniname/base: New file.
66084         * modules/uniname/uniname: New file.
66085         * modules/uniname/uniname-tests: New file.
66086         * MODULES.html.sh (Unicode string functions): Add the new modules.
66087
66088 2007-07-06  Bruno Haible  <bruno@clisp.org>
66089
66090         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
66091
66092 2007-07-06  Bruno Haible  <bruno@clisp.org>
66093
66094         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
66095         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
66096         includes <cygwin/sys_time.h> which includes <sys/select.h> which
66097         include <sys/time.h>.
66098         Reported by Eric Blake.
66099
66100 2007-07-06  Eric Blake  <ebb9@byu.net>
66101
66102         Fix testing canonicalize on cygwin.
66103         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
66104         Revert patch from 2007-06-19.
66105         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
66106         canonicalize module is also in use.
66107         * tests/test-canonicalize.c: New file.
66108         * tests/test-canonicalize.sh: Likewise.
66109         * modules/canonicalize-tests: Likewise.
66110
66111 2007-07-06  Jim Meyering  <jim@meyering.net>
66112
66113         * lib/getugroups.c (getugroups): Detect getgrent failure.
66114         Adjust comment to reflect reality: this function may return -1.
66115
66116 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
66117
66118         * build-aux/bootstrap (TP_URL,get_translations): Update to use
66119         the new TP address.
66120         (usage): Fix typo
66121         (gnulib_mk): New variable.
66122
66123 2007-07-05  Jim Meyering  <jim@meyering.net>
66124
66125         Don't let endgrent clobber errno, no matter how improbable.
66126         * lib/getugroups.c (getugroups): Save and restore errno around
66127         endgrent call.
66128
66129         Close the group DB even when failing with 2^31 or more members.
66130         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
66131
66132 2007-07-04  Jim Meyering  <jim@meyering.net>
66133
66134         * lib/getugroups.h: New file.
66135         * lib/getugroups.c: Include "getugroups.h".
66136         Remove uses of "register" keyword.
66137         Move local variable, "cp", down into scope where used.
66138         Give "username" parameter the "const" attribute.
66139         * modules/getugroups (Files): Add lib/getugroups.h
66140
66141 2007-07-04  Karl Berry  <karl@gnu.org>
66142
66143         * MODULES.html.sh (func_all_modules): Complete rename of
66144         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
66145
66146 2007-07-02  Bruno Haible  <bruno@clisp.org>
66147
66148         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
66149         mode, when inttypes.h comes from gnulib.
66150         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66151
66152 2007-07-02  Simon Josefsson  <simon@josefsson.org>
66153
66154         * NEWS: Mention lgpl module name change.
66155
66156         * modules/lgpl-2.1: Renamed from lgpl.
66157
66158         * NEWS: Mention gpl module name change.
66159
66160         * modules/gpl-3.0: New file, based on gpl-2.0.
66161
66162         * modules/gpl-2.0: Renamed from gpl.
66163
66164         * modules/gpl: Fix filename, doc/gpl.texi is now found at
66165         doc/gpl-2.0.texi.
66166
66167 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66168
66169         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
66170         #define __STDC_LIMIT_MACROS temporarily while including
66171         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
66172         Problem reported by Joel E. Denny in
66173         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
66174
66175 2007-07-01  Bruno Haible  <bruno@clisp.org>
66176
66177         * lib/unistdio.h: New file.
66178         * lib/unistdio/u-asnprintf.h: New file.
66179         * lib/unistdio/u-asprintf.h: New file.
66180         * lib/unistdio/u-printf-args.c: New file.
66181         * lib/unistdio/u-printf-args.h: New file.
66182         * lib/unistdio/u-printf-parse.h: New file.
66183         * lib/unistdio/u-snprintf.h: New file.
66184         * lib/unistdio/u-sprintf.h: New file.
66185         * lib/unistdio/u-vasprintf.h: New file.
66186         * lib/unistdio/u-vsnprintf.h: New file.
66187         * lib/unistdio/u-vsprintf.h: New file.
66188         * lib/unistdio/ulc-asnprintf.c: New file.
66189         * lib/unistdio/ulc-asprintf.c: New file.
66190         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
66191         * lib/unistdio/ulc-printf-parse.c: New file.
66192         * lib/unistdio/ulc-snprintf.c: New file.
66193         * lib/unistdio/ulc-sprintf.c: New file.
66194         * lib/unistdio/ulc-vasnprintf.c: New file.
66195         * lib/unistdio/ulc-vasprintf.c: New file.
66196         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
66197         * lib/unistdio/ulc-vsnprintf.c: New file.
66198         * lib/unistdio/ulc-vsprintf.c: New file.
66199         * lib/unistdio/u8-asnprintf.c: New file.
66200         * lib/unistdio/u8-asprintf.c: New file.
66201         * lib/unistdio/u8-printf-parse.c: New file.
66202         * lib/unistdio/u8-snprintf.c: New file.
66203         * lib/unistdio/u8-sprintf.c: New file.
66204         * lib/unistdio/u8-vasnprintf.c: New file.
66205         * lib/unistdio/u8-vasprintf.c: New file.
66206         * lib/unistdio/u8-vsnprintf.c: New file.
66207         * lib/unistdio/u8-vsprintf.c: New file.
66208         * lib/unistdio/u8-u8-asnprintf.c: New file.
66209         * lib/unistdio/u8-u8-asprintf.c: New file.
66210         * lib/unistdio/u8-u8-snprintf.c: New file.
66211         * lib/unistdio/u8-u8-sprintf.c: New file.
66212         * lib/unistdio/u8-u8-vasnprintf.c: New file.
66213         * lib/unistdio/u8-u8-vasprintf.c: New file.
66214         * lib/unistdio/u8-u8-vsnprintf.c: New file.
66215         * lib/unistdio/u8-u8-vsprintf.c: New file.
66216         * lib/unistdio/u16-asnprintf.c: New file.
66217         * lib/unistdio/u16-asprintf.c: New file.
66218         * lib/unistdio/u16-printf-parse.c: New file.
66219         * lib/unistdio/u16-snprintf.c: New file.
66220         * lib/unistdio/u16-sprintf.c: New file.
66221         * lib/unistdio/u16-vasnprintf.c: New file.
66222         * lib/unistdio/u16-vasprintf.c: New file.
66223         * lib/unistdio/u16-vsnprintf.c: New file.
66224         * lib/unistdio/u16-vsprintf.c: New file.
66225         * lib/unistdio/u16-u16-asnprintf.c: New file.
66226         * lib/unistdio/u16-u16-asprintf.c: New file.
66227         * lib/unistdio/u16-u16-snprintf.c: New file.
66228         * lib/unistdio/u16-u16-sprintf.c: New file.
66229         * lib/unistdio/u16-u16-vasnprintf.c: New file.
66230         * lib/unistdio/u16-u16-vasprintf.c: New file.
66231         * lib/unistdio/u16-u16-vsnprintf.c: New file.
66232         * lib/unistdio/u16-u16-vsprintf.c: New file.
66233         * lib/unistdio/u32-asnprintf.c: New file.
66234         * lib/unistdio/u32-asprintf.c: New file.
66235         * lib/unistdio/u32-printf-parse.c: New file.
66236         * lib/unistdio/u32-snprintf.c: New file.
66237         * lib/unistdio/u32-sprintf.c: New file.
66238         * lib/unistdio/u32-vasnprintf.c: New file.
66239         * lib/unistdio/u32-vasprintf.c: New file.
66240         * lib/unistdio/u32-vsnprintf.c: New file.
66241         * lib/unistdio/u32-vsprintf.c: New file.
66242         * lib/unistdio/u32-u32-asnprintf.c: New file.
66243         * lib/unistdio/u32-u32-asprintf.c: New file.
66244         * lib/unistdio/u32-u32-snprintf.c: New file.
66245         * lib/unistdio/u32-u32-sprintf.c: New file.
66246         * lib/unistdio/u32-u32-vasnprintf.c: New file.
66247         * lib/unistdio/u32-u32-vasprintf.c: New file.
66248         * lib/unistdio/u32-u32-vsnprintf.c: New file.
66249         * lib/unistdio/u32-u32-vsprintf.c: New file.
66250         * tests/unistdio/test-ulc-asnprintf1.c: New file.
66251         * tests/unistdio/test-ulc-asnprintf1.h: New file.
66252         * tests/unistdio/test-ulc-printf1.h: New file.
66253         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
66254         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
66255         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
66256         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
66257         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
66258         * tests/unistdio/test-ulc-vasprintf1.c: New file.
66259         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
66260         * tests/unistdio/test-ulc-vsprintf1.c: New file.
66261         * tests/unistdio/test-u8-asnprintf1.c: New file.
66262         * tests/unistdio/test-u8-asnprintf1.h: New file.
66263         * tests/unistdio/test-u8-printf1.h: New file.
66264         * tests/unistdio/test-u8-vasnprintf1.c: New file.
66265         * tests/unistdio/test-u8-vasnprintf2.c: New file.
66266         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
66267         * tests/unistdio/test-u8-vasnprintf3.c: New file.
66268         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
66269         * tests/unistdio/test-u8-vasprintf1.c: New file.
66270         * tests/unistdio/test-u8-vsnprintf1.c: New file.
66271         * tests/unistdio/test-u8-vsprintf1.c: New file.
66272         * tests/unistdio/test-u16-asnprintf1.c: New file.
66273         * tests/unistdio/test-u16-asnprintf1.h: New file.
66274         * tests/unistdio/test-u16-printf1.h: New file.
66275         * tests/unistdio/test-u16-vasnprintf1.c: New file.
66276         * tests/unistdio/test-u16-vasnprintf2.c: New file.
66277         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
66278         * tests/unistdio/test-u16-vasnprintf3.c: New file.
66279         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
66280         * tests/unistdio/test-u16-vasprintf1.c: New file.
66281         * tests/unistdio/test-u16-vsnprintf1.c: New file.
66282         * tests/unistdio/test-u16-vsprintf1.c: New file.
66283         * tests/unistdio/test-u32-asnprintf1.c: New file.
66284         * tests/unistdio/test-u32-asnprintf1.h: New file.
66285         * tests/unistdio/test-u32-printf1.h: New file.
66286         * tests/unistdio/test-u32-vasnprintf1.c: New file.
66287         * tests/unistdio/test-u32-vasnprintf2.c: New file.
66288         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
66289         * tests/unistdio/test-u32-vasnprintf3.c: New file.
66290         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
66291         * tests/unistdio/test-u32-vasprintf1.c: New file.
66292         * tests/unistdio/test-u32-vsnprintf1.c: New file.
66293         * tests/unistdio/test-u32-vsprintf1.c: New file.
66294         * modules/unistdio/base: New file.
66295         * modules/unistdio/u-printf-args: New file.
66296         * modules/unistdio/ulc-asnprintf: New file.
66297         * modules/unistdio/ulc-asprintf: New file.
66298         * modules/unistdio/ulc-fprintf: New file.
66299         * modules/unistdio/ulc-printf-parse: New file.
66300         * modules/unistdio/ulc-snprintf: New file.
66301         * modules/unistdio/ulc-sprintf: New file.
66302         * modules/unistdio/ulc-vasnprintf: New file.
66303         * modules/unistdio/ulc-vasprintf: New file.
66304         * modules/unistdio/ulc-vfprintf: New file.
66305         * modules/unistdio/ulc-vsnprintf: New file.
66306         * modules/unistdio/ulc-vsprintf: New file.
66307         * modules/unistdio/u8-asnprintf: New file.
66308         * modules/unistdio/u8-asprintf: New file.
66309         * modules/unistdio/u8-printf-parse: New file.
66310         * modules/unistdio/u8-snprintf: New file.
66311         * modules/unistdio/u8-sprintf: New file.
66312         * modules/unistdio/u8-vasnprintf: New file.
66313         * modules/unistdio/u8-vasprintf: New file.
66314         * modules/unistdio/u8-vsnprintf: New file.
66315         * modules/unistdio/u8-vsprintf: New file.
66316         * modules/unistdio/u8-u8-asnprintf: New file.
66317         * modules/unistdio/u8-u8-asprintf: New file.
66318         * modules/unistdio/u8-u8-snprintf: New file.
66319         * modules/unistdio/u8-u8-sprintf: New file.
66320         * modules/unistdio/u8-u8-vasnprintf: New file.
66321         * modules/unistdio/u8-u8-vasprintf: New file.
66322         * modules/unistdio/u8-u8-vsnprintf: New file.
66323         * modules/unistdio/u8-u8-vsprintf: New file.
66324         * modules/unistdio/u16-asnprintf: New file.
66325         * modules/unistdio/u16-asprintf: New file.
66326         * modules/unistdio/u16-printf-parse: New file.
66327         * modules/unistdio/u16-snprintf: New file.
66328         * modules/unistdio/u16-sprintf: New file.
66329         * modules/unistdio/u16-vasnprintf: New file.
66330         * modules/unistdio/u16-vasprintf: New file.
66331         * modules/unistdio/u16-vsnprintf: New file.
66332         * modules/unistdio/u16-vsprintf: New file.
66333         * modules/unistdio/u16-u16-asnprintf: New file.
66334         * modules/unistdio/u16-u16-asprintf: New file.
66335         * modules/unistdio/u16-u16-snprintf: New file.
66336         * modules/unistdio/u16-u16-sprintf: New file.
66337         * modules/unistdio/u16-u16-vasnprintf: New file.
66338         * modules/unistdio/u16-u16-vasprintf: New file.
66339         * modules/unistdio/u16-u16-vsnprintf: New file.
66340         * modules/unistdio/u16-u16-vsprintf: New file.
66341         * modules/unistdio/u32-asnprintf: New file.
66342         * modules/unistdio/u32-asprintf: New file.
66343         * modules/unistdio/u32-printf-parse: New file.
66344         * modules/unistdio/u32-snprintf: New file.
66345         * modules/unistdio/u32-sprintf: New file.
66346         * modules/unistdio/u32-vasnprintf: New file.
66347         * modules/unistdio/u32-vasprintf: New file.
66348         * modules/unistdio/u32-vsnprintf: New file.
66349         * modules/unistdio/u32-vsprintf: New file.
66350         * modules/unistdio/u32-u32-asnprintf: New file.
66351         * modules/unistdio/u32-u32-asprintf: New file.
66352         * modules/unistdio/u32-u32-snprintf: New file.
66353         * modules/unistdio/u32-u32-sprintf: New file.
66354         * modules/unistdio/u32-u32-vasnprintf: New file.
66355         * modules/unistdio/u32-u32-vasprintf: New file.
66356         * modules/unistdio/u32-u32-vsnprintf: New file.
66357         * modules/unistdio/u32-u32-vsprintf: New file.
66358         * modules/unistdio/ulc-asnprintf-tests: New file.
66359         * modules/unistdio/ulc-vasnprintf-tests: New file.
66360         * modules/unistdio/ulc-vasprintf-tests: New file.
66361         * modules/unistdio/ulc-vsnprintf-tests: New file.
66362         * modules/unistdio/ulc-vsprintf-tests: New file.
66363         * modules/unistdio/u8-asnprintf-tests: New file.
66364         * modules/unistdio/u8-vasnprintf-tests: New file.
66365         * modules/unistdio/u8-vasprintf-tests: New file.
66366         * modules/unistdio/u8-vsnprintf-tests: New file.
66367         * modules/unistdio/u8-vsprintf-tests: New file.
66368         * modules/unistdio/u16-asnprintf-tests: New file.
66369         * modules/unistdio/u16-vasnprintf-tests: New file.
66370         * modules/unistdio/u16-vasprintf-tests: New file.
66371         * modules/unistdio/u16-vsnprintf-tests: New file.
66372         * modules/unistdio/u16-vsprintf-tests: New file.
66373         * modules/unistdio/u32-asnprintf-tests: New file.
66374         * modules/unistdio/u32-vasnprintf-tests: New file.
66375         * modules/unistdio/u32-vasprintf-tests: New file.
66376         * modules/unistdio/u32-vsnprintf-tests: New file.
66377         * modules/unistdio/u32-vsprintf-tests: New file.
66378         * MODULES.html.sh (Unicode string functions): Add the new modules.
66379
66380 2007-07-01  Bruno Haible  <bruno@clisp.org>
66381
66382         * lib/sprintf.c (sprintf): Limit the available length estimation,
66383         to avoid address wraparound.
66384         * lib/vsprintf.c (vsprintf): Likewise.
66385         * modules/sprintf-posix (Dependencies): Add stdint.
66386         * modules/vsprintf-posix (Dependencies): Likewise.
66387
66388 2007-07-01  Bruno Haible  <bruno@clisp.org>
66389
66390         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
66391         Windows PATH as well. Conservative double-quoting. Comments.
66392
66393 2007-07-01  Bruno Haible  <bruno@clisp.org>
66394             Eric Blake  <ebb9@byu.net>
66395             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66396
66397         * gnulib-tool (self_abspathname): Fix algorithm to cope with
66398         empty components in $PATH, denoting '.'.
66399
66400 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66401
66402         * gnulib-tool: Fix indentation.
66403         (func_create_megatestdir): Likewise.
66404         Report by Bruno Haible.
66405
66406 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66407
66408         Sync from Automake.
66409         * build-aux/gnupload: Fix shell portability issues with for loops.
66410         Report by Karl Berry.
66411
66412 2007-06-29  Simon Josefsson  <simon@josefsson.org>
66413
66414         * build-aux/maint.mk (POURL): Use translationproject.org.
66415
66416 2007-06-27  Simon Josefsson  <simon@josefsson.org>
66417             Bruno Haible  <bruno@clisp.org>
66418
66419         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
66420         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
66421         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
66422         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
66423         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
66424
66425 2007-06-27  Bruno Haible  <bruno@clisp.org>
66426
66427         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
66428         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
66429
66430 2007-06-26  Karl Berry  <karl@gnu.org>
66431
66432         * MODULES.html.sh: remove xreadlink-with-size.
66433
66434 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66435
66436         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
66437         method that I hope also handles the double-include problem noted
66438         by Bruno Haible in
66439         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
66440
66441 2007-06-23  Bruno Haible  <bruno@clisp.org>
66442
66443         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66444         Don't let the 'mostlyclean' target fail if the last subdirectory could
66445         not be removed.
66446         Reported by Karl Berry.
66447
66448 2007-06-23  Bruno Haible  <bruno@clisp.org>
66449
66450         * gnulib-tool (echo): Add a speedier workaround for ksh.
66451         * tests/test-echo.sh: Likewise.
66452
66453 2007-06-23  Bruno Haible  <bruno@clisp.org>
66454
66455         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
66456         * tests/test-echo.sh: Likewise.
66457
66458 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66459
66460         * gnulib-tool (IFS): Initialize early, so we don't set it to
66461         empty later.
66462         (self_abspathname): Rewrite algorithm to set it, reindent.
66463         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
66464         (func_create_megatestdir): Merge some sed scripts.
66465
66466 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66467
66468         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
66469         exposed by Sun Studio 11 cc on Solaris 8.
66470
66471 2007-06-22  Bruno Haible  <bruno@clisp.org>
66472
66473         * gnulib-tool (echo): Ensure the echo primitive does not interpret
66474         backslashes.
66475         * tests/test-echo.sh: New file.
66476
66477 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66478
66479         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
66480         simplify `sed_replace_build_aux' scripts, they are portable but
66481         echoing them with `echo' is not.
66482         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
66483
66484 2007-06-21  Karl Berry  <karl@gnu.org>
66485
66486         * config/srclist.txt: guess we can't handle the licenses via
66487         srclist at the moment.
66488
66489 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
66490
66491         * MODULES.html.sh: Add include_next.
66492         * modules/include_next: New file.
66493
66494 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
66495
66496         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
66497         INCLUDE_NEXT.
66498         (gl_CHECK_NEXT_HEADERS): New macro.
66499         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
66500         the obsolescent gl_ABSOLUTE_HEADER.
66501         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
66502         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
66503         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
66504         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
66505         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
66506         * m4/math_h.m4 (gl_MATH_H): Likewise.
66507         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
66508         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
66509         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
66510         * m4/stdint.m4 (gl_STDINT_H): Likewise.
66511         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
66512         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
66513         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
66514         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
66515         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
66516         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
66517         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
66518         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
66519         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
66520         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
66521         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
66522         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
66523         * m4/inttypes.m4 (gl_INTTYPES_H): Define
66524         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
66525         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
66526         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
66527         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
66528         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
66529         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
66530         * lib/float_.h: Likewise.
66531         * lib/inttypes_.h: Likewise.
66532         * lib/math_.h: Likewise.
66533         * lib/search_.h: Likewise.
66534         * lib/signal_.h: Likewise.
66535         * lib/stdint_.h: Likewise.
66536         * lib/stdio_.h: Likewise.
66537         * lib/stdlib_.h: Likewise.
66538         * lib/string_.h: Likewise.
66539         * lib/sys_stat_.h: Likewise.
66540         * lib/sys_time_.h: Likewise.
66541         * lib/time_.h: Likewise.
66542         * lib/unistd_.h: Likewise.
66543         * lib/wchar_.h: Likewise.
66544         * lib/wctype_.h: Likewise.
66545         * lib/dirent_.h: Likewise.
66546         * lib/iconv_.h: Likewise.
66547         * lib/locale_.h: Likewise.
66548         * lib/netinet_in_.h: Likewise.
66549         * lib/sys_select_.h: Likewise.
66550         * lib/sys_socket_.h: Likewise.
66551         * lib/sysexits_.h: Likewise.
66552         * modules/fcntl (Depends-on): Depend on include_next, not
66553         absolute_header.
66554         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
66555         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
66556         * modules/fchdir: Likewise.
66557         * modules/float: Likewise.
66558         * modules/iconv_open: Likewise.
66559         * modules/inttypes: Likewise.
66560         * modules/locale: Likewise.
66561         * modules/math: Likewise.
66562         * modules/netinet_in: Likewise.
66563         * modules/search: Likewise.
66564         * modules/signal: Likewise.
66565         * modules/stdint: Likewise.
66566         * modules/stdio: Likewise.
66567         * modules/stdlib: Likewise.
66568         * modules/string: Likewise.
66569         * modules/sys_select: Likewise.
66570         * modules/sys_socket: Likewise.
66571         * modules/sys_stat: Likewise.
66572         * modules/sys_time: Likewise.
66573         * modules/sysexits: Likewise.
66574         * modules/time: Likewise.
66575         * modules/unistd: Likewise.
66576         * modules/wchar: Likewise.
66577         * modules/wctype: Likewise.
66578         * modules/sys_stat: Change maintainer to "all".
66579         * modules/unistd: Likewise.
66580
66581 2007-06-20  Karl Berry  <karl@gnu.org>
66582
66583         * config/srclist.txt: track www changes in license files.
66584
66585 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
66586
66587         * build-aux/bootstrap: Remove stray dot.
66588         Make sure build_aux settings are honored when linking
66589         gnulib_extra_files.
66590
66591 2007-06-19  Eric Blake  <ebb9@byu.net>
66592
66593         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
66594         Allow compilation on cygwin.
66595
66596 2007-06-19  Jim Meyering  <jim@meyering.net>
66597
66598         xreadlink-with-size: Remove module.  No longer used.
66599         Ex-callers now use xreadlink or mreadlink-with-size.
66600         * modules/xreadlink-with-size: Remove module.
66601         * lib/xreadlink-with-size.c: Remove file.
66602         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
66603         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
66604         just before the function definition *is* accurate.
66605
66606         Eliminate one way canonicalize_filename_mode could exit.
66607         * lib/canonicalize.c (canonicalize_filename_mode):
66608         Use mreadlink_with_size, not xreadlink_with_size.
66609
66610 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
66611
66612         Detect porting problems to FreeBSD/arm, which has time_t wider than
66613         long int.  Original problem reported for GNU diff by Xin Li in
66614         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
66615         * modules/getdate (Depends-on): Add intprops, verify.
66616         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
66617         is an integer type no wider than long int.
66618
66619 2007-06-18  Jim Meyering  <jim@meyering.net>
66620
66621         New module: mreadlink-with-size.
66622         * MODULES.html.sh: Add mreadlink-with-size.
66623         * modules/mreadlink-with-size: New module
66624         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
66625         not xreadlink-with-size.
66626         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
66627
66628 2007-06-16  Bruno Haible  <bruno@clisp.org>
66629
66630         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
66631         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
66632         Reported by Gary V. Vaughan <gary@gnu.org>.
66633
66634 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
66635
66636         Revamp lchown so that it lives in unistd.h where it belongs.
66637         * lib/lchown.h: Remove.
66638         * lib/dirchownmod.c: Don't include lib/lchown.h.
66639         * lib/fchownat.c: Likewise.
66640         * lib/openat.c: Likewise.
66641         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
66642         does not follow symlinks.
66643         (EOPNOTSUPP): Define if not defined.
66644         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
66645         is defined to 0.
66646         (lchown): New decl.
66647         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
66648         Do not check for lchown decl.
66649         Set REPLACE_LCHOWN.
66650         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
66651         REPLACE_LCHOWN.
66652         * modules/chown: Make it clear it follows symlinks.
66653         * modules/lchown: Make it clear it doesn't follow symlinks.
66654         (Files): Remove lib/lchown.h
66655         (Depends-on): Add unistd.
66656         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
66657         (Include): Include <unistd.h>, not "lchown.h".
66658         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
66659         REPLACE_LCHOWN.
66660
66661 2007-06-15  Jim Meyering  <jim@meyering.net>
66662
66663         Change license (GPL to LGPL) of fsusage and dependents.
66664         * modules/fsusage (License): Change to LGPL.
66665         * modules/full-read (License): Likewise.
66666         * modules/full-write (License): Likewise.
66667         * modules/safe-read (License): Likewise.
66668         * modules/safe-write (License): Likewise.
66669
66670 2007-06-14  Ben Pfaff  <blp@gnu.org>
66671
66672         Missing part of allocsa -> malloca transition.
66673         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
66674         gl_MALLOCA.
66675
66676 2007-06-12  Bruno Haible  <bruno@clisp.org>
66677
66678         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
66679         to ia64, x86_64, i386.
66680         Reported by Eric Blake.
66681
66682 2007-06-12  Bruno Haible  <bruno@clisp.org>
66683
66684         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
66685         cross-compiling to x86_64.
66686
66687 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
66688
66689         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
66690         glitch reported by Ralf Wildenhues in
66691         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
66692
66693         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
66694         Vin Shelton.
66695
66696 2007-06-11  Bruno Haible  <bruno@clisp.org>
66697
66698         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
66699         replacement string.
66700         Reported by Eric Blake.
66701
66702 2007-06-10  Bruno Haible  <bruno@clisp.org>
66703
66704         Prepare vasnprintf code for use with Unicode strings.
66705         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
66706         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
66707         TYPE_U32_STRING.
66708         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
66709         a_u32_string variants.
66710         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66711         * lib/printf-args.c: Don't include config.h and the specification
66712         header if PRINTF_FETCHARGS is already defined.
66713         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66714         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
66715         TYPE_U16_STRING, TYPE_U32_STRING.
66716         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
66717         u16_directive, u16_directives, u32_directive, u32_directives): New
66718         types.
66719         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
66720         New declarations.
66721         * lib/printf-parse.c: Don't include config.h and the specification
66722         header if PRINTF_PARSE is already defined. Eliminate the set of
66723         parameters for WIDE_CHAR_VERSION; the user of this file must provide
66724         them now. Include c-ctype.h.
66725         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
66726         directive and CHAR_T_ONLY_ASCII.
66727         * lib/vasnprintf.c: Don't include config.h and the specification header
66728         if VASNPRINTF is already defined.
66729         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
66730         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
66731         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
66732         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
66733         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
66734         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
66735         code accordingly.
66736         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
66737         pad_ourselves also in this case, with the 'c' and 's' directives, and
66738         with a different notion of "width".
66739         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
66740
66741 2007-06-10  Bruno Haible  <bruno@clisp.org>
66742
66743         * modules/unistr/u32-mbsnlen: New file.
66744         * lib/unistr/u32-mbsnlen.c: New file.
66745
66746         * modules/unistr/u16-mbsnlen: New file.
66747         * lib/unistr/u16-mbsnlen.c: New file.
66748
66749         * modules/unistr/u8-mbsnlen: New file.
66750         * lib/unistr/u8-mbsnlen.c: New file.
66751
66752         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
66753         declarations.
66754
66755 2007-06-10  Bruno Haible  <bruno@clisp.org>
66756
66757         * lib/string_.h (mbsnlen): New declaration.
66758         * lib/mbsnlen.c: New file.
66759         * m4/mbsnlen.m4: New file.
66760         * modules/mbsnlen: New file.
66761         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
66762         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
66763         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
66764
66765 2007-06-10  Bruno Haible  <bruno@clisp.org>
66766
66767         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
66768
66769 2007-06-10  Bruno Haible  <bruno@clisp.org>
66770
66771         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
66772         * lib/mbuiter.h: Likewise.
66773
66774 2007-06-10  Bruno Haible  <bruno@clisp.org>
66775
66776         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
66777         declaration.
66778
66779 2007-06-10  Karl Berry  <karl@gnu.org>
66780
66781         * config/srclist.txt: remove gettext entries, Bruno prefers
66782         to update individually.
66783
66784 2007-06-10  Bruno Haible  <bruno@clisp.org>
66785
66786         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
66787         'maxlen'. Ensure only length + width bytes are allocated, not
66788         length + 1 + width.
66789
66790 2007-06-09  Bruno Haible  <bruno@clisp.org>
66791
66792         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
66793         (CHAR_T): Remove macro.
66794         (VASNPRINTF): Update.
66795
66796 2007-06-09  Bruno Haible  <bruno@clisp.org>
66797
66798         * MODULES.html.sh (Unicode string functions): Add the new modules.
66799
66800         * modules/uniconv/u32-conv-to-enc: New file.
66801         * lib/uniconv/u32-conv-to-enc.c: New file.
66802         * modules/uniconv/u32-conv-to-enc-tests: New file.
66803         * tests/uniconv/test-u32-conv-to-enc.c: New file.
66804
66805         * modules/uniconv/u16-conv-to-enc: New file.
66806         * lib/uniconv/u16-conv-to-enc.c: New file.
66807         * lib/uniconv/u-conv-to-enc.h: New file.
66808         * modules/uniconv/u16-conv-to-enc-tests: New file.
66809         * tests/uniconv/test-u16-conv-to-enc.c: New file.
66810
66811         * modules/uniconv/u8-conv-to-enc: New file.
66812         * lib/uniconv/u8-conv-to-enc.c: New file.
66813         * modules/uniconv/u8-conv-to-enc-tests: New file.
66814         * tests/uniconv/test-u8-conv-to-enc.c: New file.
66815
66816         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66817         u32_conv_to_encoding): New declarations.
66818
66819 2007-06-09  Bruno Haible  <bruno@clisp.org>
66820
66821         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
66822
66823 2007-06-09  Bruno Haible  <bruno@clisp.org>
66824
66825         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
66826         * modules/malloca: Renamed from modules/allocsa, updated.
66827         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
66828         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
66829         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
66830         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
66831         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
66832         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
66833         * modules/xmalloca: Renamed from modules/xallocsa, updated.
66834         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
66835         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
66836         * modules/c-strcasestr (Depends-on): Update.
66837         * lib/c-strcasestr.c: Update.
66838         * modules/c-strstr (Depends-on): Update.
66839         * lib/c-strstr.c: Update.
66840         * modules/canonicalize-lgpl (Depends-on): Update.
66841         * lib/canonicalize-lgpl.c: Update.
66842         * modules/clean-temp (Depends-on): Update.
66843         * lib/clean-temp.c: Update.
66844         * modules/csharpcomp (Depends-on): Update.
66845         * lib/csharpcomp.c: Update.
66846         * modules/csharpexec (Depends-on): Update.
66847         * lib/csharpexec.c: Update.
66848         * modules/javacomp (Depends-on): Update.
66849         * lib/javacomp.c: Update.
66850         * modules/javaexec (Depends-on): Update.
66851         * lib/javaexec.c: Update.
66852         * modules/mbscasestr (Depends-on): Update.
66853         * lib/mbscasestr.c: Update.
66854         * modules/mbsstr (Depends-on): Update.
66855         * lib/mbsstr.c: Update.
66856         * modules/setenv (Depends-on): Update.
66857         * lib/setenv.c: Update.
66858         * modules/strcasestr (Depends-on): Update.
66859         * lib/strcasestr.c: Update.
66860         * modules/striconveha (Depends-on): Update.
66861         * lib/striconveha.c: Update.
66862         * modules/relocatable-prog-wrapper (Files): Update.
66863         * lib/relocwrapper.c: Update.
66864         * build-aux/install-reloc: Update.
66865         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
66866
66867 2007-06-08  Bruno Haible  <bruno@clisp.org>
66868
66869         Port to uClibc.
66870         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
66871         * lib/fpurge.c (fpurge): Likewise.
66872         * lib/freading.c (freading): Likewise.
66873         * lib/fseeko.c (rpl_fseeko): Likewise.
66874         * lib/fseterr.c (fseterr): Likewise.
66875         * lib/fwriting.c (fwriting): Likewise.
66876         * tests/test-fflush.c (main): Avoid a failure on uClibc.
66877
66878 2007-06-08  Bruno Haible  <bruno@clisp.org>
66879
66880         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
66881         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
66882         * modules/gettext (Files): Add m4/intlmacosx.m4.
66883
66884 2007-06-07  Bruno Haible  <bruno@clisp.org>
66885
66886         * modules/localename-tests: New file.
66887         * tests/test-localename.c: New file.
66888
66889         New module 'localename'.
66890         * lib/localename.h: New file.
66891         * lib/localename.c: New file, from GNU gettext.
66892         * m4/localename.m4: New file.
66893         * modules/localename: New file.
66894
66895 2007-06-07  Bruno Haible  <bruno@clisp.org>
66896
66897         Work around the lack of <wchar.h> on some builds of uClibc.
66898         * doc/headers/wchar.texi: Update.
66899         * lib/wchar_.h: Include <wchar.h> only if it exists.
66900         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
66901         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
66902         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
66903         doesn't exist.
66904         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
66905         * modules/mbfile (Depends-on): Add wchar.
66906         * modules/mbiter (Depends-on): Likewise.
66907         * modules/mbuiter (Depends-on): Likewise.
66908         Reported by Simon Josefsson.
66909
66910 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
66911
66912         Work around problem reported by Steven M. Schweda in
66913         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
66914         Tru64 5.1B with the Compaq compiler environment installed declares
66915         an 'isblank' function but does not define it in the C library.
66916         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
66917         * lib/regex_internal.h (isblank): Likewise.
66918         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
66919         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66920
66921 2007-06-05  Bruno Haible  <bruno@clisp.org>
66922
66923         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
66924         ia64.
66925         * modules/printf-safe: New file.
66926         * modules/fprintf-posix (Depends-on): Add printf-safe.
66927         * modules/printf-posix (Depends-on): Likewise.
66928         * modules/snprintf-posix (Depends-on): Likewise.
66929         * modules/sprintf-posix (Depends-on): Likewise.
66930         * modules/vasnprintf-posix (Depends-on): Likewise.
66931         * modules/vasprintf-posix (Depends-on): Likewise.
66932         * modules/vfprintf-posix (Depends-on): Likewise.
66933         * modules/vprintf-posix (Depends-on): Likewise.
66934         * modules/vsnprintf-posix (Depends-on): Likewise.
66935         * modules/vsprintf-posix (Depends-on): Likewise.
66936         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
66937         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
66938         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
66939         "no" on i386, x86_64, ia64.
66940         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
66941         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66942         on i386, x86_64, ia64.
66943         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
66944         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66945         on i386, x86_64, ia64.
66946         * tests/test-vasnprintf-posix.c: Include float.h.
66947         (LDBL80_WORDS): New macro.
66948         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66949         on i386, x86_64, ia64.
66950         * tests/test-vasprintf-posix.c: Include float.h.
66951         (LDBL80_WORDS): New macro.
66952         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66953         on i386, x86_64, ia64.
66954         * tests/test-snprintf-posix.c: Include float.h.
66955         * tests/test-sprintf-posix.c: Likewise.
66956         * tests/test-vsnprintf-posix.c: Likewise.
66957         * tests/test-vsprintf-posix.c: Likewise.
66958
66959 2007-06-05  Bruno Haible  <bruno@clisp.org>
66960
66961         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
66962         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
66963         non-IEEE numbers on i386, x86_64, ia64.
66964         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
66965         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
66966         * tests/test-isnanl.h: Include float.h.
66967         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
66968
66969 2007-06-05  Bruno Haible  <bruno@clisp.org>
66970
66971         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
66972         also the %a / %A. Handle the %a / %A code before this extra handling.
66973
66974 2007-06-05  Bruno Haible  <bruno@clisp.org>
66975
66976         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
66977         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
66978
66979 2007-06-05  Bruno Haible  <bruno@clisp.org>
66980
66981         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
66982         typo in variable name.
66983
66984 2007-06-05  Eric Blake  <ebb9@byu.net>
66985
66986         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
66987         Reported by Simon Josefsson.
66988
66989 2007-06-04  Bruno Haible  <bruno@clisp.org>
66990
66991         Avoid test failures on some PowerPC platforms.
66992         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
66993         Define differently for PowerPC.
66994         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
66995         Reported by Gary V. Vaughan <gary@gnu.org>.
66996
66997 2007-06-02  Bruno Haible  <bruno@clisp.org>
66998
66999         Fix test-stdint failure on FreeBSD/ia64.
67000         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
67001         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
67002         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
67003         * doc/headers/stdint.texi: Update.
67004
67005 2007-06-01  Bruno Haible  <bruno@clisp.org>
67006
67007         * tests/test-binary-io.c (main): Pass a third argument to open().
67008         Reported by Gary V. Vaughan <gary@gnu.org>.
67009
67010 2007-06-01  Bruno Haible  <bruno@clisp.org>
67011
67012         * doc/functions/frexpl.texi: Update for mingw.
67013
67014 2007-06-01  Bruno Haible  <bruno@clisp.org>
67015
67016         * tests/test-lseek.c (main): Disable test of errno for invalid third
67017         argument.
67018         * doc/functions/lseek.texi: Update.
67019         Reported by Gary V. Vaughan <gary@gnu.org>.
67020
67021 2007-05-28  Bruno Haible  <bruno@clisp.org>
67022
67023         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
67024
67025 2007-05-31  Eric Blake  <ebb9@byu.net>
67026
67027         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
67028         cross compiling.
67029
67030 2007-05-30  Eric Blake  <ebb9@byu.net>
67031         and Bruno Haible  <bruno@clisp.org>
67032
67033         Work around mingw test failures exposed by m4-1.4.9b.
67034         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
67035         * tests/test-unistd.c: Disable uid_t and git_t tests for the
67036         moment.
67037
67038 2007-05-30  Bruno Haible  <bruno@clisp.org>
67039
67040         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
67041         assuming that they are closed. Needed on HP-UX 11.
67042
67043 2007-05-29  Bruno Haible  <bruno@clisp.org>
67044
67045         Fix a problem with #include_next.
67046         * lib/dirent_.h: Split the double-inclusion guard.
67047         * lib/fcntl_.h: Likewise.
67048         * lib/float_.h: Likewise.
67049         * lib/iconv_.h: Likewise.
67050         * lib/inttypes_.h: Likewise.
67051         * lib/locale_.h: Likewise.
67052         * lib/math_.h: Likewise.
67053         * lib/netinet_in_.h: Likewise.
67054         * lib/search_.h: Likewise.
67055         * lib/signal_.h: Likewise.
67056         * lib/stdint_.h: Likewise.
67057         * lib/stdio_.h: Likewise.
67058         * lib/stdlib_.h: Likewise.
67059         * lib/string_.h: Likewise.
67060         * lib/sys_select_.h: Likewise.
67061         * lib/sys_socket_.h: Likewise.
67062         * lib/sys_stat_.h: Likewise.
67063         * lib/sys_time_.h: Likewise.
67064         * lib/sysexits_.h: Likewise.
67065         * lib/time_.h: Likewise.
67066         * lib/unistd_.h: Likewise.
67067         * lib/wchar_.h: Likewise.
67068         * lib/wctype_.h: Likewise.
67069
67070 2007-05-29  Bruno Haible  <bruno@clisp.org>
67071
67072         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
67073         for the moment.
67074
67075 2007-05-29  Bruno Haible  <bruno@clisp.org>
67076
67077         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
67078         invocation.
67079         Reported by Eric Blake.
67080
67081 2007-05-29  Bruno Haible  <bruno@clisp.org>
67082
67083         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
67084         compiling case.
67085
67086 2007-05-29  Eric Blake  <ebb9@byu.net>
67087             Bruno Haible  <bruno@clisp.org>
67088
67089         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
67090         cross compiles.
67091
67092 2007-05-28  Eric Blake  <ebb9@byu.net>
67093
67094         * modules/closein-tests (test_closein_LDADD): Support test on
67095         cygwin with libtool.
67096
67097 2007-05-28  Bruno Haible  <bruno@clisp.org>
67098
67099         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
67100         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
67101         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
67102         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
67103         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
67104         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
67105         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
67106         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
67107         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
67108
67109 2007-05-28  Eric Blake  <ebb9@byu.net>
67110
67111         Unconditionally include <config.h> in unit tests.
67112         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
67113         * tests/test-allocsa.c, tests/test-arcfour.c,
67114         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
67115         tests/test-array_list.c, tests/test-array_oset.c,
67116         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
67117         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
67118         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
67119         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
67120         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
67121         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
67122         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
67123         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
67124         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
67125         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
67126         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
67127         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
67128         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
67129         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
67130         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
67131         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
67132         test-md5.c, test-memmem.c, test-printf-posix.c,
67133         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
67134         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
67135         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
67136         test-strcasestr.c, test-striconv.c, test-striconveh.c,
67137         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
67138         test-vasnprintf-posix2.c, test-vasnprintf.c,
67139         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
67140         test-vfprintf-posix.c, test-vprintf-posix.c,
67141         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
67142         test-xvasprintf.c: Likewise.
67143
67144 2007-05-28  Bruno Haible  <bruno@clisp.org>
67145
67146         * gnulib-tool (func_import): Remember the --with-tests command-line
67147         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
67148         Reported by Eric Blake.
67149
67150 2007-05-28  Bruno Haible  <bruno@clisp.org>
67151
67152         * modules/ftell-tests: New file.
67153         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
67154         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
67155
67156         * lib/ftell.c: New file.
67157         * modules/ftell: New file.
67158         * m4/ftell.m4: New file.
67159         * doc/functions/ftell.texi: Update.
67160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
67161         REPLACE_FTELL.
67162         * lib/stdio_.h (rpl_ftell): New declaration.
67163         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
67164         REPLACE_FTELL.
67165
67166 2007-05-28  Eric Blake  <ebb9@byu.net>
67167
67168         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
67169
67170 2007-05-28  Bruno Haible  <bruno@clisp.org>
67171
67172         * modules/fseek-tests: New file.
67173         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
67174         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
67175
67176         * lib/fseek.c: New file.
67177         * modules/fseek: New file.
67178         * m4/fseek.m4: New file.
67179         * doc/functions/fseek.texi: Update.
67180         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
67181         REPLACE_FSEEK.
67182         * lib/stdio_.h (rpl_fseek): New declaration.
67183         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
67184         REPLACE_FSEEK.
67185
67186 2007-05-28  Bruno Haible  <bruno@clisp.org>
67187
67188         * lib/stdio_.h (fflush): More comments.
67189
67190 2007-05-28  Bruno Haible  <bruno@clisp.org>
67191
67192         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
67193         runtime test.
67194
67195 2007-05-28  Eric Blake  <ebb9@byu.net>
67196
67197         Improve lseek module.
67198         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
67199         * lib/unistd_.h (lseek): Scale back link warning message.
67200         * tests/test-lseek.c: Beef up test.
67201         * tests/test-lseek.sh: Exercise more facets of lseek.
67202         Reported by Bruno Haible.
67203
67204 2007-05-28  Bruno Haible  <bruno@clisp.org>
67205
67206         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
67207         to define.
67208
67209 2007-05-27  Bruno Haible  <bruno@clisp.org>
67210
67211         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
67212
67213 2007-05-27  Bruno Haible  <bruno@clisp.org>
67214
67215         * modules/openmp: New file.
67216         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
67217         Noah Misch.
67218
67219 2007-05-26  Bruno Haible  <bruno@clisp.org>
67220
67221         * modules/chdir-long (Depends-on): Add fchdir.
67222         * modules/chdir-safer (Depends-on): Likewise.
67223         * modules/fts (Depends-on): Likewise.
67224         * modules/fts-lgpl (Depends-on): Likewise.
67225         * modules/openat (Depends-on): Likewise.
67226         * modules/savewd (Depends-on): Likewise.
67227
67228 2007-05-24  Eric Blake  <ebb9@byu.net>
67229
67230         Fix lseek on mingw.
67231         * modules/lseek: New module.
67232         * m4/lseek.m4: New file.
67233         * lib/lseek.c: New file.
67234         * modules/lseek-tests: New file.
67235         * tests/test-lseek.c: New file.
67236         * tests/test-lseek.sh: New file.
67237         * MODULES.html.sh: Document lseek module.
67238         * modules/fflush (Depends-on): Add lseek, fseeko.
67239         * modules/fseeko (Depends-on): Likewise.
67240         * modules/ftello (Depends-on): Likewise.
67241         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
67242         broken.
67243         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
67244         broken.
67245         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
67246         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
67247         * lib/ftello.c (rpl_ftello): Likewise.
67248         * tests/test-fseeko.c (main): Test this.
67249         * tests/test-fseeko.sh: Likewise.
67250         * tests/test-ftello.c (main): Likewise.
67251         * tests/test-ftello.sh: Likewise.
67252         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
67253         implies replacing fseek.
67254         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
67255         HAVE_FTELLO.
67256         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
67257         * modules/unistd (Makefile.am): Likewise.
67258         * lib/unistd_.h (lseek): Declare a replacement.
67259         * doc/functions/lseek.texi (lseek): Document this fix.
67260         * doc/functions/fseek.texi (fseek): Likewise.
67261         * doc/functions/ftell.texi (ftell): Likewise.
67262
67263 2007-05-24  Bruno Haible  <bruno@clisp.org>
67264
67265         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
67266         in the printed representation of a NaN.
67267         * tests/test-vasprintf-posix.c (test_function): Likewise.
67268         * tests/test-snprintf-posix.h (test_function): Likewise.
67269         * tests/test-sprintf-posix.h (test_function): Likewise.
67270         Reported by Eric Blake.
67271
67272 2007-05-23  Eric Blake  <ebb9@byu.net>
67273
67274         Fix fseeko/ftello on cygwin 1.5.24.
67275         * doc/functions/fseeko.texi (fseeko): Document the fix.
67276         * doc/functions/ftello.texi (ftello): Document the fix.
67277         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
67278         * doc/functions/stdout.text (stdout): New file.
67279         * doc/functions/stderr.text (stderr): New file.
67280         * doc/gnulib.texi (Function Substitutes): Use new files.
67281         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
67282         prior to 1.7.0.
67283         * tests/test-ftello.c (main): Likewise for ftello.
67284         * tests/test-fseeko.sh: New file.
67285         * tests/test-ftello.sh: New file.
67286         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
67287         with seekable stdin.
67288         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
67289         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
67290         (gl_REPLACE_FSEEKO): New macro.
67291         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
67292         * modules/fseeko (Files): Distribute fseeko.c.
67293         * modules/ftello (Files): Distribute ftello.c.
67294         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
67295         mode.
67296         * lib/ftello.c (rpl_ftello): New file.
67297         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
67298         fseeko, ftello.
67299         (gl_STDIN_LARGE_OFFSET): New macro.
67300         * modules/stdio (Makefile.am): Perform the replacement.
67301         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
67302
67303 2007-05-23  Bruno Haible  <bruno@clisp.org>
67304
67305         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
67306         GNULIB_POSIXCHECK is defined.
67307
67308 2007-05-21  Bruno Haible  <bruno@clisp.org>
67309
67310         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
67311         Check also the output for NaN arguments. When cross-compiling, guess
67312         no on IRIX.
67313         * lib/vasnprintf.c: Update comments.
67314         * tests/test-vasnprintf-posix.c (strisnan): New function.
67315         (test_function): Use it.
67316         * tests/test-vasprintf-posix.c (strisnan): New function.
67317         (test_function): Use it.
67318         * tests/test-snprintf-posix.h (strisnan): New function.
67319         (test_function): Use it.
67320         * tests/test-sprintf-posix.h (strisnan): New function.
67321         (test_function): Use it.
67322         Reported by Eric Blake.
67323
67324 2007-05-20  Bruno Haible  <bruno@clisp.org>
67325
67326         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
67327         numbers that fails on BeOS.
67328         * doc/functions/frexpl.texi: Update.
67329
67330 2007-05-20  Jim Meyering  <jim@meyering.net>
67331
67332         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
67333         forced upon us by glibc-2.6.
67334
67335 2007-05-20  Bruno Haible  <bruno@clisp.org>
67336
67337         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
67338         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
67339         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
67340         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
67341         NEED_PRINTF_INFINITE.
67342         (is_infinitel): New function.
67343         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
67344         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
67345         gl_PREREQ_VASNPRINTF_INFINITE.
67346         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
67347         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67348         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
67349         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
67350         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
67351         gl_PREREQ_VASNPRINTF_INFINITE.
67352         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67353         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67354         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67355         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67356         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67357         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67358         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67359         * doc/functions/fprintf.texi: Update.
67360         * doc/functions/printf.texi: Update.
67361         * doc/functions/snprintf.texi: Update.
67362         * doc/functions/sprintf.texi: Update.
67363         * doc/functions/vfprintf.texi: Update.
67364         * doc/functions/vprintf.texi: Update.
67365         * doc/functions/vsnprintf.texi: Update.
67366         * doc/functions/vsprintf.texi: Update.
67367
67368 2007-05-20  Bruno Haible  <bruno@clisp.org>
67369
67370         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
67371         was not found in libc.
67372         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67373
67374 2007-05-20  Bruno Haible  <bruno@clisp.org>
67375
67376         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
67377         printed as "-nan" instead of "nan".
67378         * tests/test-vasprintf-posix.c (test_function): Likewise.
67379         * tests/test-snprintf-posix.h (test_function): Likewise.
67380         * tests/test-sprintf-posix.h (test_function): Likewise.
67381         Needed for HP-UX 11.
67382
67383 2007-05-20  Jim Meyering  <jim@meyering.net>
67384
67385         Fix buggy test for the fchownat-deref bug.
67386         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
67387         symlink required for the run-test.  Without it, this test would
67388         always declare that fchownat doesn't work, and client code would
67389         unnecessarily use the replacement function with fixed libc.
67390         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
67391         Reported by Greg Schafer.
67392
67393 2007-05-19  Bruno Haible  <bruno@clisp.org>
67394
67395         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
67396         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
67397         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
67398         Needed for IRIX 6.5 and Solaris 2.5.1.
67399
67400 2007-05-19  Bruno Haible  <bruno@clisp.org>
67401
67402         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
67403         (test_function): Skip tests involving -0.0 on platforms where
67404         -0.0 = 0.0.
67405         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
67406         (test_function): Skip tests involving -0.0 on platforms where
67407         -0.0 = 0.0.
67408         * tests/test-snprintf-posix.h (have_minus_zero): New function.
67409         (test_function): Skip tests involving -0.0 on platforms where
67410         -0.0 = 0.0.
67411         * tests/test-sprintf-posix.h (have_minus_zero): New function.
67412         (test_function): Skip tests involving -0.0 on platforms where
67413         -0.0 = 0.0.
67414         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
67415         tests.
67416         * tests/test-printf-posix.h (test_function): Likewise.
67417         * tests/test-printf-posix.output: Remove all -0.0 related results.
67418         Needed for IRIX 6.5.
67419
67420 2007-05-19  Bruno Haible  <bruno@clisp.org>
67421
67422         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
67423         printed as "nan0x7fffffff" instead of "nan".
67424         * tests/test-vasprintf-posix.c (test_function): Likewise.
67425         * tests/test-snprintf-posix.h (test_function): Likewise.
67426         * tests/test-sprintf-posix.h (test_function): Likewise.
67427         * tests/test-fprintf-posix.h (NaN): Remove macro.
67428         (test_function): Remove all NaN related tests.
67429         * tests/test-printf-posix.h (NaN): Remove macro.
67430         (test_function): Remove all NaN related tests.
67431         * tests/test-printf-posix.output: Remove all NaN related results.
67432         Needed for IRIX 6.5.
67433
67434 2007-05-19  Bruno Haible  <bruno@clisp.org>
67435
67436         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
67437         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
67438
67439 2007-05-19  Bruno Haible  <bruno@clisp.org>
67440
67441         * lib/float_.h: New file.
67442         * m4/float_h.m4: New file.
67443         * modules/float: New file.
67444         * modules/isnanl (Dependencies): Add float.
67445         * modules/isnanl-nolibm (Dependencies): Likewise.
67446         * modules/mathl (Dependencies): Likewise.
67447         * modules/printf-frexpl (Dependencies): Likewise.
67448         * modules/signbit (Dependencies): Likewise.
67449         * modules/vasnprintf (Dependencies): Likewise.
67450         * doc/headers/float.texi: Update.
67451
67452 2007-05-19  Jim Meyering  <jim@meyering.net>
67453
67454         * lib/utimens.c (gl_futimens): Rename from futimens,
67455         now that glibc-2.6 declares futimens.
67456         * lib/utimens.h: Likewise.
67457
67458 2007-05-19  Bruno Haible  <bruno@clisp.org>
67459
67460         Avoid test failures on mingw.
67461         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
67462         * tests/test-printf-posix.sh: Likewise.
67463         * tests/test-vfprintf-posix.sh: Likewise.
67464         * tests/test-vprintf-posix.sh: Likewise.
67465
67466 2007-05-19  Bruno Haible  <bruno@clisp.org>
67467
67468         Fix *printf result for NaN, Inf, -0.0 on mingw.
67469         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
67470         * lib/vasnprintf.c: Include math.h and isnan.h.
67471         (is_infinite_or_zero): New function.
67472         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
67473         values in the %f, %F, %e, %E, %g, %G directives.
67474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
67475         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67476         gl_PRINTF_INFINITE and test its result. Invoke
67477         gl_PREREQ_VASNPRINTF_INFINITE.
67478         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67479         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67480         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67481         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67482         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67483         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67484         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67485         * doc/functions/fprintf.texi: Update.
67486         * doc/functions/printf.texi: Update.
67487         * doc/functions/snprintf.texi: Update.
67488         * doc/functions/sprintf.texi: Update.
67489         * doc/functions/vfprintf.texi: Update.
67490         * doc/functions/vprintf.texi: Update.
67491         * doc/functions/vsnprintf.texi: Update.
67492         * doc/functions/vsprintf.texi: Update.
67493
67494 2007-05-19  Bruno Haible  <bruno@clisp.org>
67495
67496         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
67497         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
67498         Instead of multiplying with 10^k, set extra_zeroes to k.
67499         (scale10_round_long_double): Remove function.
67500
67501 2007-05-18  Bruno Haible  <bruno@clisp.org>
67502
67503         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
67504         introduced on 2007-05-06.
67505
67506 2007-05-18  Bruno Haible  <bruno@clisp.org>
67507
67508         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
67509         %g directives.
67510         * tests/test-vasprintf-posix.c (test_function): Likewise.
67511         * tests/test-snprintf-posix.h (test_function): Likewise.
67512         * tests/test-sprintf-posix.h (test_function): Likewise.
67513
67514 2007-05-18  Bruno Haible  <bruno@clisp.org>
67515
67516         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
67517         (strmatch): New function.
67518         (test_function): Test the %f directive on numbers of various exponents.
67519         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
67520         (strmatch): New function.
67521         (test_function): Test the %f directive on numbers of various exponents.
67522         * tests/test-snprintf-posix.h (strmatch): New function.
67523         (test_function): Test the %f directive on numbers of various exponents.
67524         * tests/test-sprintf-posix.h (strmatch): New function.
67525         (test_function): Test the %f directive on numbers of various exponents.
67526         * tests/test-snprintf-posix.c (SIZEOF): New macro.
67527         * tests/test-sprintf-posix.c (SIZEOF): New macro.
67528         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
67529         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
67530
67531 2007-05-18  Bruno Haible  <bruno@clisp.org>
67532
67533         Add support for 'long double' number output.
67534         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
67535         * lib/vasnprintf.c: Include math.h and float+.h.
67536         (mp_limb_t): New type.
67537         (GMP_LIMB_BITS): New macro.
67538         (mp_twolimb_t): New type.
67539         (GMP_TWOLIMB_BITS): New macro.
67540         (mpn_t): New type.
67541         (multiply, divide, convert_to_decimal, decode_long_double,
67542         scale10_round_long_double, scale10_round_decimal_long_double,
67543         floorlog10l): New functions.
67544         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
67545         for the %f, %F, %e, %E, %g, %G directives.
67546         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
67547         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67548         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
67549         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
67550         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67551         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67552         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67553         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67554         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67555         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67556         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67557         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
67558         * modules/snprintf-posix (Depends-on): Likewise.
67559         * modules/sprintf-posix (Depends-on): Likewise.
67560         * modules/vasnprintf-posix (Depends-on): Likewise.
67561         * modules/vasprintf-posix (Depends-on): Likewise.
67562         * modules/vfprintf-posix (Depends-on): Likewise.
67563         * modules/vsnprintf-posix (Depends-on): Likewise.
67564         * modules/vsprintf-posix (Depends-on): Likewise.
67565         * modules/vasnprintf (Files): Add lib/float+.h.
67566         * doc/functions/fprintf.texi: Update.
67567         * doc/functions/printf.texi: Update.
67568         * doc/functions/snprintf.texi: Update.
67569         * doc/functions/sprintf.texi: Update.
67570         * doc/functions/vfprintf.texi: Update.
67571         * doc/functions/vprintf.texi: Update.
67572         * doc/functions/vsnprintf.texi: Update.
67573         * doc/functions/vsprintf.texi: Update.
67574
67575 2007-05-18  Bruno Haible  <bruno@clisp.org>
67576
67577         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
67578
67579 2007-05-18  Bruno Haible  <bruno@clisp.org>
67580
67581         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
67582         for printing 64-bit integers. Needed for mingw.
67583
67584 2007-05-18  Bruno Haible  <bruno@clisp.org>
67585
67586         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
67587         gl_FUNC_FREXPL_WORKS.
67588         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
67589
67590 2007-05-18  Bruno Haible  <bruno@clisp.org>
67591
67592         * modules/frexpl-nolibm-tests: New file.
67593
67594         * modules/frexpl-nolibm: New file.
67595         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
67596
67597 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
67598
67599         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
67600         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
67601         GCC 4.2, which otherwise issues a lot of warnings.
67602         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
67603         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
67604         Likewise.
67605         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
67606         * modules/iconv_open (iconv.h): Likewise.
67607         * modules/locale (locale.h): Likewise.
67608         * modules/netinet_in (netinet/in.h): Likewise.
67609         * modules/sys_select (sys_select.h): Likewise.
67610         * modules/sys_socket (sys/socket.h): Likewise.
67611         * modules/sys_stat (sys/stat.h): Likewise.
67612         * modules/sysexits (sysexits.h): Likewise.
67613         * modules/unistd (unistd.h): Likewise.
67614
67615 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67616
67617         * modules/closein-tests (Makefile.am): Distribute
67618         `test-closein.sh'.
67619
67620 2007-05-17  Bruno Haible  <bruno@clisp.org>
67621
67622         * tests/test-printf-posix.output: Renamed from
67623         tests/test-fprintf-posix.out.
67624         * modules/fprintf-posix-tests: Update.
67625         * modules/printf-posix-tests: Update.
67626         * modules/vfprintf-posix-tests: Update.
67627         * modules/vprintf-posix-tests: Update.
67628         * tests/test-fprintf-posix.sh: Update.
67629         * tests/test-printf-posix.sh: Update.
67630         * tests/test-vfprintf-posix.sh: Update.
67631         * tests/test-vprintf-posix.sh: Update.
67632         Reported by Ralf Wildenhues.
67633
67634 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
67635
67636         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
67637         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
67638         GCC 4.2, which otherwise issues a lot of warnings.
67639         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
67640         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
67641         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
67642         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
67643         it should no longer be needed.
67644         * lib/string_.h: Likewise.
67645         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
67646         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
67647         * modules/inttypes (inttypes.h): Likewise.
67648         * modules/math (math.h): Likewise.
67649         * modules/search (search.h): Likewise.
67650         * modules/signal (signal.h): Likewise.
67651         * modules/stdint (stdint.h): Likewise.
67652         * modules/stdio (stdio.h): Likewise.
67653         * modules/stdlib (stdlib.h): Likewise.
67654         * modules/string (string.h): Likewise.
67655         * modules/sys_time (sys/time.h): Likewise.
67656         * modules/time (time.h): Likewise.
67657         * modules/wchar (wchar.h): Likewise.
67658         * modules/wctype (wtype.h): Likewise.
67659
67660 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67661
67662         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
67663
67664 2007-05-13  Bruno Haible  <bruno@clisp.org>
67665
67666         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
67667         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67668         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
67669         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67670         (gl_PREREQ_STRTOK_R): Don't require it here.
67671
67672 2007-05-13  Bruno Haible  <bruno@clisp.org>
67673
67674         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
67675         when used in C++ mode.
67676
67677 2007-05-12  Bruno Haible  <bruno@clisp.org>
67678
67679         * lib/linebuffer.h: Tweak doc.
67680         * lib/linebuffer.c: Likewise.
67681
67682 2007-05-12  James Youngman  <jay@gnu.org>
67683
67684         * lib/linebuffer.c (readlinebuffer_delim): New function,
67685         like readlinebuffer, but use a caller-specified delimiter.
67686         (readlinebuffer): Just call readlinebuffer_delim with '\n'
67687         as the delimiter.
67688         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
67689
67690 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67691
67692         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
67693         * modules/openat (Files): Remove openat-die.c.
67694         (Depends-on): Add openat-die.
67695         * modules/openat-die: New module.
67696
67697 2007-05-06  Bruno Haible  <bruno@clisp.org>
67698
67699         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
67700         Update with info about Cygwin.
67701         * doc/functions/fprintf.texi: Update.
67702         * doc/functions/printf.texi: Update.
67703         * doc/functions/snprintf.texi: Update.
67704         * doc/functions/sprintf.texi: Update.
67705         * doc/functions/vfprintf.texi: Update.
67706         * doc/functions/vprintf.texi: Update.
67707         * doc/functions/vsnprintf.texi: Update.
67708         * doc/functions/vsprintf.texi: Update.
67709         Reported by Eric Blake.
67710
67711 2007-05-06  Bruno Haible  <bruno@clisp.org>
67712
67713         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
67714         padding ourselves for the floating-point directives.
67715         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
67716         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
67717         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67718         gl_PRINTF_FLAG_ZERO and test its result. Invoke
67719         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
67720         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67721         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67722         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67723         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67724         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67725         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67726         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67727         * tests/test-snprintf-posix.h (test_function): Also check the width
67728         and some flags in the %f directive.
67729         * tests/test-sprintf-posix.h (test_function): Likewise.
67730         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67731         * tests/test-vasprintf-posix.c (test_function): Likewise.
67732         * doc/functions/fprintf.texi: Update.
67733         * doc/functions/printf.texi: Update.
67734         * doc/functions/snprintf.texi: Update.
67735         * doc/functions/sprintf.texi: Update.
67736         * doc/functions/vfprintf.texi: Update.
67737         * doc/functions/vprintf.texi: Update.
67738         * doc/functions/vsnprintf.texi: Update.
67739         * doc/functions/vsprintf.texi: Update.
67740
67741 2007-05-06  Bruno Haible  <bruno@clisp.org>
67742
67743         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
67744         pass the ' flag character to sprintf or snprintf.
67745         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
67746         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
67747         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67748         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
67749         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
67750         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67751         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67752         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67753         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67754         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67755         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67756         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67757         * tests/test-snprintf-posix.h (test_function): Also check the grouping
67758         flag.
67759         * tests/test-sprintf-posix.h (test_function): Likewise.
67760         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67761         * tests/test-vasprintf-posix.c (test_function): Likewise.
67762         * doc/functions/fprintf.texi: Update.
67763         * doc/functions/printf.texi: Update.
67764         * doc/functions/snprintf.texi: Update.
67765         * doc/functions/sprintf.texi: Update.
67766         * doc/functions/vfprintf.texi: Update.
67767         * doc/functions/vprintf.texi: Update.
67768         * doc/functions/vsnprintf.texi: Update.
67769         * doc/functions/vsprintf.texi: Update.
67770
67771 2007-05-01  Bruno Haible  <bruno@clisp.org>
67772
67773         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
67774
67775 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
67776
67777         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
67778         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
67779
67780 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67781
67782         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
67783         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
67784         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
67785
67786 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
67787
67788         * lib/argp-help.c (struct hol_entry): New member `ord'.
67789         (HOL_ENTRY_PTRCMP): Use ord for comparison
67790         (hol_sort): Initialize ord.
67791
67792 2007-05-01  Bruno Haible  <bruno@clisp.org>
67793
67794         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
67795         Reported by Eric Blake.
67796         * doc/gnulib.texi (Function Substitutes): Update.
67797
67798 2007-05-01  Bruno Haible  <bruno@clisp.org>
67799
67800         * doc/functions.texi: Remove file, now redundant through
67801         doc/functions/*.texi.
67802
67803 2007-05-01  Bruno Haible  <bruno@clisp.org>
67804
67805         * modules/argp (Depends-on): Add sleep.
67806
67807 2007-05-01  Bruno Haible  <bruno@clisp.org>
67808
67809         * modules/sleep-tests: New file.
67810         * tests/test-sleep.c: New file.
67811
67812         * modules/sleep: New file.
67813         * lib/sleep.c: New file.
67814         * m4/sleep.m4: New file.
67815         * lib/unistd_.h (sleep): New declaration.
67816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
67817         HAVE_SLEEP.
67818         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
67819         * doc/functions/sleep.texi: Document the sleep module.
67820
67821 2007-05-01  Bruno Haible  <bruno@clisp.org>
67822
67823         * lib/sigprocmask.h: Remove file.
67824         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
67825         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
67826         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
67827         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
67828         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
67829         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
67830         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
67831         HAVE_SIGSET_T as a shell variable.
67832         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
67833         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
67834         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
67835         (Depends-on): Add signal. Remove verify.
67836         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
67837         (Include): Mention <signal.h> instead of sigprocmask.h.
67838         * NEWS: Mention the change.
67839         * lib/fatal-signal.c: Don't include sigprocmask.h.
67840
67841 2007-05-01  Bruno Haible  <bruno@clisp.org>
67842
67843         * modules/signal: New file.
67844         * lib/signal_.h: New file.
67845         * m4/signal_h.m4: New file.
67846
67847 2007-05-01  Bruno Haible  <bruno@clisp.org>
67848
67849         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
67850         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
67851         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
67852         HAVE_WCTYPE_CTMP_BUG into wctype.h.
67853
67854 2007-05-01  Bruno Haible  <bruno@clisp.org>
67855
67856         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
67857         configure time.
67858         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
67859         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
67860         * modules/sys_stat (Makefile.am): Substitute their values into
67861         sys/stat.h.
67862
67863 2007-05-01  Bruno Haible  <bruno@clisp.org>
67864
67865         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
67866         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
67867         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
67868
67869 2007-05-01  Bruno Haible  <bruno@clisp.org>
67870
67871         * doc/header/assert.texi: Undo last change: don't mention the gnulib
67872         'assert' module here.
67873
67874 2007-05-01  Bruno Haible  <bruno@clisp.org>
67875
67876         * doc/functions/*.texi: New files.
67877         * doc/functions/google-ranking.txt: New file.
67878         * doc/gnulib.texi (Function Substitutes): New chapter.
67879         (ctime, inet_ntoa): Remove sections.
67880         * doc/ctime.texi: Remove file.
67881         * doc/inet_ntoa.texi: Remove file.
67882         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
67883         dependencies.
67884         (%.info): New rule, specifying a --reference-limit.
67885
67886 2007-05-01  Bruno Haible  <bruno@clisp.org>
67887
67888         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
67889
67890 2007-05-01  Bruno Haible  <bruno@clisp.org>
67891
67892         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
67893         the portability of 'mkdir' to mingw systems.
67894
67895 2007-05-01  Bruno Haible  <bruno@clisp.org>
67896
67897         * doc/headers/google-ranking.txt: New file.
67898
67899 2007-04-30  Eric Blake  <ebb9@byu.net>
67900
67901         Prefer fseeko to fseek.
67902         * modules/getpass (Depends-on): Add fseeko.
67903         * lib/getpass.c (getpass): Use fseeko, not fseek.
67904
67905 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
67906
67907         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
67908         assumes the sorting is stable, while most qsort implementations
67909         are not.  Use argument addresses to ensure they never compare as
67910         equal.
67911
67912         * tests/test-argp-2.sh (usage-indent test): Fix output
67913         (func_compare): Restore diff options
67914         * tests/test-argp.c: Restore #include "progname.h"
67915
67916 2007-04-29  Bruno Haible  <bruno@clisp.org>
67917
67918         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
67919         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67920         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
67921         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67922         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
67923         (configure.ac): Define CHECK_SNPRINTF_POSIX.
67924         (TESTS, check_PROGRAMS): Add test-snprintf.
67925         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
67926         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
67927         (TESTS, check_PROGRAMS): Add test-vsnprintf.
67928         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
67929         assertions that fail on HP-UX, OSF/1, or IRIX.
67930         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
67931
67932 2007-04-29  Bruno Haible  <bruno@clisp.org>
67933
67934         * MODULES.html.sh (posix_functions): Remove 'contents'.
67935
67936 2007-04-29  Karl Berry  <karl@gnu.org>
67937
67938         * config/srclist.txt (gendocs_template_min): new entry.
67939
67940 2007-04-29  Bruno Haible  <bruno@clisp.org>
67941
67942         Work around fpurge bug on BSD systems.
67943         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
67944         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
67945         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
67946         fpurge to rpl_fpurge if the system already has this function.
67947         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
67948         the case where the system already has this function. Correct invariants
67949         on BSD systems.
67950         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
67951         BSD systems.
67952
67953 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
67954
67955         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
67956         proposed by Sven Verdoolaege.
67957
67958         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
67959         options.
67960         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
67961         (usage and help tests): Update
67962
67963 2007-04-29  Bruno Haible  <bruno@clisp.org>
67964
67965         * tests/test-fflush.c (main): Use a file of size 17, not 10.
67966         Print more information in case of failure. Disable a test on BeOS.
67967
67968 2007-04-29  Bruno Haible  <bruno@clisp.org>
67969
67970         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
67971         This helps debugging on systems on which no gdb is available.
67972
67973 2007-04-29  Bruno Haible  <bruno@clisp.org>
67974
67975         * lib/freading.h: Improve comments.
67976         * lib/fwriting.h: Likewise.
67977         * tests/test-freading.c (main): Don't check freading immediately after
67978         repositioning. Needed for glibc.
67979
67980 2007-04-29  Bruno Haible  <bruno@clisp.org>
67981
67982         * lib/freading.c (freading): Trivial simplification.
67983
67984 2007-04-28  Bruno Haible  <bruno@clisp.org>
67985
67986         * tests/test-fwriting.c (main): Also test the interaction between
67987         fflush and fwriting.
67988         * modules/fwriting-tests (Depends-on): Add fflush.
67989
67990         * tests/test-freading.c (main): Also test the interaction between
67991         fflush and freading.
67992         * modules/freading-tests (Depends-on): Add fflush.
67993
67994 2007-04-28  Bruno Haible  <bruno@clisp.org>
67995
67996         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
67997         fseeko and ftello.
67998         Suggested by Eric Blake.
67999
68000 2007-04-28  Jim Meyering  <jim@meyering.net>
68001
68002         Avoid false-negative in gl_STDINT_H's C99 conformance test.
68003         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
68004         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
68005
68006 2007-04-27  Eric Blake  <ebb9@byu.net>
68007
68008         * doc/headers/assert.texi (assert.h): Document assert module use.
68009
68010 2007-04-27  Bruno Haible  <bruno@clisp.org>
68011
68012         * doc/headers/*.texi: New files.
68013         * doc/gnulib.texi (Header File Substitutes): New chapter.
68014         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
68015         dependencies.
68016         (standards.info ,standards.html, standards.dvi): Update dependencies.
68017         (mostlyclean, clean): New targets.
68018
68019 2007-04-27  Bruno Haible  <bruno@clisp.org>
68020
68021         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
68022         * modules/sysexits (Files, Makefile.am): Update.
68023
68024         * lib/sys_socket_.h: Renamed from lib/socket_.h.
68025         * modules/sys_socket (Files, Makefile.am): Update.
68026
68027         * lib/sys_stat_.h: Renamed from lib/stat_.h.
68028         * modules/sys_stat (Files, Makefile.am): Update.
68029
68030 2007-04-27  Eric Blake  <ebb9@byu.net>
68031
68032         * lib/freading.h: Improve comments.
68033         * lib/fwriting.h: Likewise.
68034         * lib/fflush.c: Likewise.
68035
68036         Fix closein for mingw.
68037         * modules/closein-tests: Add tests for closein.
68038         * tests/test-closein.c: New file.
68039         * tests/test-closein.sh: Likewise.
68040         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
68041         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
68042
68043 2007-04-27  Bruno Haible  <bruno@clisp.org>
68044
68045         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
68046         version is < 6.
68047         * lib/math_.h [__DECC]: Likewise.
68048         * lib/stdio_.h [__DECC]: Likewise.
68049         * lib/stdlib_.h [__DECC]: Likewise.
68050         * lib/string_.h [__DECC]: Likewise.
68051         * lib/time_.h [__DECC]: Likewise.
68052         * lib/wchar_.h [__DECC]: Likewise.
68053         * lib/wctype_.h [__DECC]: Likewise.
68054
68055 2007-04-27  Bruno Haible  <bruno@clisp.org>
68056
68057         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
68058
68059 2007-04-27  Bruno Haible  <bruno@clisp.org>
68060
68061         * lib/fflush.c: Add comments.
68062         * modules/fpurge-tests (Depends-on): Add fflush.
68063         * modules/freadable-tests (Depends-on): Likewise.
68064         * modules/fwritable-tests (Depends-on): Likewise.
68065
68066 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
68067
68068         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
68069         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
68070         Report by Bruno Haible <bruno@clisp.org>.
68071
68072 2007-04-26  Eric Blake  <ebb9@byu.net>
68073
68074         Fix fflush on mingw.
68075         * modules/fflush (Depends-on): Add freading.
68076         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
68077         but unread data.
68078
68079 2007-04-26  Eric Blake  <ebb9@byu.net>
68080         and Bruno Haible  <bruno@clisp.org>
68081
68082         Implement freading and fwriting.
68083         * lib/freading.c: New file.
68084         * lib/freading.h: Likewise.
68085         * m4/freading.m4: Likewise.
68086         * modules/freading: Likewise.
68087         * modules/freading-tests: Likewise.
68088         * tests/test-freading.c: Likewise.
68089         * lib/fwriting.c: New file.
68090         * lib/fwriting.h: Likewise.
68091         * m4/fwriting.m4: Likewise.
68092         * modules/fwriting: Likewise.
68093         * modules/fwriting-tests: Likewise.
68094         * tests/test-fwriting.c: Likewise.
68095         * MODULES.html.sh (File stream based Input/Output): Mention them.
68096
68097 2007-04-26  Bruno Haible  <bruno@clisp.org>
68098
68099         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
68100         'long' when we assume it.
68101         Suggested by Eric Blake.
68102
68103 2007-04-26  Bruno Haible  <bruno@clisp.org>
68104
68105         Ensure fseeko, ftello are declared on glibc systems.
68106         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
68107         * modules/fseeko (configure.ac-early): Likewise.
68108         * modules/ftello (configure.ac-early): Likewise.
68109         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
68110         AC_FUNC_FSEEKO for this.
68111         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
68112         (gl_CHECK_FSEEKO): Remove macro.
68113
68114 2007-04-26  Bruno Haible  <bruno@clisp.org>
68115
68116         * tests/test-fflush.c (main): Also check the ftell result after
68117         fflush and fseek/fseeko.
68118         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
68119         file descriptor position cache in the stream.
68120         * lib/fseeko.c (rpl_fseeko): Likewise.
68121
68122 2007-04-26  Bruno Haible  <bruno@clisp.org>
68123
68124         * modules/fflush-tests (Depends-on): Add fseeko.
68125
68126 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
68127             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68128
68129         * lib/argz_.h: ensure error_t definition is obtained in same
68130         mechanism system argz.h would have.
68131         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
68132         argz facilities are known bad.  Err on the side of caution if
68133         cross-compiling.
68134
68135 2007-04-25  Eric Blake  <ebb9@byu.net>
68136
68137         * lib/fpurge.c (includes): Use stdlib.h for free.
68138         * tests/test-fflush.c (main): Also test fflush-fseeko.
68139
68140 2007-04-25  Bruno Haible  <bruno@clisp.org>
68141
68142         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
68143         * lib/fseeko.c: New file.
68144         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
68145         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
68146         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
68147         gl_FUNC_FSEEKO.
68148         (gl_FUNC_FSEEKO): Invoke it.
68149         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
68150         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
68151         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
68152
68153 2007-04-25  Bruno Haible  <bruno@clisp.org>
68154
68155         * modules/fflush (Depends-on): Add ftello.
68156
68157 2007-04-25  Bruno Haible  <bruno@clisp.org>
68158
68159         * modules/ftello-tests: New file.
68160         * tests/test-ftello.c: New file.
68161
68162         * modules/ftello: New file.
68163         * m4/ftello.m4: New file.
68164         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
68165         HAVE_FTELLO.
68166         * lib/stdio_.h (ftello): New declaration.
68167         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
68168         HAVE_FTELLO.
68169
68170 2007-04-25  Bruno Haible  <bruno@clisp.org>
68171
68172         * modules/fseeko-tests: New file.
68173         * tests/test-fseeko.c: New file.
68174
68175         * modules/fseeko: New file.
68176         * m4/fseeko.m4: New file.
68177         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
68178         HAVE_FSEEKO.
68179         * lib/stdio_.h (fseeko): New declaration.
68180         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
68181         HAVE_FSEEKO.
68182
68183 2007-04-25  Bruno Haible  <bruno@clisp.org>
68184
68185         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
68186
68187 2007-04-25  Bruno Haible  <bruno@clisp.org>
68188
68189         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
68190         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
68191         * tests/test-unistd.c: Likewise.
68192         * tests/test-fcntl.c: Likewise.
68193
68194 2007-04-23  Eric Blake  <ebb9@byu.net>
68195
68196         * lib/fflush.c: Fix missing include.
68197         Reported by Bruno Haible.
68198
68199 2007-04-23  Bruno Haible  <bruno@clisp.org>
68200
68201         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
68202         Reported by Eric Blake.
68203
68204 2007-04-23  Bruno Haible  <bruno@clisp.org>
68205
68206         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
68207
68208 2007-04-23  Bruno Haible  <bruno@clisp.org>
68209
68210         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
68211
68212 2007-04-23  Bruno Haible  <bruno@clisp.org>
68213
68214         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
68215         Needed on HP-UX 11.
68216
68217 2007-04-16  Eric Blake  <ebb9@byu.net>
68218
68219         Make fflush rely on fpurge.
68220         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
68221         open coding all variants.
68222         * modules/fflush (Depends-on): Add fpurge and unistd.
68223         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
68224         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
68225
68226         Fix --with-tests compilation on cygwin.
68227         * modules/argmatch-tests (Makefile.am): List gnulib library first
68228         in LDADD.
68229         * modules/argp-tests (Makefile.am): Likewise.
68230         * modules/array-list-tests (Makefile.am): Likewise.
68231         * modules/array-oset-tests (Makefile.am): Likewise.
68232         * modules/avltree-list-tests (Makefile.am): Likewise.
68233         * modules/avltree-oset-tests (Makefile.am): Likewise.
68234         * modules/avltreehash-list-tests (Makefile.am): Likewise.
68235         * modules/carray-list-tests (Makefile.am): Likewise.
68236         * modules/dirname-tests (Makefile.am): Likewise.
68237         * modules/frexp-tests (Makefile.am): Likewise.
68238         * modules/isnanl-tests (Makefile.am): Likewise.
68239         * modules/linked-list-tests (Makefile.am): Likewise.
68240         * modules/linkedhash-list-tests (Makefile.am): Likewise.
68241         * modules/lock-tests (Makefile.am): Likewise.
68242         * modules/rbtree-list-tests (Makefile.am): Likewise.
68243         * modules/rbtree-oset-tests (Makefile.am): Likewise.
68244         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
68245         * modules/tls-tests (Makefile.am): Likewise.
68246         * modules/tsearch-tests (Makefile.am): Likewise.
68247         * modules/xvasprintf-tests (Makefile.am): Likewise.
68248
68249         Fix fpurge for cygwin.
68250         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
68251         value.
68252         * modules/fpurge-tests (Depends-on): Clean up trash.
68253
68254 2007-04-16  Simon Josefsson  <simon@josefsson.org>
68255
68256         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
68257
68258         * m4/autobuild.m4: Re-indent.
68259
68260 2007-04-13  Bruno Haible  <bruno@clisp.org>
68261
68262         * modules/fpurge-tests: New file.
68263         * tests/test-fpurge.c: New file.
68264
68265         * modules/fpurge: New file.
68266         * lib/fpurge.h: New file.
68267         * lib/fpurge.c: New file.
68268         * m4/fpurge.m4: New file.
68269
68270 2007-04-13  Bruno Haible  <bruno@clisp.org>
68271
68272         * modules/fbufmode-tests: New file.
68273         * tests/test-fbufmode.c: New file.
68274
68275         * modules/fbufmode: New file.
68276         * lib/fbufmode.h: New file.
68277         * lib/fbufmode.c: New file.
68278         * m4/fbufmode.m4: New file.
68279
68280 2007-04-13  Bruno Haible  <bruno@clisp.org>
68281
68282         * modules/fwritable-tests: New file.
68283         * tests/test-fwritable.c: New file.
68284
68285         * modules/fwritable: New file.
68286         * lib/fwritable.h: New file.
68287         * lib/fwritable.c: New file.
68288         * m4/fwritable.m4: New file.
68289
68290 2007-04-13  Bruno Haible  <bruno@clisp.org>
68291
68292         * modules/freadable-tests: New file.
68293         * tests/test-freadable.c: New file.
68294
68295         * modules/freadable: New file.
68296         * lib/freadable.h: New file.
68297         * lib/freadable.c: New file.
68298         * m4/freadable.m4: New file.
68299
68300 2007-04-13  Bruno Haible  <bruno@clisp.org>
68301
68302         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
68303         MOSTLYCLEANFILES.
68304
68305 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68306
68307         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
68308         gzip bootstrap.conf to avoid dragging in i18n machinery.
68309         (gnulib_tool_option): Use it.
68310
68311 2007-04-13  Bruno Haible  <bruno@clisp.org>
68312
68313         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
68314         %F directives.
68315         * tests/test-vasprintf-posix.c (test_function): Likewise.
68316         * tests/test-snprintf-posix.h (test_function): Likewise.
68317         * tests/test-sprintf-posix.h (test_function): Likewise.
68318         * tests/test-fprintf-posix.h (test_function): Likewise.
68319         * tests/test-printf-posix.h (test_function): Likewise.
68320         * tests/test-fprintf-posix.out: Likewise.
68321
68322 2007-04-13  Bruno Haible  <bruno@clisp.org>
68323
68324         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
68325         * modules/tls-tests (configure.ac): Likewise.
68326         Reported by Arto C. Nirkko <anirkko@insel.ch>.
68327
68328 2007-04-13  Bruno Haible  <bruno@clisp.org>
68329
68330         * lib/tls.c (glthread_tls_get): Fix return type.
68331         Patch by Arto C. Nirkko <anirkko@insel.ch>.
68332
68333 2007-04-12  Eric Blake  <ebb9@byu.net>
68334
68335         * modules/gettime (Depends-on): Remove gettime.
68336         Reported by Dmitry V. Levin.
68337
68338 2007-04-12  Bruno Haible  <bruno@clisp.org>
68339
68340         * modules/fflush (Include): Mention <stdio.h>.
68341         * modules/strtoimax (Include): Mention <inttypes.h>.
68342         * modules/strtoumax (Include): Likewise.
68343
68344 2007-04-12  Eric Blake  <ebb9@byu.net>
68345
68346         * .cvsignore: New file.
68347         * .gitignore: Likewise.
68348
68349 2007-04-12  Bruno Haible  <bruno@clisp.org>
68350
68351         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
68352         not before, since $(LDADD) often contains libgnu.a.
68353         * modules/striconv-tests (test_striconv_LDADD): Likewise.
68354         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
68355         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
68356         Needed on Cygwin.
68357
68358 2007-04-12  Eric Blake  <ebb9@byu.net>
68359
68360         Work around glibc's failure to flush stdin on fclose.
68361         * lib/closein.c (close_stdin): Flush stdin before closing.
68362
68363         Work around glibc's failure to reset seekable stdin on exit.
68364         * modules/closein: New module.
68365         * lib/closein.c: New file.
68366         * lib/closein.h: Likewise.
68367         * m4/closein.m4: Likewise.
68368         * MODULES.html.sh (File stream based Input/Output): Document it.
68369
68370 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68371
68372         * gnulib-tool: Rename generated 'autobuild' script to
68373         'do-autobuild' in --create-megatestdir output.
68374
68375         * doc/gnulib.texi (Build robot for gnulib): Fix.
68376
68377 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68378
68379         * modules/sysexits (Depends-on): Add absolute-header.
68380
68381 2007-04-12  Eric Blake  <ebb9@byu.net>
68382
68383         No need to preserve errno on success.
68384         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
68385         Reported by Bruno Haible.
68386
68387 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68388
68389         * MODULES.html.sh (Support for maintaining and releasing
68390         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
68391
68392 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68393
68394         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
68395
68396 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68397
68398         * modules/autobuild: New module.
68399
68400         * m4/autobuild.m4: New file.
68401
68402 2007-04-11  Bruno Haible  <bruno@clisp.org>
68403
68404         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
68405         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
68406         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
68407         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
68408         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68409         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68410         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68411         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68412         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68413         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68414         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
68415         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68416         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68417         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
68418         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68419         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68420         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
68421         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68422         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68423         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
68424         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68425         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68426         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
68427         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68428         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68429         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
68430         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68431         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68432         Reported by Eric Blake.
68433
68434 2007-04-11  Bruno Haible  <bruno@clisp.org>
68435
68436         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
68437
68438 2007-04-10  Bruno Haible  <bruno@clisp.org>
68439
68440         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
68441         for NaN and Infinity. Needed on FreeBSD 6.1.
68442         * tests/test-vasnprintf-posix.c (test_function): Undo last change
68443         regarding results for "%010a" of Infinity and NaN.
68444         * tests/test-vasprintf-posix.c (test_function): Likewise.
68445         * tests/test-snprintf-posix.h (test_function): Likewise.
68446         * tests/test-sprintf-posix.h (test_function): Likewise.
68447         * tests/test-fprintf-posix.h (test_function): Likewise.
68448         * tests/test-printf-posix.h (test_function): Likewise.
68449         * tests/test-fprintf-posix.out: Likewise.
68450
68451 2007-04-10  Bruno Haible  <bruno@clisp.org>
68452
68453         * modules/locale-tests: New file.
68454         * tests/test-locale.c: New file.
68455
68456         * modules/locale: New file.
68457         * lib/locale_.h: New file.
68458         * m4/locale_h.m4: New file.
68459
68460 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
68461             Bruno Haible  <bruno@clisp.org>
68462
68463         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
68464         be determined, test for availability of the copysignf, copysign,
68465         copysignl functions.
68466         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
68467         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
68468         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
68469
68470 2007-04-09  Eric Blake  <ebb9@byu.net>
68471
68472         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
68473         * modules/stdio (Makefile.am): Support fflush.
68474         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
68475         * modules/fflush: New file.
68476         * lib/fflush.c: Likewise.
68477         * m4/fflush.m4: Likewise.
68478         * modules/fflush-tests: New test.
68479         * tests/test-fflush.c: Likewise.
68480         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
68481
68482 2007-04-06  Bruno Haible  <bruno@clisp.org>
68483
68484         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
68485         (VASNPRINTF): Use signbit for faster determination whether to print a
68486         minus sign.
68487         * modules/vasnprintf (Files): Remove lib/float+.h.
68488         * modules/fprintf-posix (Depends-on): Add signbit.
68489         * modules/snprintf-posix (Depends-on): Likewise.
68490         * modules/sprintf-posix (Depends-on): Likewise.
68491         * modules/vasnprintf-posix (Depends-on): Likewise.
68492         * modules/vasprintf-posix (Depends-on): Likewise.
68493         * modules/vfprintf-posix (Depends-on): Likewise.
68494         * modules/vsnprintf-posix (Depends-on): Likewise.
68495         * modules/vsprintf-posix (Depends-on): Likewise.
68496
68497 2007-04-06  Bruno Haible  <bruno@clisp.org>
68498
68499         * tests/test-frexp.c (main): Test also the sign bit of zero results.
68500         * tests/test-frexpl.c (main): Likewise.
68501         * tests/test-ldexpl.c (main): Likewise.
68502         * modules/frexp-tests (Depends-on): Add signbit.
68503         * modules/frexpl-tests (Depdends-on): Likewise.
68504         * modules/ldexpl-tests (Depdends-on): Likewise.
68505
68506 2007-04-06  Bruno Haible  <bruno@clisp.org>
68507
68508         * modules/signbit-tests: New file.
68509         * tests/test-signbit.c: New file.
68510
68511         * modules/signbit: New file.
68512         * lib/signbitf.c: New file.
68513         * lib/signbitd.c: New file.
68514         * lib/signbitl.c: New file.
68515         * m4/signbit.m4: New file.
68516         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
68517         (signbit): New macro.
68518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
68519         REPLACE_SIGNBIT.
68520         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
68521         REPLACE_FREXPL into math.h.
68522
68523 2007-04-06  Bruno Haible  <bruno@clisp.org>
68524
68525         * modules/isnanf-nolibm-tests: New file.
68526         * tests/test-isnanf.c: New file.
68527
68528         * modules/isnanf-nolibm: New file.
68529         * lib/isnanf.h: New file.
68530         * lib/isnanf.c: New file.
68531         * lib/isnan.c: Consider the USE_FLOAT macro.
68532         * m4/isnanf.m4: New file.
68533
68534 2007-04-06  Bruno Haible  <bruno@clisp.org>
68535
68536         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
68537         (Link): New section.
68538
68539         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
68540
68541 2007-04-06  Bruno Haible  <bruno@clisp.org>
68542
68543         Assume the 'long double' type.
68544         * m4/longdouble.m4: Remove file.
68545         * config/srclist.txt: Don't mention longdouble.m4.
68546         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
68547         * lib/float+.h: Likewise.
68548         * lib/frexp.c: Likewise.
68549         * lib/printf-args.h: Likewise.
68550         * lib/printf-args.c: Likewise.
68551         * lib/printf-frexp.c: Likewise.
68552         * lib/printf-parse.c: Likewise.
68553         * lib/vasnprintf.c: Likewise.
68554         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
68555         * m4/intl.m4: Likewise.
68556         * m4/isnanl.m4: Likewise.
68557         * m4/printf.m4: Likewise.
68558         * m4/printf-frexpl.m4: Likewise.
68559         * m4/vasnprintf.m4: Likewise.
68560         * modules/allocsa (Files): Remove m4/longdouble.m4.
68561         * modules/gettext (Files): Likewise.
68562         * modules/relocatable-prog-wrapper (Files): Likewise.
68563         * modules/vasnprintf (Files): Likewise.
68564         * modules/isnanl (Files): Likewise.
68565         (Include): Simplify.
68566         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
68567         (Include): Simplify.
68568         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
68569         (Include): Simplify.
68570         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
68571         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68572         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
68573         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68574         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
68575         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68576         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
68577         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68578         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
68579         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68580         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
68581         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
68582         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
68583         * tests/test-isnanl.c: Likewise.
68584         * tests/test-snprintf-posix.h: Likewise.
68585         * tests/test-sprintf-posix.h: Likewise.
68586         * tests/test-vasnprintf-posix.c: Likewise.
68587         * tests/test-vasnprintf-posix2.c: Likewise.
68588         * tests/test-vasprintf-posix.c: Likewise.
68589
68590 2007-04-06  Bruno Haible  <bruno@clisp.org>
68591
68592         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
68593         * lib/math_.h [__DECC]: Include the overridden include file through
68594         #include_next, outside the double-inclusion guard.
68595         * lib/stdio_.h [__DECC]: Likewise.
68596         * lib/stdlib_.h [__DECC]: Likewise.
68597         * lib/string_.h [__DECC]: Likewise.
68598         * lib/time_.h [__DECC]: Likewise.
68599         * lib/wchar_.h [__DECC]: Likewise.
68600         * lib/wctype_.h [__DECC]: Likewise.
68601         * lib/inttypes_.h [__DECC]: Likewise.
68602         Reported by Albert Chin <china@thewrittenword.com> in
68603         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
68604
68605 2007-04-04  Eric Blake  <ebb9@byu.net>
68606
68607         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
68608         1.5.x.
68609
68610 2007-04-04  Bruno Haible  <bruno@clisp.org>
68611
68612         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
68613         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
68614
68615 2007-04-04  Bruno Haible  <bruno@clisp.org>
68616
68617         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
68618         results for "%010a" of Infinity and NaN.
68619         * tests/test-vasprintf-posix.c (test_function): Likewise.
68620         * tests/test-snprintf-posix.h (test_function): Likewise.
68621         * tests/test-sprintf-posix.h (test_function): Likewise.
68622         * tests/test-fprintf-posix.h (test_function): Remove these tests.
68623         * tests/test-printf-posix.h (test_function): Likewise.
68624         * tests/test-fprintf-posix.out: Update.
68625         Needed for FreeBSD 6.1.
68626
68627 2007-04-04  Bruno Haible  <bruno@clisp.org>
68628
68629         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
68630         directly used by the gnulib modules nor by gnulib-tool.
68631
68632 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
68633
68634         * DEPENDENCIES: Give overall description of version dependency
68635         desirability.  Use more-typical names for apps.
68636         Add shell, coreutils, diffutils, grep, tar, gzip.
68637
68638 2007-04-04  Simon Josefsson  <simon@josefsson.org>
68639
68640         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
68641
68642 2007-04-04  Karl Berry  <karl@gnu.org>
68643
68644         * MODULES.html.sh (func_module): missing '.
68645
68646 2007-04-03  Bruno Haible  <bruno@clisp.org>
68647
68648         * modules/argmatch-tests (Makefile.am): New variable
68649         test_argmatch_LDADD.
68650         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
68651         * modules/array-list-tests (Makefile.am): New variable
68652         test_array_list_LDADD.
68653         * modules/array-oset-tests (Makefile.am): New variable
68654         test_array_oset_LDADD.
68655         * modules/avltree-list-tests (Makefile.am): New variable
68656         test_avltree_list_LDADD.
68657         * modules/avltree-oset-tests (Makefile.am): New variable
68658         test_avltree_oset_LDADD.
68659         * modules/avltreehash-list-tests (Makefile.am): New variable
68660         test_avltreehash_list_LDADD.
68661         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
68662         test_canonicalize_lgpl_LDADD.
68663         * modules/carray-list-tests (Makefile.am): New variable
68664         test_carray_list_LDADD.
68665         * modules/dirname-tests (Makefile.am): New variable
68666         test_dirname_LDADD.
68667         * modules/linked-list-tests (Makefile.am): New variable
68668         test_linked_list_LDADD.
68669         * modules/linkedhash-list-tests (Makefile.am): New variable
68670         test_linkedhash_list_LDADD.
68671         * modules/rbtree-list-tests (Makefile.am): New variable
68672         test_rbtree_list_LDADD.
68673         * modules/rbtree-oset-tests (Makefile.am): New variable
68674         test_rbtree_oset_LDADD.
68675         * modules/rbtreehash-list-tests (Makefile.am): New variable
68676         test_rbtreehash_list_LDADD.
68677         * modules/xvasprintf-tests (Makefile.am): New variable
68678         test_xvasprintf_LDADD.
68679         Reported by Eric Blake.
68680
68681 2007-04-03  Eric Blake  <ebb9@byu.net>
68682
68683         * DEPENDENCIES: Weaken m4 requirements.
68684
68685 2007-04-03  Bruno Haible  <bruno@clisp.org>
68686
68687         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
68688         * modules/isnanl-tests (configure.ac): Likewise.
68689
68690 2007-04-03  Ben Pfaff  <blp@gnu.org>
68691
68692         * modules/iconv_open: Add $(srcdir)/ to source directory
68693         references in Makefile fragments that call gperf, to fix VPATH
68694         builds.
68695
68696 2007-04-03  Bruno Haible  <bruno@clisp.org>
68697
68698         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
68699         * lib/ldexpl.c: Undo last change.
68700
68701 2007-04-03  Bruno Haible  <bruno@clisp.org>
68702
68703         * modules/printf-frexpl (Depends-on): Undo last change.
68704         (Files): Add m4/ldexpl.m4.
68705
68706 2007-04-03  Bruno Haible  <bruno@clisp.org>
68707
68708         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
68709         * modules/isnanl (Link): New section.
68710
68711         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
68712         * modules/frexp (Link): New section.
68713
68714         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
68715         * modules/frexpl (Link): New section.
68716
68717         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
68718         * modules/ldexpl (Link): New section.
68719
68720 2007-04-03  Bruno Haible  <bruno@clisp.org>
68721
68722         * modules/TEMPLATE-EXTENDED: New file.
68723         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
68724
68725 2007-04-03  Bruno Haible  <bruno@clisp.org>
68726
68727         * DEPENDENCIES: New file.
68728         Suggested by Simon Josefsson.
68729
68730 2007-04-03  Bruno Haible  <bruno@clisp.org>
68731
68732         * doc/gnulib.texi: Escape @.
68733
68734 2007-04-03  James Youngman  <jay@gnu.org>
68735         and Paul Eggert  <eggert@cs.ucla.edu>
68736
68737         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
68738         birthtime on all systems that have birthtime, not just those which
68739         use st_birthtimensec rather than st_birthtim.  Putting zero in
68740         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
68741         that the birth time is not available for files on an NFS mount.
68742
68743 2007-04-03  Simon Josefsson  <simon@josefsson.org>
68744
68745         * modules/memxor: Move back from crypto/, suggested by Bruno.
68746         * modules/crypto/hmac-sha1: Fix memxor dependency.
68747
68748         * modules/crypto/gc: Moved from ../.
68749
68750 2007-04-02  Eric Blake  <ebb9@byu.net>
68751
68752         * lib/ldexpl.c (includes): Avoid libm.
68753
68754         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
68755
68756 2007-04-02  Bruno Haible  <bruno@clisp.org>
68757
68758         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
68759         on IRIX.
68760
68761 2007-04-02  Bruno Haible  <bruno@clisp.org>
68762
68763         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
68764         x86 or x86_64 platforms running MacOS X.
68765         Reported by Ryan Schmidt <@ryandesign.com>.
68766
68767 2007-04-02  Bruno Haible  <bruno@clisp.org>
68768
68769         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
68770         i386.
68771
68772 2007-04-01  Simon Josefsson  <simon@josefsson.org>
68773
68774         * modules/crypto/arcfour: Moved from ../.
68775         * modules/crypto/arcfour-tests: Moved from ../.
68776         * modules/crypto/arctwo: Moved from ../.
68777         * modules/crypto/arctwo-tests: Moved from ../.
68778         * modules/crypto/des: Moved from ../.
68779         * modules/crypto/des-tests: Moved from ../.
68780         * modules/crypto/gc-arcfour: Moved from ../.
68781         * modules/crypto/gc-arcfour-tests: Moved from ../.
68782         * modules/crypto/gc-arctwo: Moved from ../.
68783         * modules/crypto/gc-arctwo-tests: Moved from ../.
68784         * modules/crypto/gc-des: Moved from ../.
68785         * modules/crypto/gc-des-tests: Moved from ../.
68786         * modules/crypto/gc-hmac-md5: Moved from ../.
68787         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
68788         * modules/crypto/gc-hmac-sha1: Moved from ../.
68789         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
68790         * modules/crypto/gc-md2: Moved from ../.
68791         * modules/crypto/gc-md2-tests: Moved from ../.
68792         * modules/crypto/gc-md4: Moved from ../.
68793         * modules/crypto/gc-md4-tests: Moved from ../.
68794         * modules/crypto/gc-md5: Moved from ../.
68795         * modules/crypto/gc-md5-tests: Moved from ../.
68796         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
68797         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
68798         * modules/crypto/gc-random: Moved from ../.
68799         * modules/crypto/gc-rijndael: Moved from ../.
68800         * modules/crypto/gc-rijndael-tests: Moved from ../.
68801         * modules/crypto/gc-sha1: Moved from ../.
68802         * modules/crypto/gc-sha1-tests: Moved from ../.
68803         * modules/crypto/gc-tests: Moved from ../.
68804         * modules/crypto/hmac-md5: Moved from ../.
68805         * modules/crypto/hmac-md5-tests: Moved from ../.
68806         * modules/crypto/hmac-sha1: Moved from ../.
68807         * modules/crypto/hmac-sha1-tests: Moved from ../.
68808         * modules/crypto/md2: Moved from ../.
68809         * modules/crypto/md2-tests: Moved from ../.
68810         * modules/crypto/md4: Moved from ../.
68811         * modules/crypto/md4-tests: Moved from ../.
68812         * modules/crypto/md5: Moved from ../.
68813         * modules/crypto/md5-tests: Moved from ../.
68814         * modules/crypto/memxor: Moved from ../.
68815         * modules/crypto/rijndael: Moved from ../.
68816         * modules/crypto/rijndael-tests: Moved from ../.
68817         * modules/crypto/sha1: Moved from ../.
68818
68819 2007-03-30  James Youngman  <jay@gnu.org>
68820
68821         * tests/test-stat-time.c (prepare_test): use chmod() rather than
68822         rename() to change the ctime of a file (because ctime is unaffected
68823         by rename on jfs2 on AIX 5.1).
68824         (main): Start by doing cleanup, in case a previous run failed leaving
68825         test files behind.
68826
68827 2007-03-31  Bruno Haible  <bruno@clisp.org>
68828
68829         Support old proprietary implementations of iconv.
68830         * modules/iconv_open: New file.
68831         * lib/iconv_.h: New file.
68832         * m4/iconv_h.m4: New file.
68833         * lib/iconv_open.c: New file.
68834         * lib/iconv_open-aix.gperf: New file.
68835         * lib/iconv_open-hpux.gperf: New file.
68836         * lib/iconv_open-irix.gperf: New file.
68837         * lib/iconv_open-osf.gperf: New file.
68838         * m4/iconv_open.m4: New file.
68839         * modules/linebreak (Depends-on): Add iconv_open.
68840         * modules/striconv (Depends-on): Likewise.
68841         * modules/striconveh (Depends-on): Likewise.
68842         * modules/unicodeio (Depends-on): Likewise.
68843         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
68844         (iconv_t)(-1).
68845         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
68846         conversion if cd is (iconv_t)(-1).
68847         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
68848         is not possible.
68849
68850 2007-03-31  Bruno Haible  <bruno@clisp.org>
68851
68852         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68853         work on Solaris either. Protect also second use of "autodetect_jp".
68854
68855 2007-03-31  Bruno Haible  <bruno@clisp.org>
68856
68857         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
68858         the function is not present.
68859
68860 2007-03-31  Bruno Haible  <bruno@clisp.org>
68861
68862         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
68863         the function is not present.
68864
68865 2007-03-31  Bruno Haible  <bruno@clisp.org>
68866
68867         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
68868         a bug in HP-UX iconv_open().
68869
68870 2007-03-31  Bruno Haible  <bruno@clisp.org>
68871
68872         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
68873         (Mathematics <math.h>): New section, add fpieee.
68874         (Input/output <stdio.h>): Add fseterr.
68875         (Mathematics <math.h>): New section, add printf-frexp.
68876         (Container data structures): Add sublist.
68877         (Core language properties): Add fpucw, inline.
68878         (Functions for greatest-width integer types <inttypes.h>): Add
68879         imaxabs, imaxdiv, inttypes.
68880         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
68881         isnanl-nolibm, ldexp.
68882         (Mathematics <math.h>): New section, add printf-frexpl.
68883         (Support for systems lacking POSIX:2001): Add fprintf-posix,
68884         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
68885         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
68886         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
68887         (Unicode string functions): Add unistr/u*-mbtoucr.
68888         (Java): Add javacomp-script, javaexec-script.
68889         (C#): Add csharpcomp-script, csharpexec-script.
68890         (Support for building libraries and executables): Add havelib,
68891         relocatable-*.
68892         (Support for maintaining and releasing projects): Renamed from
68893         'Support for maintaining and release projects'. Add announce-gen.
68894
68895 2007-03-31  Bruno Haible  <bruno@clisp.org>
68896
68897         * README: Talk primarily about git.
68898         (git and CVS): Renamed from CVS.
68899         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
68900         gnulib is available through git.
68901         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
68902
68903 2007-03-30  Bruno Haible  <bruno@clisp.org>
68904
68905         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
68906         * lib/poll_.h: Likewise.
68907         * lib/stat_.h: Likewise.
68908         * lib/sys_time_.h: Likewise.
68909         * lib/sysexit_.h: Likewise.
68910         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
68911         * lib/stdbool_.h: Likewise.
68912         * lib/byteswap_.h: Add double-inclusion guard.
68913
68914 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
68915
68916         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
68917
68918 2007-03-30  Karl Berry  <karl@gnu.org>
68919
68920         * config/srclist-update: double space after USA in the license
68921         substitution, since that's how it's usually (?) written.
68922
68923 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68924
68925         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
68926         reported by Bruno Haible.
68927
68928 2007-03-29  Bruno Haible  <bruno@clisp.org>
68929
68930         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
68931         a bug in AIX iconv().
68932
68933 2007-03-29  Bruno Haible  <bruno@clisp.org>
68934
68935         * modules/ldexpl-tests: New file.
68936         * tests/test-ldexpl.c: New file.
68937
68938 2007-03-29  Bruno Haible  <bruno@clisp.org>
68939
68940         * lib/ldexpl.c: Include fpucw.h.
68941         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
68942         multiplication.
68943         * modules/ldexpl (Depends-on): Add fpucw.
68944
68945 2007-03-29  Bruno Haible  <bruno@clisp.org>
68946
68947         * modules/ldexpl: New file.
68948         * m4/ldexpl.m4: New file.
68949         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
68950         set.
68951         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
68952         REPLACE_LDEXPL.
68953         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
68954         REPLACE_LDEXPL.
68955         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68956         gl_FUNC_LDEXPL_WORKS.
68957         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
68958         * modules/mathl (Files): Remove lib/ldexpl.c.
68959         (Depends-on): Add ldexpl.
68960
68961 2007-03-29  Bruno Haible  <bruno@clisp.org>
68962
68963         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
68964
68965 2007-03-29  Bruno Haible  <bruno@clisp.org>
68966
68967         * tests/test-striconveh.c (main): Don't assume that a direct conversion
68968         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
68969         and possibly also HP-UX.
68970         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68971         work on AIX, IRIX, HP-UX, OSF/1.
68972         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
68973         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
68974         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
68975         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
68976         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
68977         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
68978
68979 2007-03-29  Bruno Haible  <bruno@clisp.org>
68980
68981         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
68982
68983 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68984
68985         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
68986         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
68987
68988 2007-03-29  Eric Blake  <ebb9@byu.net>
68989
68990         * lib/acl-internal.h: Remove redundant include.
68991         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
68992         Cygwin when a file is locked.
68993
68994 2007-03-29  Bruno Haible  <bruno@clisp.org>
68995
68996         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
68997         file.
68998         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
68999
69000 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
69001
69002         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
69003         try to remove a parent directory if the child couldn't be removed
69004         (except for the first rmdir, which could fail because the child
69005         doesn't exist).  Problem reported by Jeff Blaine in
69006         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
69007
69008 2007-03-28  Bruno Haible  <bruno@clisp.org>
69009
69010         * lib/striconveh.c (utf8conv_carefully): New function.
69011         (mem_cd_iconveh_internal): Invoke it.
69012
69013 2007-03-28  Bruno Haible  <bruno@clisp.org>
69014
69015         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
69016         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
69017         input.
69018         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
69019         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
69020         unistr/u8-uctomb.
69021
69022 2007-03-28  Bruno Haible  <bruno@clisp.org>
69023
69024         * modules/unistr/u8-mbtoucr: New file.
69025         * lib/unistr/u8-mbtoucr.c: New file.
69026         * modules/unistr/u16-mbtoucr: New file.
69027         * lib/unistr/u16-mbtoucr.c: New file.
69028         * modules/unistr/u16-mbtoucr: New file.
69029         * lib/unistr/u16-mbtoucr.c: New file.
69030         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
69031
69032 2007-03-27  Simon Josefsson  <simon@josefsson.org>
69033             Bruno Haible  <bruno@clisp.org>
69034
69035         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
69036         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
69037         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
69038
69039         * m4/stdio_h.m4: Add stubs for vasprintf too.
69040
69041         * modules/stdio: Support vasprintf in sed command.
69042
69043         * modules/vasprintf: Depend on stdio for prototypes.  Remove
69044         vasprintf.h.  Add stdio module indicator.
69045
69046         * lib/stdio_.h: Declare asprintf and vasprintf, based on
69047         vasprintf.h.
69048
69049         * lib/vasprintf.h: File removed.
69050
69051         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
69052         * lib/vasprintf.c: Ditto.
69053         * lib/xvasprintf.c: Ditto.
69054         * tests/test-vasprintf-posix.c: Ditto.
69055         * tests/test-vasprintf.c: Ditto.
69056
69057 2007-03-27  Bruno Haible  <bruno@clisp.org>
69058
69059         Make vasnprintf multithread-safe.
69060         * lib/vasnprintf.c (decimal_point_char): New function.
69061         (VASNPRINTF): Use it.
69062         Suggested by Simon Josefsson.
69063
69064 2007-03-27  Eric Blake  <ebb9@byu.net>
69065
69066         Support sub-second birthtime on cygwin.
69067         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
69068         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
69069         (get_stat_birthtime): Also work with st_birthtim.
69070
69071 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
69072
69073         * lib/stat-time.h (USE_BIRTHTIME): Remove.
69074         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
69075         (get_stat_birthtime_ns): Do not try to use "spare" fields.
69076         (get_stat_birthtime_ns): Simplify compile-time tests.
69077         (get_stat_birthtime): Change the API to look like
69078         get_stat_mtime etc., except return a negative tv_nsec on error.
69079         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
69080         Don't check for "spare" fields.
69081         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
69082         or for struct stat.st_birthtime, as these tests aren't used.
69083         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
69084
69085 2007-03-27  Bruno Haible  <bruno@clisp.org>
69086
69087         * lib/stat-time.h: Include <sys/stat.h>.
69088
69089 2007-03-27  James Youngman  <jay@gnu.org>
69090
69091         * lib/stat-time.h (get_stat_birthtime): New function for
69092           retrieving st_birthtime as provided by UFS2 (hence *BSD).
69093         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
69094           and its variants.
69095         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
69096         * modules/stat-time-test: New file.
69097         * tests/test-stat-time.c: New test, devised by Bruno Haible.
69098
69099 2007-03-26  Bruno Haible  <bruno@clisp.org>
69100
69101         Better support of signalling NaNs.
69102         * lib/atanl.c: Include isnanl.h.
69103         (atanl): Perform test for NaN at the beginning of the function and
69104         through a call to isnanl.
69105         * lib/cosl.c: Include isnanl.h.
69106         (cosl): Perform test for NaN at the beginning of the function and
69107         through a call to isnanl.
69108         * lib/ldexpl.c: Include isnanl.h.
69109         (ldexpl): Perform test for NaN through a call to isnanl.
69110         * lib/logl.c: Include isnanl.h.
69111         (logl): Perform test for NaN at the beginning of the function and
69112         through a call to isnanl.
69113         * lib/sinl.c: Include isnanl.h.
69114         (sinl): Perform test for NaN at the beginning of the function and
69115         through a call to isnanl.
69116         * lib/sqrtl.c: Include isnanl.h.
69117         (sqrtl): Perform test for NaN at the beginning of the function and
69118         through a call to isnanl.
69119         * lib/tanl.c: Include isnanl.h.
69120         (tanl): Perform test for NaN at the beginning of the function and
69121         through a call to isnanl.
69122         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
69123         * modules/mathl (Depends-on): Add isnanl.
69124
69125 2007-03-26  Eric Blake  <ebb9@byu.net>
69126
69127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
69128         regression in logic sense of previous patch.
69129
69130 2007-03-26  Bruno Haible  <bruno@clisp.org>
69131
69132         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
69133         unportable shell command "if ! ...".
69134         Reported by Ralf Wildenhues.
69135
69136 2007-03-25  Bruno Haible  <bruno@clisp.org>
69137
69138         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
69139         <sysexits.h> file, and only add EX_CONFIG.
69140         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
69141         absolute file name and whether it is sufficient. Substitute also
69142         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
69143         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
69144         ABSOLUTE_SYSEXITS_H into sysexits.h.
69145
69146 2007-03-25  Bruno Haible  <bruno@clisp.org>
69147
69148         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
69149         hints is NULL.
69150
69151 2007-03-25  Bruno Haible  <bruno@clisp.org>
69152
69153         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
69154         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
69155
69156 2007-03-25  Bruno Haible  <bruno@clisp.org>
69157
69158         * lib/vasnprintf.c: Include langinfo.h.
69159         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
69160         multithread-safe.
69161         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
69162         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
69163         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69164         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69165         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69166         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69167         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69168         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
69169         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69170         Reported by Simon Josefsson.
69171
69172 2007-03-25  Bruno Haible  <bruno@clisp.org>
69173
69174         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
69175         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
69176         * modules/vasnprintf (Depends-on): Add stdint.
69177
69178 2007-03-25  Bruno Haible  <bruno@clisp.org>
69179
69180         * modules/fpieee: New file.
69181         * m4/fpieee.m4: New file.
69182         * modules/isnan-nolibm (Depends-on): Add fpieee.
69183         * modules/isnanl-nolibm (Depends-on): Add fpieee.
69184         * modules/isnanl (Depends-on): Add fpieee.
69185
69186 2007-03-25  Bruno Haible  <bruno@clisp.org>
69187
69188         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
69189
69190 2007-03-25  Bruno Haible  <bruno@clisp.org>
69191
69192         Avoid test failures on IRIX 6.5.
69193         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
69194         (main): Use it.
69195         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
69196         macros.
69197         (main): Use them.
69198
69199 2007-03-25  Bruno Haible  <bruno@clisp.org>
69200
69201         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
69202         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
69203         exists but doesn't work.
69204         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
69205         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
69206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
69207         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
69208         math.h.
69209
69210 2007-03-25  Bruno Haible  <bruno@clisp.org>
69211
69212         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
69213         returns inf. Needed on IRIX 6.5.
69214
69215 2007-03-25  Bruno Haible  <bruno@clisp.org>
69216
69217         * tests/test-frexpl.c: Include isnanl-nolibm.h.
69218         (main): Use isnanl instead of x != x idiom.
69219         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
69220
69221         * tests/test-frexp.c: Include isnan.h.
69222         (main): Use isnan instead of x != x idiom.
69223         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
69224
69225 2007-03-25  Bruno Haible  <bruno@clisp.org>
69226
69227         * tests/test-frexp.c (NaN): New function/macro.
69228         (main): Use it instead of 0.0 / 0.0.
69229         * tests/test-isnan.c (NaN): New function/macro.
69230         (main): Use it instead of 0.0 / 0.0.
69231         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
69232         (test_function): Use it instead of 0.0 / 0.0.
69233         * tests/test-vasprintf-posix.c (NaN): New function/macro.
69234         (test_function): Use it instead of 0.0 / 0.0.
69235         * tests/test-snprintf-posix.h (NaN): New function/macro.
69236         (test_function): Use it instead of 0.0 / 0.0.
69237         * tests/test-sprintf-posix.h (NaN): New function/macro.
69238         (test_function): Use it instead of 0.0 / 0.0.
69239         * tests/test-fprintf-posix.h (NaN): New function/macro.
69240         (test_function): Use it instead of 0.0 / 0.0.
69241         * tests/test-printf-posix.h (NaN): New function/macro.
69242         (test_function): Use it instead of 0.0 / 0.0.
69243
69244         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
69245
69246 2007-03-25  Bruno Haible  <bruno@clisp.org>
69247
69248         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
69249
69250 2007-03-25  Bruno Haible  <bruno@clisp.org>
69251
69252         * lib/regexec.c (merge_state_with_log): Make static.
69253
69254 2007-03-25  Bruno Haible  <bruno@clisp.org>
69255
69256         * lib/trigl.c (kernel_rem_pio2): Make static.
69257
69258 2007-03-25  Bruno Haible  <bruno@clisp.org>
69259
69260         * lib/sincosl.c (sincosl_table): Make static.
69261
69262 2007-03-25  Bruno Haible  <bruno@clisp.org>
69263
69264         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
69265         if the compiler does not support C99.
69266
69267 2007-03-25  Bruno Haible  <bruno@clisp.org>
69268
69269         * modules/time (Makefile.am): Ensure all rule action lines start with a
69270         tab.
69271
69272 2007-03-24  Bruno Haible  <bruno@clisp.org>
69273
69274         * modules/tsearch-tests: New file.
69275         * tests/test-tsearch.sh: New file.
69276         * tests/test-tsearch.c: New file, mostly copied from glibc.
69277
69278         * modules/search-tests: New file.
69279         * tests/test-search.c: New file.
69280
69281         * modules/search: New file.
69282         * lib/search_.h: New file, incorporating lib/tsearch.h.
69283         * m4/search_h.m4: New file.
69284         * lib/tsearch.h: Remove file.
69285         * lib/tsearch.c: Include search.h instead of tsearch.h.
69286         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
69287         HAVE_TSEARCH.
69288         * modules/tsearch (Files): Remove lib/tsearch.h.
69289         (Depends-on): Add search.
69290         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
69291         (Include): Change tsearch.h into search.h.
69292
69293 2007-03-24  Bruno Haible  <bruno@clisp.org>
69294
69295         * modules/fpucw: New file.
69296         * lib/fpucw.h: New file.
69297         * lib/frexp.c: Include fpucw.h.
69298         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
69299         (FUNC): Use them.
69300         * lib/printf-frexp.c: Include fpucw.h.
69301         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
69302         (FUNC): Use them.
69303         * lib/vasnprintf.c: Include fpucw.h.
69304         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
69305         'long double' calculations.
69306         * tests/test-frexpl.c: Include fpucw.h.
69307         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
69308         * tests/test-printf-frexpl.c: Include fpucw.h.
69309         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
69310         * modules/frexpl (Depends-on): Add fpucw.
69311         * modules/printf-frexpl (Depends-on): Likewise.
69312         * modules/fprintf-posix (Depends-on): Likewise.
69313         * modules/snprintf-posix (Depends-on): Likewise.
69314         * modules/sprintf-posix (Depends-on): Likewise.
69315         * modules/vasnprintf-posix (Depends-on): Likewise.
69316         * modules/vasprintf-posix (Depends-on): Likewise.
69317         * modules/vfprintf-posix (Depends-on): Likewise.
69318         * modules/vsnprintf-posix (Depends-on): Likewise.
69319         * modules/vsprintf-posix (Depends-on): Likewise.
69320         * modules/frexpl-tests (Depends-on): Likewise.
69321         * modules/printf-frexpl-tests (Depends-on): Likewise.
69322
69323 2007-03-24  Bruno Haible  <bruno@clisp.org>
69324
69325         * lib/float+.h: New file.
69326         * lib/isnan.c: Include float+.h.
69327         (SIZE): New macro.
69328         (FUNC): Compare only SIZE bytes of the value.
69329         * lib/vasnprintf.c: Include float+.h.
69330         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
69331         SIZEOF_LDBL or SIZEOF_DBL bytes.
69332         * modules/isnan-nolibm (Files): Add lib/float+.h.
69333         * modules/isnanl-nolibm (Files): Add lib/float+.h.
69334         * modules/isnanl (Files): Add lib/float+.h.
69335         * modules/vasnprintf (Files): Add lib/float+.h.
69336
69337 2007-03-24  Bruno Haible  <bruno@clisp.org>
69338
69339         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
69340         include isnanl-nolibm.h.
69341
69342 2007-03-24  Bruno Haible  <bruno@clisp.org>
69343
69344         * tests/test-read-file.c (main): Don't produce spurious output for
69345         expected situations. Make the test fail if it encountered unexpected
69346         results.
69347
69348 2007-03-24  Bruno Haible  <bruno@clisp.org>
69349
69350         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
69351         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
69352
69353 2007-03-24  Bruno Haible  <bruno@clisp.org>
69354
69355         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
69356
69357 2007-03-24  Bruno Haible  <bruno@clisp.org>
69358
69359         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
69360         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
69361
69362         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
69363         * modules/utf8-ucs4: Turn into a symbolic link to module
69364         unistr/u8-mbtouc.
69365
69366         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
69367         utf8-ucs4-unsafe.
69368         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
69369         unistr/u8-mbtouc-unsafe.
69370
69371         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
69372         * modules/utf16-ucs4: Turn into a symbolic link to module
69373         unistr/u16-mbtouc.
69374
69375         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
69376         utf16-ucs4-unsafe.
69377         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
69378         unistr/u16-mbtouc-unsafe.
69379
69380         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
69381         * modules/ucs4-utf8: Turn into a symbolic link to module
69382         unistr/u8-ubtomb.
69383
69384         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
69385         * modules/ucs4-utf16: Turn into a symbolic link to module
69386         unistr/u16-ubtomb.
69387
69388 2007-03-24  Bruno Haible  <bruno@clisp.org>
69389
69390         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
69391         Enable the function only if HAVE_INLINE.
69392         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
69393         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
69394         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
69395         Enable the function only if HAVE_INLINE.
69396         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
69397         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
69398         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
69399         Enable the function only if HAVE_INLINE.
69400         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
69401         Enable the function only if HAVE_INLINE.
69402         * modules/utf8-ucs4: Update.
69403         * modules/utf8-ucs4-unsafe: Update.
69404         * modules/utf16-ucs4: Update.
69405         * modules/utf16-ucs4-unsafe: Update.
69406         * modules/ucs4-utf8: Update.
69407         * modules/ucs4-utf16: Update.
69408
69409 2007-03-24  Bruno Haible  <bruno@clisp.org>
69410
69411         * lib/utf8-ucs4.h: Remove file.
69412         * lib/utf8-ucs4-unsafe.h: Remove file.
69413         * lib/utf16-ucs4.h: Remove file.
69414         * lib/utf16-ucs4-unsafe.h: Remove file.
69415         * lib/ucs4-utf8.h: Remove file.
69416         * lib/ucs4-utf16.h: Remove file.
69417         * lib/unistr.h: Include their previous contents.
69418         * m4/utf-ucs4.m4: Remove file.
69419         * m4/ucs4-utf.m4: Remove file.
69420         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
69421         (Depends-on): Add unistr/base.
69422         (configure.ac): Remove gl_UTF_UCS4.
69423         (Makefile.am): Update.
69424         (Include): Change to unistr.h.
69425         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
69426         (Depends-on): Add unistr/base.
69427         (configure.ac): Remove gl_UTF_UCS4.
69428         (Makefile.am): Update.
69429         (Include): Change to unistr.h.
69430         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
69431         (Depends-on): Add unistr/base.
69432         (configure.ac): Remove gl_UTF_UCS4.
69433         (Makefile.am): Update.
69434         (Include): Change to unistr.h.
69435         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
69436         (Depends-on): Add unistr/base.
69437         (configure.ac): Remove gl_UTF_UCS4.
69438         (Makefile.am): Update.
69439         (Include): Change to unistr.h.
69440         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
69441         (Depends-on): Add unistr/base.
69442         (configure.ac): Remove gl_UCS4_UTF.
69443         (Makefile.am): Update.
69444         (Include): Change to unistr.h.
69445         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
69446         (Depends-on): Add unistr/base.
69447         (configure.ac): Remove gl_UCS4_UTF.
69448         (Makefile.am): Update.
69449         (Include): Change to unistr.h.
69450         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
69451         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
69452         utf8-ucs4-unsafe.h.
69453         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
69454         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
69455         utf16-ucs4-unsafe.h.
69456         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
69457         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
69458         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
69459         * lib/unistr/u8-strchr.c: Likewise.
69460         * lib/unistr/u8-strrchr.c: Likewise.
69461         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
69462         * lib/unistr/u16-strchr.c: Likewise.
69463         * lib/unistr/u16-strrchr.c: Likewise.
69464         * lib/striconveh.c: Update.
69465         * lib/linebreak.c: Update.
69466
69467 2007-03-24  Bruno Haible  <bruno@clisp.org>
69468
69469         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
69470         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
69471
69472 2007-03-22  Bruno Haible  <bruno@clisp.org>
69473
69474         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
69475
69476 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
69477
69478         * MODULES.html.sh (File system functions): New module write-any-file.
69479         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
69480         * m4/write-any-file.m4: New files.
69481
69482 2007-03-23  Eric Blake  <ebb9@byu.net>
69483
69484         * gnulib-tool: Rearrange space-tab sequences, since some editors
69485         like to eat them.
69486
69487 2007-03-23  Eric Blake  <ebb9@byu.net>
69488
69489         * lib/version-etc.c (version_etc_va): Update license wording to
69490         be more concise.  Recommended by Richard Stallman.
69491
69492 2007-03-22  Bruno Haible  <bruno@clisp.org>
69493
69494         * lib/poll.c (MSG_PEEK): New fallback definition.
69495
69496 2007-03-22  Bruno Haible  <bruno@clisp.org>
69497
69498         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
69499         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
69500         (main): Update.
69501         Fixes a compilation error on BeOS.
69502
69503 2007-03-22  Bruno Haible  <bruno@clisp.org>
69504
69505         * modules/frexpl-tests: New file.
69506         * tests/test-frexpl.c: New file.
69507
69508         * modules/frexpl: New file.
69509         * m4/frexpl.m4: New file.
69510         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
69511         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
69512         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
69513         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
69514         (Depends-on): Add frexpl. Remove isnanl-nolibm.
69515         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
69516
69517 2007-03-22  Bruno Haible  <bruno@clisp.org>
69518
69519         * lib/frexpl.c: Share code with lib/frexp.c.
69520         * modules/mathl (Files): Add lib/frexp.c.
69521         (Depends-on): Add isnanl-nolibm.
69522
69523 2007-03-22  Bruno Haible  <bruno@clisp.org>
69524
69525         * modules/printf-frexp (Files): Add m4/frexp.m4.
69526         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
69527         only if the found frexp function actually works.
69528
69529 2007-03-22  Bruno Haible  <bruno@clisp.org>
69530
69531         * lib/frexp.c: Remove older implementation that uses divisions.
69532
69533 2007-03-21  Bruno Haible  <bruno@clisp.org>
69534
69535         * modules/frexp-tests: New file.
69536         * tests/test-frexp.c: New file.
69537
69538         * modules/frexp: New file.
69539         * lib/frexp.c: New file.
69540         * m4/frexp.m4: New file.
69541         * lib/math_.h (frexp): New declaration.
69542         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
69543         REPLACE_FREXP.
69544         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
69545
69546 2007-03-21  Bruno Haible  <bruno@clisp.org>
69547
69548         * modules/isnanl-tests: New file.
69549         * tests/test-isnanl.c: New file.
69550
69551         * modules/isnanl: New file.
69552         * lib/isnanl.h: New file.
69553         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
69554         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
69555         gl_FUNC_ISNANL_WORKS.
69556         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
69557         New macros.
69558
69559 2007-03-21  Bruno Haible  <bruno@clisp.org>
69560
69561         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
69562         lib/isnanl.h.
69563         (Include): Update.
69564         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
69565         * lib/vasnprintf.c: Update.
69566         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
69567         tests/test-isnanl.h, remove tests/test-isnanl.c.
69568         (Makefile.am): Update.
69569         * tests/test-isnanl-nolibm.c: New file.
69570         * tests/test-isnanl.h: New file.
69571         * tests/test-isnanl.c: Remove file.
69572
69573 2007-03-21  Jim Meyering  <jim@meyering.net>
69574
69575         When trying to open ".", treat ESTALE like EACCES.
69576         * lib/savewd.c (savewd_save): Resort to forking not just upon
69577         failure with EACCES, but also when errno is ESTALE.
69578
69579 2007-03-20  Bruno Haible  <bruno@clisp.org>
69580
69581         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
69582         Needed on AIX 5.1. Reported by Matthew Woehlke.
69583
69584 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69585
69586         Suggestions by Bruno Haible:
69587         * lib/acl-internal.h: Include "gettext.h" rather than rolling
69588         our own.
69589         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
69590         * modules/acl (Depends-on): Add gettext.
69591
69592 2007-03-19  Bruno Haible  <bruno@clisp.org>
69593
69594         * modules/iconvme: Remove file.
69595         * lib/iconvme.h: Remove file.
69596         * lib/iconvme.c: Remove file.
69597         * m4/iconvme.m4: Remove file.
69598
69599 2007-03-19  Bruno Haible  <bruno@clisp.org>
69600
69601         * doc/relocatable-maint.texi: Break long shell script line.
69602         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
69603
69604 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69605
69606         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
69607         handle file_has_acl.
69608         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
69609         * lib/acl.c: Move header inclusions and related macro defns into
69610         lib/acl-internal.h.
69611         (S_ISLNK): Remove defn, since that's now done for us.
69612         (file_has_acl): Move to lib/file-has-acl.c.
69613         Call acl_trivial if available.  This is the crucial part of the fix.
69614         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
69615         shared within the library.  Rewrite a bit, partly to make it compatible
69616         with the GNU coding style.
69617         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
69618         Remove unnecessary double-quotes.
69619         Don't test for acl_to_text; the build will catch that.
69620         Replace acl_entries if it doesn't exist and it is needed.
69621         Check for -lsec and acl_trivial (as used on Solaris 10).
69622         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
69623         lib/file-has-acl.c.
69624         (Depends-on): Add sys_stat, for S_ISLNK.
69625
69626 2007-03-19  Ben Pfaff  <blp@gnu.org>
69627
69628         * doc/gnulib.texi: Fix typos.
69629         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
69630
69631 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
69632
69633         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
69634         If size is zero here, buf must be zero.
69635
69636 2007-03-19  Simon Josefsson  <simon@josefsson.org>
69637
69638         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
69639         <bruno@clisp.org>.
69640
69641 2007-03-18  Bruno Haible  <bruno@clisp.org>
69642
69643         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
69644         Suggested by Eric Blake.
69645
69646 2007-03-18  Ben Pfaff  <blp@gnu.org>
69647
69648         * doc/relocatable.texi: Recommend using as prefix a directory
69649         that does not exist and will never be created.  Based on
69650         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
69651         and others.
69652
69653 2007-03-17  Bruno Haible  <bruno@clisp.org>
69654
69655         * lib/fchownat.c: Include lchown.h.
69656
69657 2007-03-17  Bruno Haible  <bruno@clisp.org>
69658
69659         Fix endless loop when the given allocated size was > INT_MAX.
69660         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
69661         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
69662         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
69663         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
69664         * lib/sprintf.c (sprintf): Likewise.
69665
69666 2007-03-17  Bruno Haible  <bruno@clisp.org>
69667
69668         * tests/test-argp-2.sh (func_compare): Output a context diff.
69669
69670 2007-03-17  Bruno Haible  <bruno@clisp.org>
69671
69672         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
69673         locale's decimal-point character.
69674
69675 2007-03-17  Bruno Haible  <bruno@clisp.org>
69676
69677         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
69678         before comparing it. Needed because on some platforms (e.g. x86) a
69679         'long double' occupies less bytes than sizeof (long double).
69680
69681 2007-03-17  Bruno Haible  <bruno@clisp.org>
69682
69683         * tests/test-crc.c (main): Make printf statements 64-bit clean.
69684         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
69685         * tests/test-getaddrinfo.c (simple): Likewise.
69686         * tests/test-read-file.c (main): Likewise.
69687
69688 2007-03-17  Bruno Haible  <bruno@clisp.org>
69689
69690         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
69691
69692 2007-03-17  Bruno Haible  <bruno@clisp.org>
69693
69694         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
69695         unused variable.
69696
69697 2007-03-17  Bruno Haible  <bruno@clisp.org>
69698
69699         * tests/test-c-strcasecmp.c: Include c-strcase.h.
69700         * tests/test-c-strncasecmp.c: Likewise.
69701
69702 2007-03-17  Bruno Haible  <bruno@clisp.org>
69703
69704         * modules/stdlib (Depends-on): Add unistd.
69705         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
69706         Needed for MacOS X 10.3.
69707
69708 2007-03-17  Bruno Haible  <bruno@clisp.org>
69709
69710         * lib/unistr/u-strdup.h: Include <stdlib.h>.
69711
69712 2007-03-17  Bruno Haible  <bruno@clisp.org>
69713
69714         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
69715
69716 2007-03-17  Bruno Haible  <bruno@clisp.org>
69717
69718         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
69719         to reflect files copied from gnulib (with or without modifications).
69720         Suggested by Jim Meyering.
69721
69722 2007-03-17  Eric Blake  <ebb9@byu.net>
69723
69724         * NEWS: Document stdlib change from 2007-02-18.
69725
69726 2007-03-17  Jim Meyering  <jim@meyering.net>
69727
69728         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
69729         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
69730         someone uses a name containing shell meta-characters.
69731         Reported by Alfred M. Szmidt.
69732
69733         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
69734
69735 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69736
69737         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
69738         and copy gettext configuration files only if configure.ac contains
69739         a use of AM_GNU_GETTEXT_VERSION.
69740
69741 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69742
69743         * build-aux/bootstrap (gnulib_name): New variable.
69744         (gnulib_tool_options): Use it.
69745
69746 2007-03-13  Simon Josefsson  <simon@josefsson.org>
69747
69748         * tests/test-des.c: Use new namespace.
69749
69750 2007-03-15  Bruno Haible  <bruno@clisp.org>
69751
69752         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
69753         Reported by James Youngman <jay@gnu.org>.
69754
69755 2007-03-15  Bruno Haible  <bruno@clisp.org>
69756
69757         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
69758         declared prototype. Needed with cc on OSF/1 5.1.
69759
69760 2007-03-15  Bruno Haible  <bruno@clisp.org>
69761
69762         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
69763         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
69764         (struct gl_list_implementation): Add dispose_fn argument to the
69765         'create_empty', 'create' methods.
69766         (struct gl_list_impl_base): Add field 'dispose_fn'.
69767         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
69768         argument.
69769         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
69770         dispose_fn argument.
69771         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
69772         dispose_fn on the dropped values.
69773         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
69774         dispose_fn argument.
69775         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
69776         dropped values.
69777         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
69778         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69779         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
69780         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69781         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
69782         argument.
69783         (gl_tree_list_free): Call dispose_fn on the dropped values.
69784         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
69785         the dropped values.
69786         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69787         Add dispose_fn argument.
69788         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
69789         Call dispose_fn on the dropped values.
69790         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
69791         Add dispose_fn argument.
69792         (gl_sublist_create): Initialize the 'dispose_fn' field.
69793         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
69794         * tests/test-array_list.c (main): Update.
69795         * tests/test-carray_list.c (main): Update.
69796         * tests/test-avltree_list.c (main): Update.
69797         * tests/test-rbtree_list.c (main): Update.
69798         * tests/test-avltreehash_list.c (main): Update.
69799         * tests/test-rbtreehash_list.c (main): Update.
69800         * tests/test-linked_list.c (main): Update.
69801         * tests/test-linkedhash_list.c (main): Update.
69802         * tests/test-array_oset.c (main): Update.
69803
69804 2007-03-15  Bruno Haible  <bruno@clisp.org>
69805
69806         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
69807         (gl_oset_create_empty): Add dispose_fn argument.
69808         (struct gl_oset_implementation): Add dispose_fn argument to
69809         'create_empty' method.
69810         (struct gl_oset_impl_base): Add dispose_fn field.
69811         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
69812         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
69813         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
69814         values.
69815         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
69816         (gl_tree_oset_free): Call dispose_fn on the dropped values.
69817         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69818         dropped value.
69819         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69820         dropped value.
69821         * tests/test-array_oset.c (main): Update.
69822         * tests/test-avltree_oset.c (main): Update.
69823         * tests/test-rbtree_oset.c (main): Update.
69824         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
69825
69826 2007-03-13  Bruno Haible  <bruno@clisp.org>
69827
69828         * tests/test-stdbool.c (i): Update after last patch.
69829
69830 2007-03-12  Bruno Haible  <bruno@clisp.org>
69831
69832         * lib/quotearg.c: Include <wctype.h> early, before the definition of
69833         the iswprint macro. Needed on Solaris 2.5.1.
69834
69835 2007-03-12  Bruno Haible  <bruno@clisp.org>
69836
69837         * tests/test-printf-frexp.c (main): Declare x as volatile.
69838
69839 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69840
69841         * doc/gnulib.texi (Build robot for gnulib): New section.
69842
69843 2007-03-12  Jim Meyering  <jim@meyering.net>
69844
69845         * build-aux/bootstrap: New file.
69846         * build-aux/bootstrap.conf: New file, from coreutils.
69847
69848 2007-03-11  Bruno Haible  <bruno@clisp.org>
69849
69850         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
69851
69852 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69853
69854         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
69855         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
69856         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
69857
69858 2007-03-11  Bruno Haible  <bruno@clisp.org>
69859
69860         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
69861         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
69862
69863 2007-03-11  Bruno Haible  <bruno@clisp.org>
69864
69865         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
69866         formula. Needed for SunPRO C 5.0.
69867
69868 2007-03-11  Bruno Haible  <bruno@clisp.org>
69869
69870         * modules/long-options (Depends-on): Add getopt.
69871
69872 2007-03-11  Bruno Haible  <bruno@clisp.org>
69873
69874         * modules/modechange (Depends-on): Add stdbool.
69875
69876 2007-03-11  Bruno Haible  <bruno@clisp.org>
69877
69878         * modules/i-ring (Depends-on): Add stdbool.
69879
69880 2007-03-11  Bruno Haible  <bruno@clisp.org>
69881
69882         * modules/gc-des (Depends-on): Add stdbool.
69883
69884 2007-03-11  Bruno Haible  <bruno@clisp.org>
69885
69886         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
69887
69888 2007-03-11  Bruno Haible  <bruno@clisp.org>
69889
69890         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
69891
69892 2007-03-11  Bruno Haible  <bruno@clisp.org>
69893
69894         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
69895
69896 2007-03-11  Bruno Haible  <bruno@clisp.org>
69897
69898         * lib/vasnprintf.c (sprintf): Undefine.
69899
69900 2007-03-11  Bruno Haible  <bruno@clisp.org>
69901
69902         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
69903         initializers in SunPRO C and Compaq C compilers.
69904
69905 2007-03-11  Bruno Haible  <bruno@clisp.org>
69906
69907         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
69908         decrementing code ANSI C compliant.
69909
69910 2007-03-11  Bruno Haible  <bruno@clisp.org>
69911
69912         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
69913         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
69914
69915 2007-03-11  Bruno Haible  <bruno@clisp.org>
69916
69917         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
69918         <stdbool.h> substitute doesn't pass.
69919
69920 2007-03-11  Bruno Haible  <bruno@clisp.org>
69921
69922         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
69923
69924 2007-03-11  Bruno Haible  <bruno@clisp.org>
69925
69926         * gnulib-tool (func_create_megatestdir): Create also an autobuild
69927         script, for submission to autobuild.josefsson.org.
69928
69929 2007-03-10  Bruno Haible  <bruno@clisp.org>
69930
69931         * modules/canonicalize-lgpl-tests: New file.
69932         * tests/test-canonicalize-lgpl.sh: New file.
69933         * tests/test-canonicalize-lgpl.c: New file.
69934
69935         * modules/c-strcase-tests: New file.
69936         * tests/test-c-strcase.sh: New file.
69937         * tests/test-c-strcasecmp.c: New file.
69938         * tests/test-c-strncasecmp.c: New file.
69939
69940         * modules/atexit-tests: New file.
69941         * tests/test-atexit.sh: New file.
69942         * tests/test-atexit.c: New file.
69943
69944 2007-03-10  Bruno Haible  <bruno@clisp.org>
69945
69946         * tests/test-binary-io.sh: Use temporary filenames that are not so
69947         likely to clash with those of other tests (in a parallel make).
69948         * tests/test-binary-io.c: Likewise.
69949
69950 2007-03-10  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
69953         fallback; use #error instead.
69954         Suggested by Simon Josefsson.
69955
69956 2007-03-10  Bruno Haible  <bruno@clisp.org>
69957
69958         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
69959         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
69960         first and the last.
69961
69962 2007-03-10  Bruno Haible  <bruno@clisp.org>
69963
69964         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
69965
69966 2007-03-10  Bruno Haible  <bruno@clisp.org>
69967
69968         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
69969         "make distcheck".
69970         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
69971         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
69972         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
69973
69974 2007-03-10  Bruno Haible  <bruno@clisp.org>
69975
69976         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
69977         variable.
69978         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
69979         variable.
69980
69981 2007-03-09  Eric Blake  <ebb9@byu.net>
69982         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
69983
69984         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
69985         types are not being provided by gnulib.
69986         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
69987         types are supported.
69988
69989 2007-03-10  Bruno Haible  <bruno@clisp.org>
69990
69991         * lib/stdio_.h (__attribute__): New macro.
69992         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
69993         vsprintf): Specify __attribute__ __format__ for GCC.
69994         Suggested by Eric Blake.
69995
69996 2007-03-09  Bruno Haible  <bruno@clisp.org>
69997
69998         * modules/printf-posix-tests: New file.
69999         * tests/test-printf-posix.sh: New file.
70000         * tests/test-printf-posix.c: New file.
70001
70002         * modules/printf-posix: New file.
70003         * lib/printf.c: New file.
70004         * m4/printf-posix-rpl.m4: New file.
70005         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
70006         REPLACE_PRINTF.
70007         * lib/stdio_.h (printf): New declaration.
70008         (format, __format__, ____printf____, ____scanf____, ____strftime____,
70009         ____strfmon____): New macros.
70010         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
70011         REPLACE_PRINTF.
70012
70013 2007-03-09  Bruno Haible  <bruno@clisp.org>
70014
70015         * tests/test-vasnprintf-posix2.sh: New file.
70016         * tests/test-vasnprintf-posix2.c: New file.
70017         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
70018         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
70019         (Makefile.am): Activate test-vasnprintf-posix2.sh.
70020
70021         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
70022         a locale dependent decimal point, rather than always '.'.
70023
70024 2007-03-09  Eric Blake  <ebb9@byu.net>
70025
70026         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
70027         spite of platforms like Tandem/NSK that define it to -1.
70028
70029 2007-03-08  Bruno Haible  <bruno@clisp.org>
70030
70031         * modules/vprintf-posix-tests: New file.
70032         * tests/test-vprintf-posix.sh: New file.
70033         * tests/test-vprintf-posix.c: New file.
70034         * tests/test-printf-posix.h: New file.
70035
70036         * modules/vprintf-posix: New file.
70037         * lib/vprintf.c: New file.
70038         * m4/vprintf-posix.m4: New file.
70039         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
70040         REPLACE_VPRINTF.
70041         * lib/stdio_.h (vprintf): New declaration.
70042         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
70043         REPLACE_VPRINTF.
70044
70045 2007-03-08  Bruno Haible  <bruno@clisp.org>
70046
70047         * modules/fprintf-posix-tests: New file.
70048         * tests/test-fprintf-posix.sh: New file.
70049         * tests/test-fprintf-posix.c: New file.
70050
70051         * modules/fprintf-posix: New file.
70052         * lib/fprintf.c: New file.
70053         * m4/fprintf-posix.m4: New file.
70054         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
70055         REPLACE_FPRINTF.
70056         * lib/stdio_.h (fprintf): New declaration.
70057         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
70058         REPLACE_FPRINTF.
70059
70060 2007-03-08  Bruno Haible  <bruno@clisp.org>
70061
70062         * modules/vfprintf-posix-tests: New file.
70063         * tests/test-vfprintf-posix.sh: New file.
70064         * tests/test-vfprintf-posix.c: New file.
70065         * tests/test-fprintf-posix.h: New file.
70066         * tests/test-fprintf-posix.out: New file.
70067
70068         * modules/vfprintf-posix: New file.
70069         * lib/vfprintf.c: New file.
70070         * m4/vfprintf-posix.m4: New file.
70071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
70072         REPLACE_VFPRINTF.
70073         * lib/stdio_.h (vfprintf): New declaration.
70074         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
70075         REPLACE_VFPRINTF.
70076
70077 2007-03-08  Bruno Haible  <bruno@clisp.org>
70078
70079         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
70080
70081 2007-03-08  Bruno Haible  <bruno@clisp.org>
70082
70083         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
70084         instead of 'expr' invocations.
70085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70086         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70087         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70088         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70089         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70090         Suggested by Paul Eggert.
70091
70092 2007-03-08  Bruno Haible  <bruno@clisp.org>
70093
70094         * modules/fseterr-tests: New file.
70095         * tests/test-fseterr.c: New file.
70096
70097         * modules/fseterr: New file.
70098         * lib/fseterr.h: New file.
70099         * lib/fseterr.c: New file.
70100
70101 2007-03-08  Bruno Haible  <bruno@clisp.org>
70102
70103         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
70104         * lib/getopt_.h: Likewise.
70105         * lib/mbswidth.h: Likewise.
70106         * lib/setenv.h: Likewise.
70107         * lib/vasnprintf.h: Likewise.
70108         * lib/vasprintf.h: Likewise.
70109         * lib/verror.h: Likewise.
70110         * lib/xsetenv.h: Likewise.
70111         * lib/xvasprintf.h: Likewise.
70112
70113 2007-03-08  Jim Meyering  <jim@meyering.net>
70114
70115         * users.txt: Add parted.
70116
70117         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
70118
70119 2007-03-07  Bruno Haible  <bruno@clisp.org>
70120
70121         * m4/printf.m4: Make the shell script snippets copy&pastable.
70122
70123 2007-03-02  Bruno Haible  <bruno@clisp.org>
70124
70125         * lib/netinet_in_.h: New file.
70126         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
70127         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
70128         * modules/netinet_in (Files): Add lib/netinet_in_.h.
70129         (Depends-on): Add absolute-header.
70130         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
70131         into netinet/in.h.
70132
70133 2007-03-03  Bruno Haible  <bruno@clisp.org>
70134
70135         * lib/sys_select_.h: New file.
70136         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
70137         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
70138         * modules/sys_select (Files): Add lib/sys_select_.h.
70139         (Depends-on): Add absolute-header.
70140         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
70141         into sys/select.h.
70142
70143 2007-03-02  Bruno Haible  <bruno@clisp.org>
70144
70145         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
70146         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
70147         values.
70148         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
70149         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
70150         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
70151         * modules/sys_socket (Depends-on): Add absolute-header.
70152         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
70153         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
70154         (Include): Remove requirement of inclusion of <sys/types.h>.
70155
70156 2007-03-02  Bruno Haible  <bruno@clisp.org>
70157
70158         * lib/byteswap_.h (bswap_32): Fix formula.
70159
70160 2007-03-06  Bruno Haible  <bruno@clisp.org>
70161
70162         * modules/sprintf-posix-tests: New file.
70163         * tests/test-sprintf-posix.c: New file.
70164
70165         * modules/sprintf-posix: New file.
70166         * lib/sprintf.c: New file.
70167         * m4/sprintf-posix.m4: New file.
70168         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
70169         REPLACE_SPRINTF.
70170         * lib/stdio_.h (sprintf): New declaration.
70171         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
70172         REPLACE_SPRINTF.
70173
70174 2007-03-06  Bruno Haible  <bruno@clisp.org>
70175
70176         * modules/vsprintf-posix-tests: New file.
70177         * tests/test-vsprintf-posix.c: New file.
70178         * tests/test-sprintf-posix.h: New file.
70179
70180         * modules/vsprintf-posix: New file.
70181         * lib/vsprintf.c: New file.
70182         * m4/vsprintf-posix.m4: New file.
70183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
70184         REPLACE_VSPRINTF.
70185         * lib/stdio_.h (vsprintf): New declaration.
70186         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
70187         REPLACE_VSPRINTF.
70188
70189 2007-03-06  Bruno Haible  <bruno@clisp.org>
70190
70191         * modules/vsnprintf (Depend-on): Remove minmax.
70192
70193 2007-03-06  Bruno Haible  <bruno@clisp.org>
70194
70195         * modules/snprintf-posix-tests: New file.
70196         * tests/test-snprintf-posix.c: New file.
70197
70198         * modules/snprintf-posix: New file.
70199         * m4/snprintf-posix.m4: New file.
70200         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
70201         gl_FUNC_SNPRINTF.
70202         (gl_FUNC_SNPRINTF): Invoke it.
70203         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
70204         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
70205         is set.
70206         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
70207
70208 2007-03-06  Bruno Haible  <bruno@clisp.org>
70209
70210         * modules/vsnprintf-posix-tests: New file.
70211         * tests/test-vsnprintf-posix.c: New file.
70212         * tests/test-snprintf-posix.h: New file.
70213
70214         * modules/vsnprintf-posix: New file.
70215         * m4/vsnprintf-posix.m4: New file.
70216         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
70217         gl_FUNC_VSNPRINTF.
70218         (gl_FUNC_VSNPRINTF): Invoke it.
70219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
70220         * lib/stdio_.h (vsnprintf): Define as a replacement if
70221         REPLACE_VSNPRINTF is set.
70222         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
70223
70224 2007-03-06  Bruno Haible  <bruno@clisp.org>
70225
70226         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
70227         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
70228
70229 2007-03-06  Bruno Haible  <bruno@clisp.org>
70230
70231         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
70232         (asinl): Declare also if HAVE_DECL_ASINL is set.
70233         (atanl): Declare also if HAVE_DECL_ATANL is set.
70234         (ceill): Declare also if HAVE_DECL_CEILL is set.
70235         (cosl): Declare also if HAVE_DECL_COSL is set.
70236         (expl): Declare also if HAVE_DECL_EXPL is set.
70237         (floorl): Declare also if HAVE_DECL_FLOORL is set.
70238         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
70239         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
70240         (logl): Declare also if HAVE_DECL_LOGL is set.
70241         (sinl): Declare also if HAVE_DECL_SINL is set.
70242         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
70243         (tanl): Declare also if HAVE_DECL_TANL is set.
70244         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
70245         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
70246         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
70247         declaration of frexpl, ldexpl.
70248         * modules/printf-frexpl (Depends-on): Add math.
70249         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
70250
70251 2007-03-05  Bruno Haible  <bruno@clisp.org>
70252
70253         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
70254         frexpl and ldexpl are declared.
70255         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
70256
70257 2007-03-05  Bruno Haible  <bruno@clisp.org>
70258
70259         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
70260         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
70261
70262 2007-03-05  Bruno Haible  <bruno@clisp.org>
70263
70264         * lib/stdio_.h: Include <stddef.h>.
70265
70266 2007-03-05  Bruno Haible  <bruno@clisp.org>
70267
70268         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
70269
70270 2007-03-05  Bruno Haible  <bruno@clisp.org>
70271
70272         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
70273         NetBSD 4, from Ralf Wildenhues.
70274
70275 2007-03-04  Bruno Haible  <bruno@clisp.org>
70276
70277         * lib/vasprintf.h: Update #if logic for the case when the functions
70278         exist but are overridden.
70279
70280 2007-03-04  Bruno Haible  <bruno@clisp.org>
70281
70282         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
70283         implementations: glibc-2.4 and MacOS X 10.3.
70284         * tests/test-vasnprintf-posix.c (test_function): Test also the case
70285         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
70286         * tests/test-vasprintf-posix.c (test_function): Likewise.
70287
70288 2007-03-04  Bruno Haible  <bruno@clisp.org>
70289
70290         * modules/vasprintf-posix-tests: New file.
70291         * tests/test-vasprintf-posix.c: New file.
70292
70293         * modules/vasprintf-posix: New file.
70294         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
70295         defined.
70296         * m4/vasprintf-posix.m4: New file.
70297         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
70298         gl_FUNC_VASPRINTF.
70299         (gl_FUNC_VASPRINTF): Invoke it.
70300         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
70301         here.
70302         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
70303
70304 2007-03-04  Bruno Haible  <bruno@clisp.org>
70305
70306         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
70307         REPLACE_GETTIMEOFDAY.
70308         * modules/sys_time (Makefile.am): Likewise.
70309         * m4/sys_time_h.m4: Likewise.
70310         * m4/gettimeofday.m4: Likewise.
70311
70312 2007-03-04  Bruno Haible  <bruno@clisp.org>
70313
70314         * modules/vasnprintf-posix-tests: New file.
70315         * tests/test-vasnprintf-posix.c: New file.
70316
70317         * modules/vasnprintf-posix: New file.
70318         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
70319         printf-frexpl.h.
70320         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
70321         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
70322         REPLACE_VASNPRINTF is defined.
70323         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
70324         gl_FUNC_VASNPRINTF.
70325         (gl_FUNC_VASNPRINTF): Invoke it.
70326         * m4/vasnprintf-posix.m4: New file.
70327         * m4/printf.m4: New file.
70328
70329 2007-03-04  Bruno Haible  <bruno@clisp.org>
70330
70331         Compile progreloc.c only if --enable-relocatable is specified.
70332         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
70333         if --enable-relocatable was specified.
70334         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
70335         lib_SOURCES.
70336
70337 2007-03-04  Jim Meyering  <jim@meyering.net>
70338
70339         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
70340         Use it consistently, rather than enumerating errno constants.
70341
70342 2007-03-04  Bruno Haible  <bruno@clisp.org>
70343
70344         * modules/xvasprintf-tests: New file.
70345         * tests/test-xvasprintf.c: New file.
70346
70347         * modules/vasprintf-tests: New file.
70348         * tests/test-vasprintf.c: New file.
70349
70350         * modules/vasnprintf-tests: New file.
70351         * tests/test-vasnprintf.c: New file.
70352
70353         * modules/vsnprintf-tests: New file.
70354         * tests/test-vsnprintf.c: New file.
70355
70356         * modules/snprintf-tests: New file.
70357         * tests/test-snprintf.c: New file.
70358
70359 2007-03-04  Bruno Haible  <bruno@clisp.org>
70360
70361         Compile relocatable.c only if --enable-relocatable is specified.
70362         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
70363         gl_RELOCATABLE_LIBRARY.
70364         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
70365         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
70366         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
70367         gl_RELOCATABLE_LIBRARY.
70368         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
70369         (Makefile.am): Remove lib_SOURCES.
70370         * modules/relocatable-lib-lgpl (configure.ac): Invoke
70371         gl_RELOCATABLE_LIBRARY.
70372         (Makefile.am): Remove lib_SOURCES.
70373         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
70374         always.
70375         * modules/relocatable-prog-wrapper (configure.ac): Invoke
70376         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
70377
70378 2007-03-04  Bruno Haible  <bruno@clisp.org>
70379
70380         * modules/argmatch-tests: New file.
70381         * tests/test-argmatch.c: New file.
70382
70383         * tests/test-allocsa.c (main): Halve the number of loop runs.
70384
70385         * modules/alloca-opt-tests: New file.
70386         * tests/test-alloca-opt.c: New file.
70387
70388 2007-03-04  Jim Meyering  <jim@meyering.net>
70389
70390         Work around difference between Linux ACLs and Solaris 10 ZFS.
70391         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
70392         for EINVAL.
70393
70394 2007-03-03  Bruno Haible  <bruno@clisp.org>
70395
70396         * modules/relocatable-prog (Depends-on): Add back progreloc's
70397         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
70398
70399 2007-03-03  Bruno Haible  <bruno@clisp.org>
70400
70401         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
70402         * modules/relocatable-lib: New file.
70403
70404 2007-03-03  Bruno Haible  <bruno@clisp.org>
70405
70406         * modules/relocatable-prog: Renamed from modules/relocatable.
70407         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
70408
70409 2007-03-03  Bruno Haible  <bruno@clisp.org>
70410
70411         * modules/relocatable-script (Files): Add doc/relocatable.texi,
70412         m4/relocatable-lib.m4.
70413         (Depends-on): Remove 'relocatable'.
70414         (configure.ac): Add gl_RELOCATABLE_NOP.
70415
70416 2007-03-03  Bruno Haible  <bruno@clisp.org>
70417
70418         * modules/relocatable-prog-wrapper: New file.
70419         * modules/relocatable (Depends-on): Add it. Remove all other
70420         dependencies except progname.
70421         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
70422
70423         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
70424         (gl_FUNC_STRERROR): Nop.
70425         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
70426
70427         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
70428         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
70429
70430         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
70431         (gl_FUNC_READLINK): Update.
70432
70433         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
70434
70435 2007-03-03  Bruno Haible  <bruno@clisp.org>
70436
70437         * lib/xreadlink.c: Include <unistd.h> unconditionally.
70438         * modules/xreadlink (Depends-on): Add unistd.
70439         * modules/xreadlink-with-size (Depends-on): Likewise.
70440
70441 2007-03-03  Bruno Haible  <bruno@clisp.org>
70442
70443         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
70444         extracted from gt_FUNC_SETENV.
70445         (gt_FUNC_SETENV): Remove macro.
70446         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
70447         remove gt_FUNC_SETENV.
70448
70449 2007-03-03  Bruno Haible  <bruno@clisp.org>
70450
70451         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
70452         ENABLE_RELOCATABLE here.
70453         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
70454
70455 2007-03-03  Bruno Haible  <bruno@clisp.org>
70456
70457         * modules/rbtreehash-list-tests (Depends-on): Add progname.
70458         * tests/test-rbtreehash_list.c: Include progname.h.
70459         (main): Call set_program_name.
70460
70461         * modules/rbtree-oset-tests (Depends-on): Add progname.
70462         * tests/test-rbtree_oset.c: Include progname.h.
70463         (main): Call set_program_name.
70464
70465         * modules/rbtree-list-tests (Depends-on): Add progname.
70466         * tests/test-rbtree_list.c: Include progname.h.
70467         (main): Call set_program_name.
70468
70469         * modules/linked-list-tests (Depends-on): Add progname.
70470         * tests/test-linked_list.c: Include progname.h.
70471         (main): Call set_program_name.
70472
70473 2007-03-03  Bruno Haible  <bruno@clisp.org>
70474
70475         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
70476         All uses of __restrict changed to _Restrict_.
70477         * lib/glob_.h (__restrict): Remove macro.
70478
70479 2007-03-02  Bruno Haible  <bruno@clisp.org>
70480
70481         * modules/gettext (configure.ac): Require gettext infrastructure
70482         from version 0.16.1.
70483
70484 2007-03-02  Bruno Haible  <bruno@clisp.org>
70485
70486         * modules/linkedhash-list-tests (Depends-on): Add progname.
70487         * tests/test-linkedhash_list.c: Include progname.h.
70488         (main): Call set_program_name.
70489
70490         * modules/carray-list-tests (Depends-on): Add progname.
70491         * tests/test-carray_list.c: Include progname.h.
70492         (main): Call set_program_name.
70493
70494         * modules/avltreehash-list-tests (Depends-on): Add progname.
70495         * tests/test-avltreehash_list.c: Include progname.h.
70496         (main): Call set_program_name.
70497
70498         * modules/avltree-oset-tests (Depends-on): Add progname.
70499         * tests/test-avltree_oset.c: Include progname.h.
70500         (main): Call set_program_name.
70501
70502         * modules/avltree-list-tests (Depends-on): Add progname.
70503         * tests/test-avltree_list.c: Include progname.h.
70504         (main): Call set_program_name.
70505
70506         * modules/array-oset-tests (Depends-on): Add progname.
70507         * tests/test-array_oset.c: Include progname.h.
70508         (main): Call set_program_name.
70509
70510         * modules/array-list-tests (Depends-on): Add progname.
70511         * tests/test-array_list.c: Include progname.h.
70512         (main): Call set_program_name.
70513
70514         * modules/argp-tests (Depends-on): Add progname.
70515         * tests/test-argp.c: Include argp.h first. Include progname.h.
70516         (main): Call set_program_name.
70517
70518 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
70519
70520         * doc/gnulib-tool.texi (Initial import): Reword description of
70521         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
70522         limited effect even if defined after the first system include.
70523
70524 2007-03-01  Bruno Haible  <bruno@clisp.org>
70525
70526         * build-aux/config.libpath: Update to libtool-1.5.22.
70527         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
70528
70529 2007-03-01  Bruno Haible  <bruno@clisp.org>
70530
70531         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
70532         foo_CFLAGS.
70533         Reported by Ralf Wildenhues.
70534
70535 2007-03-01  Bruno Haible  <bruno@clisp.org>
70536
70537         * build-aux/install-reloc: Remove object files left over by some
70538         compilers.
70539         Reported by Ralf Wildenhues.
70540
70541 2007-03-01  Bruno Haible  <bruno@clisp.org>
70542
70543         * build-aux/install-reloc: Break long lines.
70544
70545 2007-03-01  Bruno Haible  <bruno@clisp.org>
70546
70547         * doc/relocatable.texi: Document that it may not work on OpenBSD.
70548         Reported by Ralf Wildenhues.
70549
70550 2007-03-01  Bruno Haible  <bruno@clisp.org>
70551
70552         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
70553         include ordering constraints.
70554
70555 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
70556
70557         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
70558         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
70559         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
70560         as another example.
70561         * lib/time_.h: Fix misspelling.
70562         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
70563         Require gl_HEADER_TIME_H_DEFAULTS.
70564         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
70565         * m4/time_r.m4 (gl_TIME_R): Likewise.
70566         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
70567
70568 2007-03-01  Bruno Haible  <bruno@clisp.org>
70569
70570         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
70571         * m4/utimens.m4 (gl_UTIMENS): Likewise.
70572
70573 2007-03-01  Jim Meyering  <jim@meyering.net>
70574
70575         * modules/xreadlink (Maintainer): Add my name.
70576         * modules/xreadlink-with-size (Depends-on): Alphabetize.
70577
70578 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
70579             Bruno Haible  <bruno@clisp.org>
70580
70581         * build-aux/install-reloc: Compile also c-ctype.c.
70582         * build-aux/relocatable.sh.in: New file.
70583         * doc/relocatable.texi: New file.
70584         * doc/relocatable-maint.texi: New file.
70585         * doc/gnulib.texi: Include relocatable-maint.texi.
70586         * lib/progreloc.c: Include unistd.h unconditionally.
70587         * lib/relocwrapper.c: Include unistd.h unconditionally.
70588         Include c-ctype.h.
70589         (add_dotbin): Use c_tolower.
70590         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
70591         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
70592         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
70593         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
70594         to m4/relocatable-lib.m4.
70595         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
70596         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
70597         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
70598         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
70599         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
70600         * modules/relocatable: New file.
70601         * modules/relocatable-lib: New file.
70602         * modules/relocatable-script: New file.
70603
70604 2007-02-28  Bruno Haible  <bruno@clisp.org>
70605
70606         Import --enable-relocatable infrastructure.
70607         * build-aux/config.libpath: New file, from GNU gettext.
70608         * build-aux/install-reloc: New file, from GNU gettext.
70609         * build-aux/reloc-ldflags: New file, from GNU gettext.
70610         * lib/relocatable.h: New file, from GNU gettext.
70611         * lib/relocatable.c: New file, from GNU gettext.
70612         * lib/relocwrapper.c: New file, from GNU gettext.
70613         * m4/relocatable.m4: New file, from GNU gettext.
70614
70615 2007-02-28  Bruno Haible  <bruno@clisp.org>
70616
70617         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
70618
70619         * modules/xreadlink: New file, from GNU gettext with modifications.
70620         * lib/xreadlink.c: New file, from GNU gettext.
70621         * lib/xreadlink.h: Add comments.
70622         (xreadlink): New declaration.
70623
70624         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
70625         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
70626         lib/xreadlink-with-size.c.
70627         (configure.ac): Remove gl_XREADLINK invocation.
70628         (Makefile.am): Augment lib_SOURCES.
70629         * m4/xreadlink.m4: Remove file.
70630         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
70631         (xreadlink_with_size): Renamed from xreadink.
70632         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
70633         * modules/canonicalize (Depends-on): Replace xreadlink with
70634         xreadlink-with-size.
70635         * lib/canonicalize.c (canonicalize_filename_mode): Update.
70636
70637 2007-02-25  Jim Meyering  <jim@meyering.net>
70638
70639         * build-aux/announce-gen: When complaining about excess arguments,
70640         list them.
70641
70642 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70643
70644         * README: Document signed integer overflow situation more
70645         accurately.
70646
70647 2007-02-25  Bruno Haible  <bruno@clisp.org>
70648
70649         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
70650         'a' or 'A' conversion.
70651
70652 2007-02-25  Bruno Haible  <bruno@clisp.org>
70653
70654         * modules/filename: Renamed from modules/pathname.
70655         (Files): Replace lib/pathname.h with lib/filename.h. Replace
70656         lib/concatpath.c with lib/concat-filename.c.
70657         (Makefile.am): Update.
70658         (Include): Replace pathname.h with filename.h.
70659         * lib/filename.h: Renamed from lib/pathname.h.
70660         (concatenated_filename): Renamed from concatenated_pathname.
70661         * lib/concat-filename.c: Renamed from lib/concatpath.c.
70662         (concatenated_filename): Renamed from concatenated_pathname.
70663         * lib/findprog.c: Include filename.h instead of pathname.h.
70664         (find_in_path): Update.
70665         * lib/javacomp.c: Include filename.h instead of pathname.h.
70666         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
70667         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
70668         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
70669         is_oldgcj_14_13_usable, is_javac_usable): Update.
70670         * lib/javaexec.c: Include filename.h instead of pathname.h.
70671         (execute_java_class): Update.
70672         * modules/findprog: Update.
70673         * modules/javacomp: Update.
70674         * modules/javaexec: Update.
70675         * MODULES.html.sh (File system functions): Add 'filename', remove
70676         'pathname'.
70677
70678 2007-02-25  Bruno Haible  <bruno@clisp.org>
70679
70680         * modules/printf-frexpl-tests: New file.
70681         * tests/test-printf-frexpl.c: New file.
70682
70683         * modules/printf-frexpl: New file.
70684         * lib/printf-frexpl.h: New file.
70685         * lib/printf-frexpl.c: New file.
70686         * m4/printf-frexpl.m4: New file.
70687
70688 2007-02-25  Bruno Haible  <bruno@clisp.org>
70689
70690         * modules/printf-frexp-tests: New file.
70691         * tests/test-printf-frexp.c: New file.
70692
70693         * modules/printf-frexp: New file.
70694         * lib/printf-frexp.h: New file.
70695         * lib/printf-frexp.c: New file.
70696         * m4/printf-frexp.m4: New file.
70697
70698 2007-02-25  Bruno Haible  <bruno@clisp.org>
70699
70700         Assume automake >= 1.10 for the tests.
70701         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
70702         * modules/arctwo-tests: Likewise.
70703         * modules/argp-tests: Likewise.
70704         * modules/avltree-list-tests: Likewise.
70705         * modules/avltree-oset-tests: Likewise.
70706         * modules/avltreehash-list-tests: Likewise.
70707         * modules/carray-list-tests: Likewise.
70708         * modules/crc-tests: Likewise.
70709         * modules/des-tests: Likewise.
70710         * modules/gc-arcfour-tests: Likewise.
70711         * modules/gc-arctwo-tests: Likewise.
70712         * modules/gc-des-tests: Likewise.
70713         * modules/gc-hmac-md5-tests: Likewise.
70714         * modules/gc-hmac-sha1-tests: Likewise.
70715         * modules/gc-md2-tests: Likewise.
70716         * modules/gc-md4-tests: Likewise.
70717         * modules/gc-md5-tests: Likewise.
70718         * modules/gc-pbkdf2-sha1-tests: Likewise.
70719         * modules/gc-rijndael-tests: Likewise.
70720         * modules/gc-sha1-tests: Likewise.
70721         * modules/gc-tests: Likewise.
70722         * modules/getaddrinfo-tests: Likewise.
70723         * modules/hmac-md5-tests: Likewise.
70724         * modules/hmac-sha1-tests: Likewise.
70725         * modules/linked-list-tests: Likewise.
70726         * modules/linkedhash-list-tests: Likewise.
70727         * modules/lock-tests: Likewise.
70728         * modules/md2-tests: Likewise.
70729         * modules/md4-tests: Likewise.
70730         * modules/md5-tests: Likewise.
70731         * modules/rbtree-list-tests: Likewise.
70732         * modules/rbtree-oset-tests: Likewise.
70733         * modules/rbtreehash-list-tests: Likewise.
70734         * modules/read-file-tests: Likewise.
70735         * modules/rijndael-tests: Likewise.
70736         * modules/stdint-tests: Likewise.
70737         * modules/tls-tests: Likewise.
70738
70739 2007-02-24  Bruno Haible  <bruno@clisp.org>
70740
70741         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
70742         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
70743         function; instead check whether isnan with a double argument links.
70744         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
70745         function; instead check whether isnan with a 'long double' argument
70746         links.
70747         Reported by Eric Blake <ebb9@byu.net>.
70748
70749 2007-02-24  Bruno Haible  <bruno@clisp.org>
70750
70751         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
70752         defined.
70753         * lib/isnanl.c: Remove all code. Just include isnan.c.
70754         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
70755
70756 2007-02-25  Jim Meyering  <jim@meyering.net>
70757
70758         Avoid conflicting types for 'unsetenv' on FreeBSD.
70759         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
70760         conflicting with FreeBSD's (5.0 and 6.1) function declaration
70761         in stdlib.h.
70762
70763 2007-02-24  Bruno Haible  <bruno@clisp.org>
70764
70765         * modules/isnanl-nolibm-tests: New file.
70766         * tests/test-isnanl.c: New file.
70767
70768         * modules/isnanl-nolibm: New file.
70769         * lib/isnanl.h: New file.
70770         * lib/isnanl.c: New file.
70771         * m4/isnanl.m4: New file.
70772
70773 2007-02-24  Bruno Haible  <bruno@clisp.org>
70774
70775         * modules/isnan-nolibm-tests: New file.
70776         * tests/test-isnan.c: New file.
70777
70778         * modules/isnan-nolibm: New file.
70779         * lib/isnan.h: New file.
70780         * lib/isnan.c: New file.
70781         * m4/isnan.m4: New file.
70782
70783 2007-02-24  Bruno Haible  <bruno@clisp.org>
70784
70785         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
70786         assume that an exponent fits in 20 bits.
70787
70788 2007-02-24  Jim Meyering  <jim@meyering.net>
70789
70790         * m4/regex.m4: Update the description of the configure-time option,
70791         --without-included-regex, to state accurately what the defaults are,
70792         and perhaps to give people an idea why using this option is risky.
70793
70794 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
70795
70796         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
70797         loops on small arguments.  This attempts to avoid the problem
70798         Bruno Haible reported for AIX 4.3.2 in
70799         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
70800
70801 2007-02-23  Bruno Haible  <bruno@clisp.org>
70802
70803         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
70804         Needed for help2man.
70805
70806 2007-02-23  Karl Berry  <karl@gnu.org>
70807
70808         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
70809         exists, foo.h should be cvs-ignored, not committed.
70810
70811 2007-02-23  Eric Blake  <ebb9@byu.net>
70812
70813         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
70814         * lib/stat-time.h (includes): Likewise.
70815         * lib/utimecmp.c (includes): Likewise.
70816         * lib/utimens.h (includes): Likewise.
70817         * lib/getdate.y (includes): Also include "timespec.h" for use
70818         internal to the module.
70819         * modules/utimens (Depends-on): Revert yesterday's patch.
70820         * modules/nanosleep (Depends-on): Add missing dependency.
70821
70822 2007-02-22  Bruno Haible  <bruno@clisp.org>
70823
70824         * lib/glob.c: Don't include getlogin_r.h.
70825
70826 2007-02-22  Jim Meyering  <jim@meyering.net>
70827
70828         * modules/utimens (Depends-on): Add timespec, required for
70829         utimens.h's inclusion of timespec.h.
70830
70831 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
70832
70833         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
70834         long unreadable paths in GNU/Linux.  Problem reported by Andreas
70835         Schwab in
70836         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
70837         I'll try to think of a better way to fix the Solaris problem.
70838
70839         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
70840         like glibc; on Solaris 10, it fails with errno == EINVAL.
70841         POSIX says the behavior is unspecified if the first argument is NULL,
70842         so play it safe and never pass NULL to the system getcwd.
70843
70844 2007-02-21  Jim Meyering  <jim@meyering.net>
70845
70846         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
70847         of gettimeofday.  It would conflict with the one now always
70848         provided via sys_time_.h.  Reported by Matthew Woehlke, as
70849         an IRIX 6.5 build failure.
70850
70851 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
70852
70853         Minor fixups to port to Solaris 10 with Sun C 5.8.
70854         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
70855         * modules/getcwd (Depends-on): Add dirfd.
70856         * lib/putenv.c (putenv): #undef it.
70857         (rpl_putenv): New decl.
70858         (malloc, free): Include <stdlib.h> rather than prototyping separately.
70859
70860 2007-02-20  Bruno Haible  <bruno@clisp.org>
70861
70862         * modules/stdio-tests: New file.
70863         * tests/test-stdio.c: New file.
70864
70865         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
70866         (Depends-on): Add stdio.
70867         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70868         (Include): Use <stdio.h> instead of vsnprintf.h.
70869         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70870         HAVE_DECL_VSNPRINTF.
70871         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
70872
70873         * modules/snprintf (Files): Remove lib/snprintf.h.
70874         (Depends-on): Add stdio.
70875         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70876         (Include): Use <stdio.h> instead of snprintf.h.
70877         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70878         HAVE_DECL_SNPRINTF.
70879         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
70880         * lib/getaddrinfo.c: Likewise.
70881
70882         * modules/stdio: New file.
70883         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
70884         * lib/snprintf.h: Remove file.
70885         * lib/vsnprintf.h: Remove file.
70886         * lib/.cppi-disable: Remove snprintf.h.
70887         * m4/stdio_h.m4: New file.
70888         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
70889
70890 2007-02-20  Jim Meyering  <jim@meyering.net>
70891
70892         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
70893         used by e.g., mingw.  From Bruno Haible.
70894
70895 2007-02-19  Bruno Haible  <bruno@clisp.org>
70896
70897         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
70898         warnings.
70899         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70900
70901 2007-02-19  Bruno Haible  <bruno@clisp.org>
70902
70903         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
70904         from mingw users.
70905
70906 2007-02-19  Bruno Haible  <bruno@clisp.org>
70907
70908         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
70909         warnings.
70910         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
70911
70912 2007-02-19  Jim Meyering  <jim@meyering.net>
70913
70914         Don't use FD after a successful "fdopendir (fd)".
70915         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
70916         Reset it by calling dirfd on the just-obtained DIR*.
70917
70918         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
70919         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
70920
70921 2007-02-18  Bruno Haible  <bruno@clisp.org>
70922
70923         * lib/readlink.c: Include <unistd.h>.
70924         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
70925         HAVE_READLINK.
70926         * modules/readlink (Depends-on): Add unistd.
70927         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70928         (Include): Add <unistd.h>.
70929
70930         * lib/getlogin_r.h: Remove file.
70931         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
70932         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
70933         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
70934         HAVE_DECL_GETLOGIN_R.
70935         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
70936         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70937         (Include): Use <unistd.h> instead of getlogin_r.h.
70938
70939         * lib/getcwd.h: Remove file.
70940         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
70941         * lib/xgetcwd.c: Likewise.
70942         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
70943         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
70944         * modules/getcwd (Files): Remove lib/getcwd.h.
70945         (Depends-on): Add unistd.
70946         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70947         (Include): Use <unistd.h> instad of getcwd.h.
70948
70949         * lib/ftruncate.c: Include <unistd.h> first.
70950         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
70951         Set HAVE_FTRUNCATE.
70952         * modules/ftruncate (Depends-on): Add unistd.
70953         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70954
70955         * lib/fchdir.c: Include <unistd.h> first.
70956         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
70957         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
70958         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
70959         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70960         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
70961
70962         * lib/dup2.c: Include <unistd.h> first.
70963         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
70964         HAVE_DUP2.
70965         * modules/dup2 (Depends-on): Add unistd.
70966         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70967
70968         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
70969         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
70970         REPLACE_CHOWN. Don't define chown as a macro here.
70971         * modules/chown (Depends-on): Add unistd.
70972         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70973
70974         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
70975         Add definition for GL_LINK_WARNING.
70976         (chown, dup2): New declarations.
70977         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
70978         link warning.
70979         (ftruncate): New declaration.
70980         (getcwd): New declaration, taken from old getcwd.h.
70981         (getlogin_r): New declaration, taken from old getlogin_r.h.
70982         (readlink): New declaration.
70983         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
70984         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
70985         (gl_PREREQ_UNISTD): Remove macro.
70986         (gl_UNISTD_MODULE_INDICATOR): New macro.
70987         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
70988         many new variables. Don't set UNISTD_H.
70989         * modules/unistd (Description): Change.
70990         (Depends-on): Add link-warning.
70991         (configure.ac): Update.
70992         (Makefile.am): Create unistd.h always. Substitute many new variables
70993         into it.
70994
70995 2007-02-18  Bruno Haible  <bruno@clisp.org>
70996
70997         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
70998         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
70999         HAVE_GETSUBOPT.
71000         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
71001         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
71002         * lib/getsubopt.h: Remove file.
71003         * modules/getsubopt (Files): Remove lib/getsubopt.h.
71004         (Depends-on): Add stdlib.
71005         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71006         (Includes): Use <stdlib.h> instead of getsubopt.h.
71007         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
71008         Set HAVE_GETSUBOPT.
71009         * lib/getsubopt.c: Don't include getsubopt.h.
71010
71011 2007-02-18  Bruno Haible  <bruno@clisp.org>
71012
71013         * modules/fchdir (Depends-on): Add dup2.
71014
71015 2007-02-18  Bruno Haible  <bruno@clisp.org>
71016
71017         * lib/stdlib_.h: Handle glibc's special invocation convention
71018         specially.
71019
71020 2007-02-18  Bruno Haible  <bruno@clisp.org>
71021
71022         * modules/stdlib-tests: New file.
71023         * tests/test-stdlib.c: New file.
71024
71025         * modules/mkstemp (Files): Remove lib/mkstemp.h.
71026         (Depends-on): Add stdlib.
71027         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71028         (Includes): Use <stdlib.h> instead of mkstemp.h.
71029         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
71030         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
71031         * lib/mkstemp.c: Don't include mkstemp.h.
71032         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
71033         * lib/stdlib--.h: Don't include mkstemp.h.
71034
71035         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
71036         (Depends-on): Add stdlib.
71037         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71038         (Includes): Use <stdlib.h> instead of mkdtemp.h.
71039         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
71040         HAVE_MKDTEMP.
71041         * lib/mkdtemp.c: Don't include mkdtemp.h.
71042         * lib/clean-temp.c: Don't include mkdtemp.h.
71043
71044         * modules/exit (Files): Remove lib/exit.h.
71045         (Depends-on): Add stdlib.
71046         (Makefile.am): Remove lib_SOURCES.
71047         (Include): Use <stdlib.h> instead of exit.h.
71048         * lib/argmatch.c: Don't include exit.h.
71049         * lib/execute.c: Likewise.
71050         * lib/pagealign_alloc.c: Likewise.
71051         * lib/pipe.c: Likewise.
71052         * lib/wait-process.c: Likewise.
71053         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
71054         * lib/exitfail.c: Likewise.
71055         * lib/savewd.c: Likewise.
71056         * lib/xsetenv.c: Likewise.
71057
71058         * modules/stdlib: New file.
71059         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
71060         and extra comments about mkstemp().
71061         * lib/exit.h: Remove file.
71062         * lib/mkdtemp.h: Remove file.
71063         * lib/mkstemp.h: Remove file.
71064         * m4/stdlib_h.m4: New file.
71065         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
71066
71067 2007-02-18  Bruno Haible  <bruno@clisp.org>
71068
71069         * modules/math-tests: New file.
71070         * tests/test-math.c: New file.
71071
71072         * modules/math: New file.
71073         * modules/mathl (Files): Remove lib/mathl.h.
71074         (Depends-on): Add math.
71075         (Makefile.am): Don't mention mathl.h.
71076         (Include): Use <math.h> instead of mathl.h.
71077         * lib/math_.h: New file.
71078         * lib/mathl.h: Remove file.
71079         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
71080         mathl.h.
71081         * lib/asinl.c: Likewise.
71082         * lib/atanl.c: Likewise.
71083         * lib/ceill.c: Likewise.
71084         * lib/cosl.c: Likewise.
71085         * lib/expl.c: Likewise.
71086         * lib/floorl.c: Likewise.
71087         * lib/frexpl.c: Likewise.
71088         * lib/ldexpl.c: Likewise.
71089         * lib/logl.c: Likewise.
71090         * lib/sincosl.c: Likewise.
71091         * lib/sinl.c: Likewise.
71092         * lib/sqrtl.c: Likewise.
71093         * lib/tanl.c: Likewise.
71094         * lib/trigl.c: Likewise.
71095         * m4/math_h.m4: New file.
71096         * MODULES.html.sh (Mathematics): Add math.
71097
71098 2007-02-17  Bruno Haible  <bruno@clisp.org>
71099
71100         * modules/wctype-tests: New file.
71101         * tests/test-wctype.c: New file.
71102
71103         * modules/wchar-tests: New file.
71104         * tests/test-wchar.c: New file.
71105
71106         * modules/unistd-tests: New file.
71107         * tests/test-unistd.c: New file.
71108
71109         * modules/time-tests: New file.
71110         * tests/test-time.c: New file.
71111
71112         * modules/sysexits-tests: New file.
71113         * tests/test-sysexits.c: New file.
71114
71115         * modules/sys_time-tests: New file.
71116         * tests/test-sys_time.c: New file.
71117
71118         * modules/sys_stat-tests: New file.
71119         * tests/test-sys_stat.c: New file.
71120
71121         * modules/sys_socket-tests: New file.
71122         * tests/test-sys_socket.c: New file.
71123
71124         * modules/sys_select-tests: New file.
71125         * tests/test-sys_select.c: New file.
71126
71127         * modules/string-tests: New file.
71128         * tests/test-string.c: New file.
71129
71130         * modules/stdbool-tests: New file.
71131         * tests/test-stdbool.c: New file.
71132
71133         * modules/netinet_in-tests: New file.
71134         * tests/test-netinet_in.c: New file.
71135
71136         * modules/inttypes-tests: New file.
71137         * tests/test-inttypes.c: New file.
71138
71139         * modules/fcntl-tests: New file.
71140         * tests/test-fcntl.c: New file.
71141
71142         * modules/byteswap-tests: New file.
71143         * tests/test-byteswap.c: New file.
71144
71145         * modules/arpa_inet-tests: New file.
71146         * tests/test-arpa_inet.c: New file.
71147
71148 2007-02-17  Bruno Haible  <bruno@clisp.org>
71149
71150         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
71151         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
71152         if the corresponding module is not enabled. Emit link warnings if
71153         the function is used nevertheless.
71154         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
71155         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
71156         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
71157         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
71158         * modules/inttypes (Depends-on): Add link-warning.
71159         (Makefile.am): Copy the contents of build-aux/link-warning.h into
71160         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
71161         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
71162         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
71163         * modules/imaxdiv (configure.ac): Likewise.
71164         * modules/strtoimax (configure.ac): Likewise.
71165         * modules/strtoumax (configure.ac): Likewise.
71166
71167 2007-02-17  Bruno Haible  <bruno@clisp.org>
71168
71169         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
71170         gl_STRING_MODULE_INDICATOR_DEFAULTS.
71171         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
71172         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
71173
71174 2007-02-17  Bruno Haible  <bruno@clisp.org>
71175
71176         * modules/link-warning: New file.
71177         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
71178         * lib/string_.h (GL_LINK_WARNING): Remove definition.
71179         * modules/string (Depends-on): Add link-warning.
71180         (Makefile.am): Copy the contents of build-aux/link-warning.h into
71181         string.h.
71182         * MODULES.html.sh (Support for building libraries and executables): Add
71183         link-warning.
71184
71185 2007-02-17  Bruno Haible  <bruno@clisp.org>
71186
71187         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
71188         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
71189         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
71190         long lines.
71191
71192 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
71193             Bruno Haible  <bruno@clisp.org>
71194
71195         * modules/tmpfile: New file.
71196         * lib/tmpfile.c: New file.
71197         * m4/tmpfile.m4: New file.
71198         * MODULES.html.sh (func_all_modules): New section "Input/output".
71199
71200 2007-02-15  Bruno Haible  <bruno@clisp.org>
71201
71202         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
71203         (supports_delete_on_close): New function.
71204         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
71205
71206 2007-02-14  Bruno Haible  <bruno@clisp.org>
71207
71208         * modules/mbspcasecmp-tests: New file.
71209         * tests/test-mbspcasecmp.sh: New file.
71210         * tests/test-mbspcasecmp.c: New file.
71211
71212         New module mbspcasecmp.
71213         * modules/mbspcasecmp: New file.
71214         * lib/mbspcasecmp.c: New file.
71215         * lib/string_.h (strncasecmp): Change warning message.
71216         (mbspcasecmp): New declaration.
71217         * m4/mbspcasecmp.m4: New file.
71218         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71219         GNULIB_MBSPCASECMP.
71220         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
71221         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
71222
71223 2007-02-14  Bruno Haible  <bruno@clisp.org>
71224
71225         * modules/mbsncasecmp-tests: New file.
71226         * tests/test-mbsncasecmp.sh: New file.
71227         * tests/test-mbsncasecmp.c: New file.
71228
71229         New module mbsncasecmp.
71230         * modules/mbsncasecmp: New file.
71231         * lib/mbsncasecmp.c: New file.
71232         * lib/string_.h (mbsncasecmp): New declaration.
71233         * m4/mbsncasecmp.m4: New file.
71234         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71235         GNULIB_MBSNCASECMP.
71236         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
71237         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
71238
71239 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
71240
71241         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
71242         Verify that it doesn't overlap with our flags.
71243         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
71244         do not have the desired effect in multibyte locales; instead, use
71245         mbscasecmp.
71246         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
71247         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
71248         we don't require GNU fnmatch ourselves (if our users require it, they
71249         should do so explicitly).
71250
71251         Fix regex code so it doesn't rely on strcasecmp.
71252         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
71253         Otherwise, include gnulib's langinfo.h.
71254         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
71255         undesirable behavior in non-C locales.  Instead, rely on localecharset.
71256         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
71257         * modules/regex (FILES): Remove m4/codeset.m4.
71258         (Depends-on): Add localcharset.  Remove strcase.
71259
71260 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71261
71262         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
71263         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
71264
71265 2007-02-13  Bruno Haible  <bruno@clisp.org>
71266
71267         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
71268         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71269
71270 2007-02-12  Bruno Haible  <bruno@clisp.org>
71271
71272         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71273         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
71274         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
71275         time warning rather than a link error.
71276
71277 2007-02-12  Bruno Haible  <bruno@clisp.org>
71278
71279         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
71280         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
71281         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71282
71283 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71284
71285         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
71286         args, not 2.
71287
71288 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71289
71290         New module 'time', so that apps can include <time.h> as per
71291         POSIX and GNU instead of separate include files like time_r.h
71292         and timegm.h.  This implementation tries out a simpler approach
71293         for replacing decls in standard include files (as compared to
71294         the string module), somewhat as an experiment.
71295
71296         * config/srclist.txt: Comment out mktime.c for now.
71297         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
71298         since it doesn't apply any more.  Use generic wording instead.
71299         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
71300         'time'.
71301         * lib/time_.h, m4/time_h.m4, modules/time: New files.
71302         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
71303         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
71304         Don't include <sys/types.h>; no longer needed since we assume C89.
71305         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
71306         * lib/strftime.c: Likewise.
71307         * lib/time_r.c: Likewise.
71308         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
71309         * lib/nanosleep.c: Include <time.h> first, to check interface.
71310         * lib/strptime.c: Likewise.
71311         * lib/time_r.c: Likewise.
71312         * lib/timegm.c: Likewise.
71313         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
71314         needed.
71315         * lib/timegm.c: Don't include timegm.h; no longer needed.
71316         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
71317         time.h now handles any problems in that area.
71318         (struct timespec, nanosleep): Remove; time.h now arranges for these.
71319         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
71320         that time.h defines struct timespec.
71321         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
71322         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
71323         handles that.
71324         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
71325         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
71326         needed.  Set REPLACE_LOCALTIME.
71327         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
71328         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
71329         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
71330         nanosleep; time_h.m4 now does that.  Don't require
71331         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
71332         module handles this now.
71333         * modules/getdate (Depends-on): Remove timespec.  Add time.
71334         * modules/nanosleep (Depends-on): Likewise.
71335         * modules/stat-time (Depends-on): Likewise.
71336         * modules/nanosleep (Include): Include time.h, not timespec.h.
71337         * modules/strptime (Files): Remove lib/strptime.h.
71338         (Depends-on): Add extensions, time.
71339         (Include): Include time.h, not strptime.h.
71340         * modules/time_r (Files): Remove lib/time_r.h.
71341         (Depends-on): Add time.
71342         (Include): Include time.h, not time_r.h.
71343         * modules/timegm: Likewise.
71344         * modules/timespec (Description): Now does timespec-related decls
71345         of our own, instead of struct timespec itself.
71346         (Depends-on): Add time; remove extensions.
71347         (Maintainer): Add self.
71348         * modules/utimecmp (Depends-on): Add time; remove timespec.
71349         * modules/utimens (Depends-on): Likewise.
71350         * modules/xnanosleep (Depends-on): Likewise.
71351
71352 2007-02-11  Bruno Haible  <bruno@clisp.org>
71353
71354         * lib/c-strstr.c: Include allocsa.h.
71355         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71356         * lib/c-strcasestr.c: Include allocsa.h.
71357         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71358         * lib/strcasestr.c: Include allocsa.h.
71359         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71360         * lib/mbsstr.c: Include allocsa.h.
71361         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
71362         allocsa/freesa instead of malloc/free.
71363         * lib/mbscasestr.c: Include allocsa.h.
71364         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
71365         allocsa/freesa instead of malloc/free.
71366         * modules/c-strstr (Depends-on): Add allocsa.
71367         * modules/c-strcasestr (Depends-on): Likewise.
71368         * modules/strcasestr (Depends-on): Likewise.
71369         * modules/mbsstr (Depends-on): Likewise.
71370         * modules/mbscasestr (Depends-on): Likewise.
71371
71372 2007-02-11  Bruno Haible  <bruno@clisp.org>
71373
71374         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
71375
71376         * modules/mbsspn-tests: New file.
71377         * tests/test-mbsspn.sh: New file.
71378         * tests/test-mbsspn.c: New file.
71379
71380 2007-02-11  Bruno Haible  <bruno@clisp.org>
71381
71382         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
71383
71384         * modules/mbspbrk-tests: New file.
71385         * tests/test-mbspbrk.sh: New file.
71386         * tests/test-mbspbrk.c: New file.
71387
71388 2007-02-11  Bruno Haible  <bruno@clisp.org>
71389
71390         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
71391         unneeded cast.
71392
71393         * modules/mbscspn-tests: New file.
71394         * tests/test-mbscspn.sh: New file.
71395         * tests/test-mbscspn.c: New file.
71396
71397 2007-02-11  Bruno Haible  <bruno@clisp.org>
71398
71399         * modules/mbscasecmp-tests: New file.
71400         * tests/test-mbscasecmp.sh: New file.
71401         * tests/test-mbscasecmp.c: New file.
71402
71403 2007-02-11  Bruno Haible  <bruno@clisp.org>
71404
71405         Ensure O(n) worst-case complexity of mbscasestr.
71406         * lib/mbscasestr.c: Include stdbool.h.
71407         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
71408         functions.
71409         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
71410         the bookkeeping indicates that it's worth it.
71411         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
71412
71413         * modules/mbscasestr-tests: New file.
71414         * tests/test-mbscasestr1.c: New file.
71415         * tests/test-mbscasestr2.sh: New file.
71416         * tests/test-mbscasestr2.c: New file.
71417         * tests/test-mbscasestr3.sh: New file.
71418         * tests/test-mbscasestr3.c: New file.
71419         * tests/test-mbscasestr4.sh: New file.
71420         * tests/test-mbscasestr4.c: New file.
71421         * m4/locale-tr.m4: New file.
71422
71423 2007-02-11  Bruno Haible  <bruno@clisp.org>
71424
71425         Ensure O(n) worst-case complexity of mbsstr.
71426         * lib/mbsstr.c: Include stdbool.h.
71427         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
71428         functions.
71429         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
71430         bookkeeping indicates that it's worth it.
71431         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
71432
71433         * modules/mbsstr-tests: New file.
71434         * tests/test-mbsstr1.c: New file.
71435         * tests/test-mbsstr2.sh: New file.
71436         * tests/test-mbsstr2.c: New file.
71437         * tests/test-mbsstr3.sh: New file.
71438         * tests/test-mbsstr3.c: New file.
71439         * m4/locale-fr.m4: New file.
71440
71441 2007-02-11  Bruno Haible  <bruno@clisp.org>
71442
71443         * lib/mbsrchr.c (mbsrchr): Fix bug.
71444
71445         * modules/mbsrchr-tests: New file.
71446         * tests/test-mbsrchr.sh: New file.
71447         * tests/test-mbsrchr.c: New file.
71448
71449 2007-02-11  Bruno Haible  <bruno@clisp.org>
71450
71451         * lib/mbschr.c (mbschr): Fix bug.
71452
71453         * modules/mbschr-tests: New file.
71454         * tests/test-mbschr.sh: New file.
71455         * tests/test-mbschr.c: New file.
71456         * m4/locale-zh.m4: New file.
71457
71458 2007-02-11  Bruno Haible  <bruno@clisp.org>
71459
71460         Support for copying multibyte string iterators.
71461         * lib/mbiter.h: Include <string.h>.
71462         (mbiter_multi_copy): New function.
71463         (mbi_copy): New macro.
71464         * lib/mbuiter.h: Include <string.h>.
71465         (mbuiter_multi_copy): New function.
71466         (mbui_copy): New macro.
71467
71468 2007-02-11  Bruno Haible  <bruno@clisp.org>
71469
71470         New module mbslen.
71471         * modules/mbslen: New file.
71472         * lib/mbslen.c: New file.
71473         * lib/string_.h (mbslen): New declaration.
71474         * m4/mbslen.m4: New file.
71475         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71476         GNULIB_MBSLEN.
71477         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
71478         * MODULES.html.sh (Internationalization functions): Add mbslen.
71479
71480 2007-02-11  Bruno Haible  <bruno@clisp.org>
71481
71482         Ensure O(n) worst-case complexity of strcasestr substitute.
71483         * lib/strcasestr.c: Include stdbool.h.
71484         (knuth_morris_pratt): New function.
71485         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
71486         bookkeeping indicates that it's worth it.
71487         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
71488
71489         * modules/strcasestr-tests: New file.
71490         * tests/test-strcasestr.c: New file.
71491
71492 2007-02-11  Bruno Haible  <bruno@clisp.org>
71493
71494         Ensure O(n) worst-case complexity of c_strcasestr.
71495         * lib/c-strcasestr.c: Include stdbool.h, string.h.
71496         (knuth_morris_pratt): New function.
71497         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
71498         the bookkeeping indicates that it's worth it.
71499         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
71500
71501         * modules/c-strcasestr-tests: New file.
71502         * tests/test-c-strcasestr.c: New file.
71503
71504 2007-02-11  Bruno Haible  <bruno@clisp.org>
71505
71506         Ensure O(n) worst-case complexity of c_strstr.
71507         * lib/c-strstr.c: Include stdbool.h, string.h.
71508         (knuth_morris_pratt): New function.
71509         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
71510         bookkeeping indicates that it's worth it.
71511         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
71512
71513         * lib/c-strstr.c: Complete rewrite for maintainability.
71514
71515         * modules/c-strstr-tests: New file.
71516         * tests/test-c-strstr.c: New file.
71517
71518 2007-02-11  Bruno Haible  <bruno@clisp.org>
71519
71520         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
71521         5.2.1 and earlier, whereby \055 was treated just like the range
71522         delimiter '-'.
71523         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
71524
71525 2007-02-08  Bruno Haible  <bruno@clisp.org>
71526
71527         * modules/regex (Depends-on): Add stdbool.
71528         Reported by Dalibor Topic <robilad@kaffe.org>.
71529
71530 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
71531
71532         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
71533         Prefer returning from main to exiting from it.
71534         Remove unnecessary parens after sizeof.
71535
71536 2007-02-05  Bruno Haible  <bruno@clisp.org>
71537
71538         New module mbssep.
71539         * modules/mbssep: New file.
71540         * lib/mbssep.c: New file.
71541         * lib/string_.h (strsep): Add a conditional link warning.
71542         (mbssep): New declaration.
71543         * m4/mbssep.m4: New file.
71544         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71545         GNULIB_MBSSEP.
71546         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
71547         * MODULES.html.sh (Internationalization functions): Add mbssep.
71548
71549 2007-02-05  Bruno Haible  <bruno@clisp.org>
71550
71551         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
71552         Optimize search in case of 1 delimiter.
71553
71554 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
71555
71556         * lib/acl.h: Include sys/types.h before sys/acl.h.
71557
71558 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
71559
71560         Merge upstream fix for glibc bugzilla #3957:
71561
71562         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
71563
71564         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
71565         bit for RE_HAT_LISTS_NOT_NEWLINE.
71566         (build_charclass_op): Remove bogus comment.
71567
71568 2007-02-05  Simon Josefsson  <simon@josefsson.org>
71569
71570         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
71571
71572 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71573
71574         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
71575         * lib/memmem.c [!defined _LIBC]: Include config.h.
71576
71577 2007-02-04  Bruno Haible  <bruno@clisp.org>
71578
71579         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
71580         warning message.
71581
71582 2007-02-04  Bruno Haible  <bruno@clisp.org>
71583
71584         New module mbstok_r.
71585         * modules/mbstok_r: New file.
71586         * lib/mbstok_r.c: New file.
71587         * lib/string_.h (strtok_r): Change argument names to match the
71588         comments. Add a conditional link warning.
71589         (mbstok_r): New declaration.
71590         * m4/mbstok_r.m4: New file.
71591         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71592         GNULIB_MBSTOK_R.
71593         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
71594         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
71595
71596 2007-02-04  Bruno Haible  <bruno@clisp.org>
71597
71598         New module mbsspn.
71599         * modules/mbsspn: New file.
71600         * lib/mbsspn.c: New file.
71601         * lib/string_.h (strspn): Add a conditional link warning.
71602         (mbsspn): New declaration.
71603         * m4/mbsspn.m4: New file.
71604         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71605         GNULIB_MBSSPN.
71606         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
71607         * MODULES.html.sh (Internationalization functions): Add mbsspn.
71608
71609 2007-02-04  Bruno Haible  <bruno@clisp.org>
71610
71611         New module mbspbrk.
71612         * modules/mbspbrk: New file.
71613         * lib/mbspbrk.c: New file.
71614         * lib/string_.h (strpbrk): Add a conditional link warning.
71615         (mbspbrk): New declaration.
71616         * m4/mbspbrk.m4: New file.
71617         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71618         GNULIB_MBSPBRK.
71619         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
71620         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
71621
71622 2007-02-04  Bruno Haible  <bruno@clisp.org>
71623
71624         New module mbscspn.
71625         * modules/mbscspn: New file.
71626         * lib/mbscspn.c: New file.
71627         * lib/string_.h (strcspn): Add a conditional link warning.
71628         (mbscspn): New declaration.
71629         * m4/mbscspn.m4: New file.
71630         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71631         GNULIB_MBSCSPN.
71632         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
71633         * MODULES.html.sh (Internationalization functions): Add mbscspn.
71634
71635 2007-02-04  Bruno Haible  <bruno@clisp.org>
71636
71637         New module mbscasestr, reduced goal of strcasestr.
71638         * modules/mbscasestr: New file.
71639         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
71640         (mbscasestr): Renamed from strcasestr.
71641         * lib/strcasestr.c: Don't include mbuiter.h.
71642         (strcasestr): Remove support for multibyte locales.
71643         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
71644         Change the conditional link warning.
71645         (mbscasestr): New declaration.
71646         * m4/mbscasestr.m4: New file.
71647         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
71648         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
71649         REPLACE_STRCASESTR.
71650         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
71651         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71652         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71653         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
71654         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
71655         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71656         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
71657         (Depends-on): Remove mbuiter.
71658         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
71659
71660 2007-02-04  Bruno Haible  <bruno@clisp.org>
71661
71662         Simplify handling of strncasecmp.
71663         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
71664         the conditional link warning.
71665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71666         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
71667         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
71668         * modules/strcase (configure.ac): Don't invoke
71669         gl_STRING_MODULE_INDICATOR.
71670         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
71671
71672 2007-02-04  Bruno Haible  <bruno@clisp.org>
71673
71674         New module mbscasecmp, reduced goal of strcasecmp.
71675         * modules/mbscasecmp: New file.
71676         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
71677         (mbscasecmp): Renamed from strcasecmp.
71678         * lib/strcasecmp.c: Don't include mbuiter.h.
71679         (strcasecmp): Remove support for multibyte locales.
71680         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
71681         Change the conditional link warning.
71682         (mbscasecmp): New declaration.
71683         * m4/mbscasecmp.m4: New file.
71684         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
71685         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
71686         REPLACE_STRCASECMP.
71687         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
71688         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71689         GNULIB_MBSCASECMP.
71690         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
71691         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
71692         * modules/strcase (Files): Remove m4/mbrtowc.m4.
71693         (Depends-on): Remove mbuiter.
71694         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
71695
71696 2007-02-04  Bruno Haible  <bruno@clisp.org>
71697
71698         New module mbsstr. Remove module strstr.
71699         * modules/mbsstr: New file.
71700         * modules/strstr: Remove file.
71701         * lib/mbsstr.c: Renamed from lib/strstr.c.
71702         (mbsstr): Renamed from strstr.
71703         * lib/string_.h (strstr): Remove declaration. Change the conditional
71704         link warning.
71705         (mbsstr): New declaration.
71706         * m4/mbsstr.m4: New file.
71707         * m4/strstr.m4: Remove file.
71708         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
71709         REPLACE_STRSTR.
71710         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
71711         Don't initialize GNULIB_STRSTR.
71712         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
71713         substitute GNULIB_STRSTR and REPLACE_STRSTR.
71714         * MODULES.html.sh (Internationalization functions): Add mbsstr.
71715         (Support for systems lacking ANSI C 89): Remove strstr.
71716
71717 2007-02-04  Bruno Haible  <bruno@clisp.org>
71718
71719         New module mbsrchr.
71720         * modules/mbsrchr: New file.
71721         * lib/mbsrchr.c: New file.
71722         * lib/string_.h (strrchr): Add a conditional link warning.
71723         (mbsrchr): New declaration.
71724         * m4/mbsrchr.m4: New file.
71725         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71726         GNULIB_MBSRCHR.
71727         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
71728         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
71729
71730 2007-02-04  Bruno Haible  <bruno@clisp.org>
71731
71732         New module mbschr.
71733         * modules/mbschr: New file.
71734         * lib/mbschr.c: New file.
71735         * lib/string_.h (strchr): Add a conditional link warning.
71736         (mbschr): New declaration.
71737         * m4/mbschr.m4: New file.
71738         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71739         GNULIB_MBSCHR.
71740         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
71741         * MODULES.html.sh (Internationalization functions): Add mbschr.
71742
71743 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71744
71745         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
71746
71747         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
71748
71749 2007-02-04  Bruno Haible  <bruno@clisp.org>
71750
71751         New module description section 'configure.ac-early'.
71752         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
71753         (func_get_autoconf_early_snippet): New function.
71754         (func_import, func_create_testdir): Use it. Remove special cases for
71755         modules 'extensions' and 'lock'.
71756         * modules/extensions (configure.ac-early): Require
71757         gl_USE_SYSTEM_EXTENSIONS.
71758         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
71759
71760 2007-02-04  Bruno Haible  <bruno@clisp.org>
71761
71762         Make use of gcj-4.3's -fsource and -ftarget option.
71763         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
71764         and if so try the options -fsource and -ftarget.
71765         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
71766         source_version, ftarget_option, target_version arguments.
71767         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
71768         (is_envjavac_oldgcj_14_14_usable): Renamed from
71769         is_envjavac_gcj_14_14_usable.
71770         (is_envjavac_oldgcj_14_13_usable): Renamed from
71771         is_envjavac_gcj_14_13_usable.
71772         (is_gcj_present): Update.
71773         (is_gcj_43, is_gcj43_usable): New functions.
71774         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
71775         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
71776         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
71777         try the options -fsource and -ftarget.
71778
71779 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71780
71781         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
71782         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
71783         larger value.
71784
71785 2007-02-03  Jim Meyering  <jim@meyering.net>
71786
71787         Give tools a better chance to allocate space for very large buffers.
71788         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
71789
71790         Make pwd and readlink work also when run with an unreadable parent dir
71791         on systems with openat support.
71792         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
71793         provided getcwd function, even when we have openat support.
71794         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
71795
71796 2007-02-02  Bruno Haible  <bruno@clisp.org>
71797
71798         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71799         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
71800         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
71801         portability problems if one of these functions is only used on specific
71802         platforms.
71803         Reported by Paul Eggert.
71804
71805 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
71806
71807         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
71808         is causing more trouble than it's curing.
71809         * lib/regex_internal.h (__mempcpy): Remove.
71810         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
71811         (and make the code a tad smaller to boot).
71812         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
71813
71814 2007-02-02  Jim Meyering  <jim@meyering.net>
71815
71816         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
71817         section, not in the Makefile.am: one.
71818
71819 2007-02-02  Eric Blake  <ebb9@byu.net>
71820
71821         * lib/strchrnul.c: Always include config.h first.
71822
71823         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
71824         gnulib strstr is not necessary here.
71825
71826 2007-02-02  Simon Josefsson  <simon@josefsson.org>
71827
71828         * m4/socklen.m4: Fix typo.
71829
71830 2007-02-02  Eric Blake  <ebb9@byu.net>
71831
71832         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
71833         * modules/netinet_in (Makefile.am): Likewise.
71834
71835 2007-02-01  Bruno Haible  <bruno@clisp.org>
71836
71837         * lib/string_.h (GL_LINK_WARNING): New macro.
71838         (strcasecmp, strstr, strcasestr): If provided by the system,
71839         conditionally define as a macro that leads to a warning instead of to
71840         an error.
71841         (strncasecmp): Conditionally define as a macro that leads to a warning.
71842
71843 2007-02-01  Karl Berry  <karl@gnu.org>
71844
71845         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
71846
71847 2007-02-01  Bruno Haible  <bruno@clisp.org>
71848
71849         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
71850         renamings.
71851
71852 2007-02-01  Eric Blake  <ebb9@byu.net>
71853
71854         * modules/regex (Depends-on): Revert dependence on mempcpy.
71855         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
71856         module's definition of mempcpy.
71857         Reported by Paul Eggert.
71858
71859 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71860
71861         * lib/string_.h: If the gnulib module XYZ is not present, undefine
71862         the symbol XYZ before redefining it.  This fixes a problem with
71863         programs that don't use XYZ, when compiled on systems that define
71864         XYZ to something else.
71865
71866 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
71867
71868         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
71869         occurs when "mkdir -m foo" creates a setgid directory that is (1)
71870         writeable to group or other and (2) is intended to have a special
71871         mode bit that is set or cleared.  In such a case, the directory
71872         should be neither group- nor other-writeable until the special
71873         mode bits are right.
71874
71875 2007-01-31  Eric Blake  <ebb9@byu.net>
71876
71877         * modules/mountlist (Depends-on): Add strstr.
71878
71879         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
71880         bug.
71881         * modules/string (Makefile.am): Remove redundant replacement.
71882         * modules/regex (Depends-on): Add mempcpy.
71883
71884 2007-01-31  Bruno Haible  <bruno@clisp.org>
71885
71886         New module description field 'Link'.
71887         * gnulib-tool (func_usage): Document --extract-link-directive.
71888         (sed_extract_prog): Recognize 'Link' directive.
71889         (func_get_link_directive): New function.
71890         (func_import): Show summary of link directives.
71891         Handle --extract-link-directive option.
71892         * modules/acl (Link): New section.
71893         * modules/clock-time (Link): New section.
71894         * modules/euidaccess (Link): New section.
71895         * modules/gettext (Link): New section.
71896         * modules/iconv (Link): New section.
71897         * modules/lock (Link): New section.
71898         * modules/nanosleep (Link): New section.
71899         * modules/readline (Link): New section.
71900
71901 2007-01-27  Bruno Haible  <bruno@clisp.org>
71902
71903         Enforce the use of gnulib modules for unportable <string.h> functions.
71904         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
71905         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
71906         (gl_HEADER_STRING_H_BODY): Require it.
71907         * lib/string_.h: If the gnulib module XYZ is not present, redefine
71908         the symbol XYZ to one that gives a link error.
71909         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
71910         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
71911         * modules/mempcpy (configure.ac): Likewise.
71912         * modules/memrchr (configure.ac): Likewise.
71913         * modules/stpcpy (configure.ac): Likewise.
71914         * modules/stpncpy (configure.ac): Likewise.
71915         * modules/strcase (configure.ac): Likewise.
71916         * modules/strcasestr (configure.ac): Likewise.
71917         * modules/strchrnul (configure.ac): Likewise.
71918         * modules/strdup (configure.ac): Likewise.
71919         * modules/strndup (configure.ac): Likewise.
71920         * modules/strnlen (configure.ac): Likewise.
71921         * modules/strpbrk (configure.ac): Likewise.
71922         * modules/strsep (configure.ac): Likewise.
71923         * modules/strstr (configure.ac): Likewise.
71924         * modules/strtok_r (configure.ac): Likewise.
71925
71926 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
71927
71928         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
71929
71930 2007-01-30  Jim Meyering  <jim@meyering.net>
71931
71932         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
71933
71934 2007-01-29  Bruno Haible  <bruno@clisp.org>
71935
71936         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
71937         * lib/execute.c: Likewise.
71938         * lib/pipe.c: Likewise.
71939         * lib/printf-args.h: Likewise.
71940         * lib/printf-args.c: Likewise.
71941         * lib/printf-parse.c: Likewise.
71942         * lib/vasnprintf.c: Likewise.
71943
71944 2007-01-29  Eric Blake  <ebb9@byu.net>
71945
71946         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
71947         declaration.
71948
71949 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
71950
71951         * lib/strptime.h (strptime): Use 'restrict' for args where
71952         POSIX requires this.
71953         * lib/strptime.c (strptime): Likewise.
71954         Change license notice from LGPL to GPL, since gnulib-tool will
71955         change this as needed.
71956         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
71957         defined.
71958         Include "strptime.h" first, to check interface.
71959         Do not #undef _LIBC and _NL_CURRENT.
71960         Do not include <stdlib.h>; no longer needed.
71961         Include "time_r.h" and declare ptime_locale_status
71962         only if _LIBC is not defined.
71963         (__P): Remove unused macro.
71964         (match_string): Bring back glibc version, but use it only if _LIBC
71965         is defined.
71966         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
71967         Remove unnecessary assertion and abort() call.
71968         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
71969         * m4/strptime.m4: Fix serial number comment.
71970         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
71971         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
71972         (Depends-on): Add time_r.
71973
71974 2007-01-29  Bruno Haible  <bruno@clisp.org>
71975
71976         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71977         strptime.
71978         * modules/strptime (Depends-on): Add stdbool.
71979         * lib/strptime.h: Include <time.h> always. Add comments.
71980
71981 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71982
71983         * modules/strptime: New file.
71984         * lib/strptime.h: New file.
71985         * lib/strptime.c: New file.
71986         * m4/strptime.m4: New file.
71987
71988 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71989
71990         * MODULES.html.sh: New module mpsort.
71991         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
71992
71993         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
71994         a circularity problem with HP-UX ia64 reported by Bob Proulx in
71995         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
71996         All uses changed.
71997         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
71998         All uses changed.
71999         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
72000         to _Restrict_.
72001         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
72002         the parameter matches the prototype.
72003
72004 2007-01-28  Jim Meyering  <jim@meyering.net>
72005
72006         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
72007         sys/time.h here, reverting that part of the previous patch:
72008         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
72009
72010 2007-01-28  Bruno Haible  <bruno@clisp.org>
72011
72012         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
72013         value of $(SYS_TIME_H).
72014         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
72015         remove it conditionally, too. [added by Jim Meyering]
72016         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
72017         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
72018         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
72019         GETTIMEOFDAY_REPLACEMENT to 1.
72020
72021 2007-01-28  Bruno Haible  <bruno@clisp.org>
72022
72023         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
72024         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
72025         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
72026         Set UNISTD_H instead of UNISTD_H2.
72027         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
72028
72029 2007-01-28  Bruno Haible  <bruno@clisp.org>
72030
72031         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
72032         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
72033
72034 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72035
72036         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
72037         (func_create_testdir): Ensure C locale for `grep' and `tr'
72038         character ranges.
72039         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
72040         ACLOCAL_AMFLAGS parsing state machine.
72041
72042 2007-01-27  Bruno Haible  <bruno@clisp.org>
72043
72044         * modules/unistr/base: Update.
72045
72046 2007-01-27  Bruno Haible  <bruno@clisp.org>
72047
72048         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
72049         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
72050         * modules/unistr/u32-mbtouc-unsafe: Renamed from
72051         modules/unistr/u32-mbtouc.
72052         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
72053         * lib/unistr.h: Update.
72054         * lib/linebreak.c: Update.
72055         * modules/unistr/u32-mbtouc: Renamed from
72056         modules/unistr/u32-mbtouc-safe.
72057         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
72058         * lib/unistr.h: Update.
72059         * lib/unistr/u32-to-u8.c: Update.
72060         * lib/unistr/u32-to-u16.c: Update.
72061
72062 2007-01-27  Bruno Haible  <bruno@clisp.org>
72063
72064         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
72065         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
72066         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
72067         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
72068         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
72069         * modules/unistr/u16-mbtouc-unsafe: Renamed from
72070         modules/unistr/u16-mbtouc.
72071         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
72072         * lib/unistr.h: Update.
72073         * lib/linebreak.c: Update.
72074         * modules/linebreak: Update.
72075         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
72076         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
72077         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
72078         * modules/unistr/u16-mbtouc: Renamed from
72079         modules/unistr/u16-mbtouc-safe.
72080         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
72081         * lib/unistr.h: Update.
72082         * lib/unistr/u16-to-u8.c: Update.
72083         * modules/unistr/u16-to-u8: Update.
72084         * lib/unistr/u16-to-u32.c: Update.
72085         * modules/unistr/u16-to-u32: Update.
72086
72087 2007-01-27  Bruno Haible  <bruno@clisp.org>
72088
72089         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
72090         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
72091         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
72092         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
72093         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
72094         * modules/unistr/u8-mbtouc-unsafe: Renamed from
72095         modules/unistr/u8-mbtouc.
72096         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
72097         * lib/unistr.h: Update.
72098         * lib/striconveh.c: Update.
72099         * modules/striconveh: Update.
72100         * lib/linebreak.c: Update.
72101         * modules/linebreak: Update.
72102         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
72103         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
72104         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
72105         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
72106         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
72107         * lib/unistr.h: Update.
72108         * lib/striconveh.c: Update.
72109         * modules/striconveh: Update.
72110         * lib/unistr/u8-to-u16.c: Update.
72111         * modules/unistr/u8-to-u16: Update.
72112         * lib/unistr/u8-to-u32.c: Update.
72113         * modules/unistr/u8-to-u32: Update.
72114
72115 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72116
72117         Sync from Libtool.
72118         * lib/argz.c: Do not include strings.h nor memory.h, include
72119         string.h unconditionally.  Patch by Simon Josefsson.
72120
72121 2007-01-27  Bruno Haible  <bruno@clisp.org>
72122
72123         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
72124         from gl_HEADER_STRING_H_BODY.
72125         (gl_HEADER_STRING_H_BODY): Require it.
72126         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
72127         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
72128         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
72129         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
72130         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
72131         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
72132         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
72133         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
72134         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
72135         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
72136         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
72137         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
72138         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
72139         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
72140         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72141
72142 2007-01-27  Bruno Haible  <bruno@clisp.org>
72143
72144         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
72145         check_PROGRAMS into noinst_PROGRAMS.
72146         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
72147         check_PROGRAMS in this case.
72148         (func_import): Set for_test to false.
72149         (func_create_testdir): Set for_test to true.
72150
72151 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72152             Bruno Haible  <bruno@clisp.org>
72153
72154         * modules/strcasestr (Files): Remove lib/strcasestr.h.
72155         (Depends-on): Add string.
72156         (Includes): Use <string.h> instead of strcasestr.h.
72157         * modules/string (Makefile.am): Also substitute the value of
72158         REPLACE_STRCASESTR.
72159         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
72160         assume strcasestr is declared in <string.h> not <strings.h>. Also
72161         set REPLACE_STRCASESTR.
72162         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
72163         REPLACE_STRCASESTR.
72164         * lib/strcasestr.h: Remove file.
72165         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
72166         * lib/string_.h (strcasestr): New declaration.
72167
72168 2007-01-27  Bruno Haible  <bruno@clisp.org>
72169
72170         * lib/string_.h: Use 'extern'.
72171
72172 2007-01-27  Jim Meyering  <jim@meyering.net>
72173
72174         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
72175         of set-but-not-used local, "q".
72176
72177         * lib/mempcpy.c: Include <config.h> before <string.h>.
72178         This fixes a compilation error on HP-UX, due to the system's
72179         "restrict"-using mempcpy prototype.
72180
72181 2007-01-26  Bruno Haible  <bruno@clisp.org>
72182
72183         Small optimization.
72184         * lib/javacomp.c: Include c-strstr.h.
72185          (is_envjavac_gcj): Use c_strstr instead of strstr.
72186         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
72187
72188 2007-01-26  Bruno Haible  <bruno@clisp.org>
72189
72190         * MODULES.html.sh (Unicode string functions): Add the new modules.
72191
72192         * modules/uniconv/u32-strconv-to-locale: New file.
72193         * lib/uniconv/u32-strconv-to-locale.c: New file.
72194
72195         * modules/uniconv/u16-strconv-to-locale: New file.
72196         * lib/uniconv/u16-strconv-to-locale.c: New file.
72197
72198         * modules/uniconv/u8-strconv-to-locale: New file.
72199         * lib/uniconv/u8-strconv-to-locale.c: New file.
72200
72201         * modules/uniconv/u32-strconv-from-locale: New file.
72202         * lib/uniconv/u32-strconv-from-locale.c: New file.
72203
72204         * modules/uniconv/u16-strconv-from-locale: New file.
72205         * lib/uniconv/u16-strconv-from-locale.c: New file.
72206
72207         * modules/uniconv/u8-strconv-from-locale: New file.
72208         * lib/uniconv/u8-strconv-from-locale.c: New file.
72209
72210         * modules/uniconv/u32-strconv-to-enc: New file.
72211         * lib/uniconv/u32-strconv-to-enc.c: New file.
72212         * modules/uniconv/u32-strconv-to-enc-tests: New file.
72213         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
72214
72215         * modules/uniconv/u16-strconv-to-enc: New file.
72216         * lib/uniconv/u16-strconv-to-enc.c: New file.
72217         * lib/uniconv/u-strconv-to-enc.h: New file.
72218         * modules/uniconv/u16-strconv-to-enc-tests: New file.
72219         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
72220
72221         * modules/uniconv/u8-strconv-to-enc: New file.
72222         * lib/uniconv/u8-strconv-to-enc.c: New file.
72223         * modules/uniconv/u8-strconv-to-enc-tests: New file.
72224         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
72225
72226         * modules/uniconv/u32-strconv-from-enc: New file.
72227         * lib/uniconv/u32-strconv-from-enc.c: New file.
72228         * modules/uniconv/u32-strconv-from-enc-tests: New file.
72229         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
72230
72231         * modules/uniconv/u16-strconv-from-enc: New file.
72232         * lib/uniconv/u16-strconv-from-enc.c: New file.
72233         * modules/uniconv/u16-strconv-from-enc-tests: New file.
72234         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
72235
72236         * modules/uniconv/u8-strconv-from-enc: New file.
72237         * lib/uniconv/u8-strconv-from-enc.c: New file.
72238         * lib/uniconv/u-strconv-from-enc.h: New file.
72239         * modules/uniconv/u8-strconv-from-enc-tests: New file.
72240         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
72241
72242         * modules/uniconv/u32-conv-from-enc: New file.
72243         * lib/uniconv/u32-conv-from-enc.c: New file.
72244         * modules/uniconv/u32-conv-from-enc-tests: New file.
72245         * tests/uniconv/test-u32-conv-from-enc.c: New file.
72246
72247         * modules/uniconv/u16-conv-from-enc: New file.
72248         * lib/uniconv/u16-conv-from-enc.c: New file.
72249         * lib/uniconv/u-conv-from-enc.h: New file.
72250         * modules/uniconv/u16-conv-from-enc-tests: New file.
72251         * tests/uniconv/test-u16-conv-from-enc.c: New file.
72252
72253         * modules/uniconv/u8-conv-from-enc: New file.
72254         * lib/uniconv/u8-conv-from-enc.c: New file.
72255         * modules/uniconv/u8-conv-from-enc-tests: New file.
72256         * tests/uniconv/test-u8-conv-from-enc.c: New file.
72257
72258         * modules/uniconv/base: New file.
72259         * lib/uniconv.h: New file.
72260
72261 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72262
72263         * doc/gnulib-tool.texi (Initial import): Update to match current
72264         behavior with strdup module.
72265         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
72266         * lib/memmem.h: Remove; all uses removed.  This is now done
72267         by <string.h>.
72268         * lib/mempcpy.h: Likewise.
72269         * lib/memrchr.h: Likewise.
72270         * lib/stpcpy.h: Likewise.
72271         * lib/stpncpy.h: Likewise.
72272         * lib/strcase.h: Likewise.
72273         * lib/strchrnul.h: Likewise.
72274         * lib/strdup.h: Likewise.
72275         * lib/strndup.h: Likewise.
72276         * lib/strnlen.h: Likewise.
72277         * lib/strpbrk.h: Likewise.
72278         * lib/strsep.h: Likewise.
72279         * lib/strstr.h: Likewise.
72280         * lib/strtok_r.h: Likewise.
72281         * lib/string_.h: New file.
72282         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
72283         Rely on <string.h> instead.
72284         * lib/canon-host.c: Likewise.
72285         * lib/chdir-long.c: Likewise.
72286         * lib/concatpath.c: Likewise.
72287         * lib/exclude.c: Likewise.
72288         * lib/fchdir.c: Likewise.
72289         * lib/getaddrinfo.c: Likewise.
72290         * lib/getcwd.c: Likewise.
72291         * lib/getsubopt.c: Likewise.
72292         * lib/glob.c: Likewise.
72293         * lib/hard-locale.c: Likewise.
72294         * lib/iconvme.c: Likewise.
72295         * lib/javacomp.c: Likewise.
72296         * lib/mempcpy.c: Likewise.
72297         * lib/memrchr.c: Likewise.
72298         * lib/regex_internal.h: Likewise.
72299         * lib/stpncpy.c: Likewise.
72300         * lib/strcasecmp.c: Likewise.
72301         * lib/strchrnul.c: Likewise.
72302         * lib/strdup.c: Likewise.
72303         * lib/striconv.c: Likewise.
72304         * lib/striconveh.c: Likewise.
72305         * lib/striconveha.c: Likewise.
72306         * lib/strncasecmp.c: Likewise.
72307         * lib/strndup.c: Likewise.
72308         * lib/strnlen.c: Likewise.
72309         * lib/strsep.c: Likewise.
72310         * lib/strstr.c: Likewise.
72311         * lib/strtok_r.c: Likewise.
72312         * lib/userspec.c: Likewise.
72313         * lib/w32spawn.h: Likewise.
72314         * lib/xstrndup.c: Likewise.
72315         * lib/mountlist.c (strstr): Remove decl.
72316         * m4/string_h.m4: New file.
72317         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
72318         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
72319         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
72320         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
72321         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
72322         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
72323         Set REPLACE_STRCASECMP if necessary.
72324         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
72325         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
72326         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
72327         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
72328         HAVE_DECL_STRDUP if necessary.
72329         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
72330         since gl_FUNC_STRNDUP does that now.
72331         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
72332         Check for decl here...
72333         (gl_PREREQ_STRNLEN): ... not here.
72334         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
72335         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
72336         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
72337         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
72338         necessary.
72339         * modules/string: New file.
72340         * modules/memmem (Files): Remove special-purpose include file.
72341         (Depends-on): Add string.
72342         (Include): Include <string.h>, not the removed file.
72343         * modules/mempcpy: Likewise.
72344         * modules/memrchr: Likewise.
72345         * modules/stpcpy: Likewise.
72346         * modules/stpncpy: Likewise.
72347         * modules/strcase: Likewise.
72348         * modules/strchrnul: Likewise.
72349         * modules/strdup: Likewise.
72350         * modules/strndup: Likewise.
72351         * modules/strnlen: Likewise.
72352         * modules/strpbrk: Likewise.
72353         * modules/strsep: Likewise.
72354         * modules/strstr: Likewise.
72355         * modules/strtok_r: Likewise.
72356         * tests/test-dirname.c: Don't include "strdup.h", since
72357         <string.h> now suffices.
72358         * tests/test-memmem.c: Don't include "memmem.h", since
72359         <string.h> now suffices.
72360
72361 2007-01-25  Bruno Haible  <bruno@clisp.org>
72362
72363         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
72364         *resultp is 0.
72365
72366         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
72367         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
72368         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
72369         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
72370
72371         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
72372         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
72373         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
72374         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
72375         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
72376         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
72377
72378 2007-01-24  Bruno Haible  <bruno@clisp.org>
72379
72380         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
72381         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
72382         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
72383         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
72384         gl_FUNC_FTS_CORE.
72385         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
72386         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
72387         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72388         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
72389         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
72390         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
72391         gl_FUNC_FCHOWNAT.
72392         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
72393         gl_FUNC_STRFTIME.
72394         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
72395         Reported by Ralf Wildenhues.
72396
72397 2007-01-24  Bruno Haible  <bruno@clisp.org>
72398
72399         Drop AC_REQUIRE calls that are redundant with the module dependencies.
72400         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
72401         gl_GETADDRINFO.
72402         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
72403         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
72404         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
72405
72406 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
72407
72408         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
72409         Don't use 'exit'; just return from 'main'.
72410         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
72411
72412         * lib/fnmatch_.h: Readjust white space and comments to match
72413         glibc, to avoid spurious diffs.
72414
72415 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72416
72417         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
72418         2004-12-01 change by Jakub Jelinek, since this code won't compile
72419         if !LIBC.  Problem reported by Bob Proulx.
72420
72421 2007-01-23  Bruno Haible  <bruno@clisp.org>
72422
72423         * lib/striconveh.c: Include c-strcaseeq.h.
72424         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
72425         * modules/striconveh (Depends-on): Add c-strcaseeq.
72426
72427 2007-01-23  Bruno Haible  <bruno@clisp.org>
72428
72429         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
72430
72431         * modules/c-strcaseeq: New file.
72432         * lib/c-strcaseeq.h: New file.
72433
72434         * modules/streq: New file.
72435         * lib/streq.h: New file.
72436
72437 2007-01-23  Bruno Haible  <bruno@clisp.org>
72438
72439         * modules/striconveha-tests: New file.
72440         * tests/test-striconveha.c: New file.
72441
72442         * lib/striconveha.h: Include <stdbool.h>.
72443         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
72444         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
72445         (mem_iconveha_notranslit): Renamed from mem_iconveha.
72446         (mem_iconveha): New function.
72447         (str_iconveha_notranslit): Renamed from str_iconveha.
72448         (str_iconveha): New function.
72449         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
72450         c-strcase.
72451
72452 2007-01-23  Bruno Haible  <bruno@clisp.org>
72453
72454         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
72455         encodings without forgiving before trying any encoding with handler.
72456         (str_iconveha): Try all encodings without forgiving before trying any
72457         encoding with handler.
72458
72459 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72460
72461         Import the following changes from libc.
72462
72463         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
72464
72465         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
72466
72467         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
72468
72469         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
72470         normal_bracket label.
72471
72472         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
72473
72474         [BZ #361]
72475         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
72476         to normal_bracket after fetching the next character.
72477
72478 2007-01-22  Bruno Haible  <bruno@clisp.org>
72479
72480         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
72481         argument.
72482         * lib/striconveh.c (iconv_carefully_1): New function.
72483         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
72484         argument.
72485         (str_cd_iconveh): Update.
72486         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
72487         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
72488         * tests/test-striconveh.c (MAGIC): New macro.
72489         (new_offsets): New function.
72490         (main): Test call with and without offsets.
72491
72492 2007-01-22  Bruno Haible  <bruno@clisp.org>
72493
72494         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
72495         * modules/sys_select (Makefile.am): Likewise.
72496         * modules/sys_socket (Makefile.am): Likewise.
72497         * modules/sys_time (Makefile.am): Likewise.
72498
72499 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
72500
72501         * modules/gettimeofday (License): Change from GPL to LGPL, since
72502         gettimeofday is a library function.
72503
72504 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72505
72506         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
72507
72508 2007-01-21  Bruno Haible  <bruno@clisp.org>
72509
72510         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
72511
72512 2007-01-21  Bruno Haible  <bruno@clisp.org>
72513
72514         * modules/striconveha: New file.
72515         * lib/striconveha.h: New file.
72516         * lib/striconveha.c: New file.
72517         * MODULES.html.sh (Internationalization functions): Add striconveha.
72518         * lib/striconv.c (str_iconv): Optimize the case of an empty input
72519         string.
72520         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
72521
72522 2007-01-21  Bruno Haible  <bruno@clisp.org>
72523
72524         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
72525         * lib/striconveh.c (str_iconveh): Likewise.
72526
72527 2007-01-21  Bruno Haible  <bruno@clisp.org>
72528
72529         * lib/striconveh.h (mem_iconveh): New declaration.
72530         * lib/striconveh.c (mem_iconveh): New function.
72531         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
72532
72533 2007-01-21  Bruno Haible  <bruno@clisp.org>
72534
72535         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
72536
72537         * lib/striconveh.h (mem_cd_iconveh): Change specification.
72538         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
72539         original result buffer.
72540         (str_cd_iconveh): Update.
72541         * tests/test-striconveh.c (main): Update.
72542
72543         * lib/striconv.h (mem_cd_iconv): Change specification.
72544         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
72545         result buffer.
72546         (str_cd_iconv): Update.
72547         * tests/test-striconv.c (main): Update.
72548
72549 2007-01-21  Bruno Haible  <bruno@clisp.org>
72550
72551         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
72552
72553 2007-01-20  Jim Meyering  <jim@meyering.net>
72554
72555         * lib/userspec.c (parse_with_separator): If a user or group string
72556         starts with "+", skip the corresponding name-to-ID look-up, since
72557         such a look-up must fail: user and group names may not include "+".
72558
72559 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
72560
72561         * lib/poll.c: Include sys/time.h and time.h unconditionally,
72562         since we now assume the sys_time module.
72563         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
72564         check for sys/time.h; no longer needed.
72565         * modules/poll (Depends-on): Depend on sys_time.
72566
72567 2007-01-18  Bruno Haible  <bruno@clisp.org>
72568
72569         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
72570         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
72571
72572         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
72573         gettimeofday.
72574
72575         * tests/test-gettimeofday.c: Include <time.h>.
72576         (dummy): Remove variable.
72577
72578         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
72579         gl_HEADER_SYS_TIME_H.
72580         (gl_HEADER_SYS_TIME_H): New macro.
72581
72582         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
72583         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72584         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
72585         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
72586         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72587         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
72588         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
72589         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72590         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
72591         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
72592         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72593
72594         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
72595         last change; it caused a compilation error when cross-compiling to
72596         Cygwin.
72597
72598 2007-01-18  Jim Meyering  <jim@meyering.net>
72599
72600         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
72601         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
72602         than the race-prone "test -d sys || mkdir sys".
72603         (configure.ac): Use AC_PROG_MKDIR_P.
72604         * modules/sys_select: Likewise.
72605         * modules/sys_socket: Likewise.
72606         * modules/sys_time: Likewise.
72607
72608 2007-01-18  Eric Blake  <ebb9@byu.net>
72609
72610         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
72611         replace gettimeofday.
72612         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
72613         name, to avoid infinite recursion.
72614
72615 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
72616
72617         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
72618         module sys_time.
72619         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
72620         assume timespec.h defines struct timeval.
72621         * lib/settime.c: Likewise.
72622         * lib/utimens.c: Likewise.
72623         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
72624         since we now assume the gettimeofday module.
72625         * lib/tempname.c (__gen_tempname): Likewise.
72626         * lib/gettimeofday.h: Remove.
72627         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
72628         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
72629         Include <time.h>, for 'time()'.
72630         (localtime_buffer_addr): Also use this workaround if
72631         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
72632         to simplify the uses.  All uses changed.
72633         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
72634         that #undef is inside {}, and 'const' follows type name consistently.
72635         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
72636         (gettimeofday): Do not use the maximum possible value for
72637         tv->tv_usec, since that might break usages other than ls.c.
72638         Instead, we'll leave ls.c alone.  This undoes today's patch
72639         by Bruno.  Add a compile-time warning for 1s-clock resolution;
72640         we've never observed the problem but might as well keep the
72641         canary.
72642         * lib/nanosleep.c: Include timespec.h first, for interface check.
72643         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
72644         now assume the sys_time module.
72645         * lib/tempname.c: Likewise.
72646         * lib/timespec.h: Likewise.
72647         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
72648         needed.
72649         * lib/strftime.c: Likewise.
72650         * lib/timespec.h: Likewise.
72651         * lib/posixtm.c: Include posixtm.h first, for interface check.
72652         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
72653         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
72654         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
72655         * lib/sys_time_.h: New file.
72656         * lib/timespec.h (struct timespec): Use long int, not long.
72657         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
72658         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
72659         Remove obsolescent call to AC_HEADER_TIME.
72660         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
72661         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72662         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
72663         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
72664         Likewise.
72665         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
72666         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
72667         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
72668         into the sys_time module.  Check for gettimeofday just once.
72669         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
72670         for gettimeofday signature to just check the signature.  Merely
72671         compile it, since linking doesn't test signature.  Improve test for
72672         whether gettimeofday.o is actually needed.
72673         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
72674         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
72675         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
72676         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72677         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
72678         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
72679         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
72680         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
72681         than worrying about sys/time.h.
72682         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72683         Don't bother worrying about TIME_WITH_SYS_TIME.
72684         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
72685         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
72686         * m4/sys_time_h.m4: New file.
72687         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
72688         Don't include sys/time.h.  Return from main rather than exiting.
72689         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
72690         all uses changed.
72691         * modules/gethrxtime (Depends-on): Add sys_time.
72692         * modules/gettime (Depends-on): Likewise.
72693         * modules/gettimeofday (Depends-on): Likewise.
72694         * modules/nanosleep (Depends-on): Likewise.
72695         * modules/settime (Depends-on): Likewise.
72696         * modules/tempname (Depends-on): Likewise.
72697         * modules/utimens (Depends-on): Likewise.
72698         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
72699         (Include): Change back to <sys/time.h>.
72700         (Maintainer): Add self.
72701         * modules/sys_time: New file.
72702         * modules/tempname (Depends-on): Add gettimeofday.
72703         * tests/test-gettimeofday.c: Include <sys/time.h>
72704         rather than gettimeofday.h.
72705
72706 2007-01-17  Bruno Haible  <bruno@clisp.org>
72707
72708         * gnulib-tool (func_get_license): Revert last patch. Instead, let
72709         the license default to GPL.
72710         (func_create_testdir): Don't complain if a module is LGPL and its
72711         tests module depends on GPLed modules.
72712
72713 2007-01-17  Bruno Haible  <bruno@clisp.org>
72714
72715         * lib/gettimeofday.c (gettimeofday): Add code for the case
72716         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
72717         maximum possible value for tv->tv_usec, rather than the minimum one.
72718
72719 2005-10-08  Martin Lambers  <marlam@marlam.de>
72720 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72721 2007-01-16  Bruno Haible  <bruno@clisp.org>
72722
72723         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
72724         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
72725         gl_FUNC_GETTIMEOFDAY.
72726         (Include): Add gettimeofday.h.
72727         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
72728         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
72729         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
72730         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
72731         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
72732         * lib/gettimeofday.h: New file.
72733         * lib/gettimeofday.c: Include <sys/timeb.h>.
72734         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
72735         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72736         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
72737         fall back on time().
72738
72739         * tests/test-gettimeofday.c: New file.
72740         * modules/gettimeofday-tests: New file.
72741
72742 2007-01-16  Eric Blake  <ebb9@byu.net>
72743
72744         * modules/fnmatch (Depends-on): Depend on wchar.
72745         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
72746         * m4/fnmatch.m4: Likewise.
72747         * modules/mbchar (Makefile.am): Assume <wchar.h>.
72748         * m4/mbchar.m4: Likewise.
72749         * modules/mbswidth (Depends-on): Depend on wchar.
72750         * lib/mbswidth.c: Assume <wchar.h>.
72751         * m4/mbswidth.m4: Likewise.
72752         * modules/quotearg (Depends-on): Depend on wchar.
72753         * lib/quotearg.c: Assume <wchar.h>.
72754         * m4/quotearg.m4: Likewise.
72755         * modules/regex (Depends-on): Depend on wchar.
72756         * lib/regex_internal.h: Assume <wchar.h>.
72757         * m4/regex.m4: Likewise.
72758         * modules/stdint (Depends-on): Depend on wchar.
72759         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
72760         * m4/stdint.m4: Likewise.
72761         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
72762         * modules/strftime (Depends-on): Depend on wchar.
72763         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
72764         * modules/strtol (Depends-on): Depend on wchar.
72765         * lib/strtol.c: Assume <wchar.h>.
72766         * modules/wcwidth (Depends-on): Depend on wchar.
72767         * lib/wcwidth.h: Assume <wchar.h>.
72768         * m4/wcwidth.m4: Likewise.
72769
72770 2007-01-16  Bruno Haible  <bruno@clisp.org>
72771
72772         * modules/csharpexec-script: New, created from...
72773         * modules/csharpexec: ... this.
72774
72775 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
72776
72777         * modules/javaexec-script: New, created from...
72778         * modules/javaexec: ... this.
72779
72780 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72781
72782         * modules/poll (Dependencies): Add sys_select.
72783
72784 2007-01-15  Jim Meyering  <jim@meyering.net>
72785
72786         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
72787         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
72788         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
72789         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
72790
72791 2007-01-15  Bruno Haible  <bruno@clisp.org>
72792
72793         * modules/striconveh: New file.
72794         * lib/striconveh.h: New file.
72795         * lib/striconveh.c: New file.
72796         * MODULES.html.sh (Internationalization functions): Add striconveh.
72797
72798         * modules/striconveh-tests: New file.
72799         * tests/test-striconveh.c: New file.
72800
72801 2007-01-15  Bruno Haible  <bruno@clisp.org>
72802
72803         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
72804         not from GNU libiconv or GNU libc.
72805
72806 2007-01-15  Bruno Haible  <bruno@clisp.org>
72807
72808         * doc/gnulib-intro.texi (Copyright): Explain the different license
72809         terms for module descriptions, autoconf macros, tests, documentation.
72810
72811 2007-01-14  Bruno Haible  <bruno@clisp.org>
72812
72813         * modules/striconv-tests: New file.
72814         * tests/test-striconv.c: New file.
72815
72816 2007-01-14  Bruno Haible  <bruno@clisp.org>
72817
72818         * modules/iconv-tests: New file.
72819         * tests/test-iconv.c: New file.
72820
72821 2007-01-14  Bruno Haible  <bruno@clisp.org>
72822
72823         * gnulib-tool (func_get_license): For test modules, use the license of
72824         the main module.
72825
72826 2007-01-14  Bruno Haible  <bruno@clisp.org>
72827
72828         * modules/iconv (Include): Clarify that <iconv.h> can only be included
72829         if iconv is found to exist.
72830
72831 2007-01-14  Bruno Haible  <bruno@clisp.org>
72832
72833         * modules/c-ctype-tests: New file.
72834         * tests/test-c-ctype.c: New file.
72835
72836 2007-01-14  Bruno Haible  <bruno@clisp.org>
72837
72838         * modules/binary-io-tests: New file.
72839         * tests/test-binary-io.sh: New file.
72840         * tests/test-binary-io.c: New file.
72841
72842 2007-01-14  Bruno Haible  <bruno@clisp.org>
72843
72844         * modules/array-oset-tests: New file.
72845         * tests/test-array_oset.c: New file.
72846
72847 2007-01-14  Bruno Haible  <bruno@clisp.org>
72848
72849         * modules/array-list-tests: New file.
72850         * tests/test-array_list.c: New file.
72851
72852 2007-01-14  Bruno Haible  <bruno@clisp.org>
72853
72854         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
72855         and make.
72856         Reported by Simon Josefsson in
72857         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
72858
72859 2007-01-14  Bruno Haible  <bruno@clisp.org>
72860
72861         * modules/allocsa-tests: New file.
72862         * tests/test-allocsa.c: New file.
72863
72864 2007-01-14  Bruno Haible  <bruno@clisp.org>
72865
72866         * modules/fchdir (Depends-on): Add absolute-header.
72867         * modules/unistd (Depends-on): Likewise.
72868
72869 2006-12-30  Bruno Haible  <bruno@clisp.org>
72870
72871         * modules/fchdir: New file.
72872         * modules/unistd (Files): Add lib/unistd_.h.
72873         (Makefile.am): Generate unistd.h from unistd_.h.
72874         * lib/fchdir.c: New file.
72875         * lib/dirent_.h: New file.
72876         * lib/unistd_.h: New file.
72877         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
72878         * m4/fchdir.m4: New file.
72879         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
72880         (gl_HEADER_UNISTD): Invoke it.
72881         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
72882         function.
72883         * lib/backupfile.c (opendir, closedir): Undefine.
72884         * lib/chown.c (open, close): Undefine.
72885         * lib/clean-temp.c (open, close): Undefine.
72886         * lib/copy-file.c (open, close): Undefine.
72887         * lib/execute.c (open, close): Undefine.
72888         * lib/fsusage.c (open, close): Undefine.
72889         * lib/gc-gnulib.c (open, close): Undefine.
72890         * lib/getcwd.c (opendir, closedir): Undefine.
72891         * lib/glob.c (opendir, closedir): Undefine.
72892         * lib/javacomp.c (open, close): Undefine.
72893         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
72894         * lib/openat-proc.c (open, close): Undefine.
72895         * lib/pagealign_alloc.c (open, close): Undefine.
72896         * lib/pipe.c (open, close): Undefine.
72897         * lib/progreloc.c (open, close): Undefine.
72898         * lib/savedir.c (opendir, closedir): Undefine.
72899         * lib/utime.c (open, close): Undefine.
72900         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
72901
72902 2007-01-10  Bruno Haible  <bruno@clisp.org>
72903
72904         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
72905
72906 2007-01-12  Eric Blake  <ebb9@byu.net>
72907
72908         Provide a robust <wchar.h>.  Further simplifications are now
72909         possible in other modules, but not included here.
72910         * modules/wchar: New module.
72911         * m4/wchar.m4: New file.
72912         * lib/wchar_.h: Likewise.
72913         * modules/mbchar (Depends-on): Depend on wchar, as the first use
72914         of the new module.
72915         * MODULES.html.sh (Extended multibyte and wide character utilities):
72916         New section.
72917
72918 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
72919
72920         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
72921         to a reasonable default for memory allocation.
72922         (xreadlink): Don't allocate a huge buffer, to work around a buggy
72923         file system that reports garbage st_size values for symlinks.
72924         Problem reported by Liyang Hu.
72925
72926 2007-01-11  Simon Josefsson  <simon@josefsson.org>
72927
72928         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
72929         Emacs .#* auto-save files).
72930
72931 2007-01-11  Bruno Haible  <bruno@clisp.org>
72932
72933         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
72934         directory.
72935
72936 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72937
72938         Use @...@ consistently in lib/wctype_.h.
72939         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
72940         on it being set to 1 or 0.
72941         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
72942         go back to AC_SUBSTing it.
72943         * modules/wctype (Makefile.am): Undo previous change.
72944
72945 2007-01-10  Eric Blake  <ebb9@byu.net>
72946
72947         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
72948         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
72949         * modules/wctype (Makefile.am): Likewise.
72950         Reported by Chris McGuire.
72951
72952 2007-01-10  Jim Meyering  <jim@meyering.net>
72953
72954         fts.c: a small readability/maintainability improvement
72955         * lib/fts.c (fts_read): Make this code slightly more readable and
72956         maintainable by hoisting the "sp->fts_cur = p" assignments to
72957         immediately follow the statements that set P.  Derived from
72958         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
72959
72960 2007-01-10  Eric Blake  <ebb9@byu.net>
72961
72962         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
72963         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
72964         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72965         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
72966         Reported by Chris McGuire.
72967
72968 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72969
72970         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
72971         in sed script.
72972
72973 2007-01-09  Bruno Haible  <bruno@clisp.org>
72974
72975         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
72976         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
72977         variables.
72978         (func_module): Use them.
72979
72980 2007-01-09  Bruno Haible  <bruno@clisp.org>
72981
72982         * modules/unistr/base: New file.
72983         * lib/unistr.h: New file.
72984
72985         * modules/unistr/u8-to-u16: New file.
72986         * lib/unistr/u8-to-u16.c: New file.
72987
72988         * modules/unistr/u8-to-u32: New file.
72989         * lib/unistr/u8-to-u32.c: New file.
72990
72991         * modules/unistr/u16-to-u8: New file.
72992         * lib/unistr/u16-to-u8.c: New file.
72993
72994         * modules/unistr/u16-to-u32: New file.
72995         * lib/unistr/u16-to-u32.c: New file.
72996
72997         * modules/unistr/u32-to-u8: New file.
72998         * lib/unistr/u32-to-u8.c: New file.
72999
73000         * modules/unistr/u32-to-u16: New file.
73001         * lib/unistr/u32-to-u16.c: New file.
73002
73003         * modules/unistr/u8-check: New file.
73004         * modules/unistr/u16-check: New file.
73005         * modules/unistr/u32-check: New file.
73006         * lib/unistr/u8-check.c: New file.
73007         * lib/unistr/u16-check.c: New file.
73008         * lib/unistr/u32-check.c: New file.
73009
73010         * modules/unistr/u8-chr: New file.
73011         * modules/unistr/u16-chr: New file.
73012         * modules/unistr/u32-chr: New file.
73013         * lib/unistr/u8-chr.c: New file.
73014         * lib/unistr/u16-chr.c: New file.
73015         * lib/unistr/u32-chr.c: New file.
73016
73017         * modules/unistr/u8-cmp: New file.
73018         * modules/unistr/u16-cmp: New file.
73019         * modules/unistr/u32-cmp: New file.
73020         * lib/unistr/u8-cmp.c: New file.
73021         * lib/unistr/u16-cmp.c: New file.
73022         * lib/unistr/u32-cmp.c: New file.
73023
73024         * modules/unistr/u8-cpy: New file.
73025         * modules/unistr/u16-cpy: New file.
73026         * modules/unistr/u32-cpy: New file.
73027         * lib/unistr/u8-cpy.c: New file.
73028         * lib/unistr/u16-cpy.c: New file.
73029         * lib/unistr/u32-cpy.c: New file.
73030         * lib/unistr/u-cpy.h: New file.
73031
73032         * modules/unistr/u8-cpy-alloc: New file.
73033         * modules/unistr/u16-cpy-alloc: New file.
73034         * modules/unistr/u32-cpy-alloc: New file.
73035         * lib/unistr/u8-cpy-alloc.c: New file.
73036         * lib/unistr/u16-cpy-alloc.c: New file.
73037         * lib/unistr/u32-cpy-alloc.c: New file.
73038         * lib/unistr/u-cpy-alloc.h: New file.
73039
73040         * modules/unistr/u8-endswith: New file.
73041         * modules/unistr/u16-endswith: New file.
73042         * modules/unistr/u32-endswith: New file.
73043         * lib/unistr/u8-endswith.c: New file.
73044         * lib/unistr/u16-endswith.c: New file.
73045         * lib/unistr/u32-endswith.c: New file.
73046         * lib/unistr/u-endswith.h: New file.
73047
73048         * modules/unistr/u8-mblen: New file.
73049         * modules/unistr/u16-mblen: New file.
73050         * modules/unistr/u32-mblen: New file.
73051         * lib/unistr/u8-mblen.c: New file.
73052         * lib/unistr/u16-mblen.c: New file.
73053         * lib/unistr/u32-mblen.c: New file.
73054
73055         * modules/unistr/u8-mbtouc: New file.
73056         * modules/unistr/u16-mbtouc: New file.
73057         * modules/unistr/u32-mbtouc: New file.
73058         * lib/unistr/u8-mbtouc.c: New file.
73059         * lib/unistr/u16-mbtouc.c: New file.
73060         * lib/unistr/u32-mbtouc.c: New file.
73061
73062         * modules/unistr/u8-mbtouc-safe: New file.
73063         * modules/unistr/u16-mbtouc-safe: New file.
73064         * modules/unistr/u32-mbtouc-safe: New file.
73065         * lib/unistr/u8-mbtouc-safe.c: New file.
73066         * lib/unistr/u16-mbtouc-safe.c: New file.
73067         * lib/unistr/u32-mbtouc-safe.c: New file.
73068
73069         * modules/unistr/u8-move: New file.
73070         * modules/unistr/u16-move: New file.
73071         * modules/unistr/u32-move: New file.
73072         * lib/unistr/u8-move.c: New file.
73073         * lib/unistr/u16-move.c: New file.
73074         * lib/unistr/u32-move.c: New file.
73075         * lib/unistr/u-move.h: New file.
73076
73077         * modules/unistr/u8-next: New file.
73078         * modules/unistr/u16-next: New file.
73079         * modules/unistr/u32-next: New file.
73080         * lib/unistr/u8-next.c: New file.
73081         * lib/unistr/u16-next.c: New file.
73082         * lib/unistr/u32-next.c: New file.
73083
73084         * modules/unistr/u8-prev: New file.
73085         * modules/unistr/u16-prev: New file.
73086         * modules/unistr/u32-prev: New file.
73087         * lib/unistr/u8-prev.c: New file.
73088         * lib/unistr/u16-prev.c: New file.
73089         * lib/unistr/u32-prev.c: New file.
73090
73091         * modules/unistr/u8-set: New file.
73092         * modules/unistr/u16-set: New file.
73093         * modules/unistr/u32-set: New file.
73094         * lib/unistr/u8-set.c: New file.
73095         * lib/unistr/u16-set.c: New file.
73096         * lib/unistr/u32-set.c: New file.
73097         * lib/unistr/u-set.h: New file.
73098
73099         * modules/unistr/u8-startswith: New file.
73100         * modules/unistr/u16-startswith: New file.
73101         * modules/unistr/u32-startswith: New file.
73102         * lib/unistr/u8-startswith.c: New file.
73103         * lib/unistr/u16-startswith.c: New file.
73104         * lib/unistr/u32-startswith.c: New file.
73105         * lib/unistr/u-startswith.h: New file.
73106
73107         * modules/unistr/u8-stpcpy: New file.
73108         * modules/unistr/u16-stpcpy: New file.
73109         * modules/unistr/u32-stpcpy: New file.
73110         * lib/unistr/u8-stpcpy.c: New file.
73111         * lib/unistr/u16-stpcpy.c: New file.
73112         * lib/unistr/u32-stpcpy.c: New file.
73113         * lib/unistr/u-stpcpy.h: New file.
73114
73115         * modules/unistr/u8-stpncpy: New file.
73116         * modules/unistr/u16-stpncpy: New file.
73117         * modules/unistr/u32-stpncpy: New file.
73118         * lib/unistr/u8-stpncpy.c: New file.
73119         * lib/unistr/u16-stpncpy.c: New file.
73120         * lib/unistr/u32-stpncpy.c: New file.
73121         * lib/unistr/u-stpncpy.h: New file.
73122
73123         * modules/unistr/u8-strcat: New file.
73124         * modules/unistr/u16-strcat: New file.
73125         * modules/unistr/u32-strcat: New file.
73126         * lib/unistr/u8-strcat.c: New file.
73127         * lib/unistr/u16-strcat.c: New file.
73128         * lib/unistr/u32-strcat.c: New file.
73129         * lib/unistr/u-strcat.h: New file.
73130
73131         * modules/unistr/u8-strchr: New file.
73132         * modules/unistr/u16-strchr: New file.
73133         * modules/unistr/u32-strchr: New file.
73134         * lib/unistr/u8-strchr.c: New file.
73135         * lib/unistr/u16-strchr.c: New file.
73136         * lib/unistr/u32-strchr.c: New file.
73137
73138         * modules/unistr/u8-strcmp: New file.
73139         * modules/unistr/u16-strcmp: New file.
73140         * modules/unistr/u32-strcmp: New file.
73141         * lib/unistr/u8-strcmp.c: New file.
73142         * lib/unistr/u16-strcmp.c: New file.
73143         * lib/unistr/u32-strcmp.c: New file.
73144
73145         * modules/unistr/u8-strcpy: New file.
73146         * modules/unistr/u16-strcpy: New file.
73147         * modules/unistr/u32-strcpy: New file.
73148         * lib/unistr/u8-strcpy.c: New file.
73149         * lib/unistr/u16-strcpy.c: New file.
73150         * lib/unistr/u32-strcpy.c: New file.
73151         * lib/unistr/u-strcpy.h: New file.
73152
73153         * modules/unistr/u8-strcspn: New file.
73154         * modules/unistr/u16-strcspn: New file.
73155         * modules/unistr/u32-strcspn: New file.
73156         * lib/unistr/u8-strcspn.c: New file.
73157         * lib/unistr/u16-strcspn.c: New file.
73158         * lib/unistr/u32-strcspn.c: New file.
73159         * lib/unistr/u-strcspn.h: New file.
73160
73161         * modules/unistr/u8-strdup: New file.
73162         * modules/unistr/u16-strdup: New file.
73163         * modules/unistr/u32-strdup: New file.
73164         * lib/unistr/u8-strdup.c: New file.
73165         * lib/unistr/u16-strdup.c: New file.
73166         * lib/unistr/u32-strdup.c: New file.
73167         * lib/unistr/u-strdup.h: New file.
73168
73169         * modules/unistr/u8-strlen: New file.
73170         * modules/unistr/u16-strlen: New file.
73171         * modules/unistr/u32-strlen: New file.
73172         * lib/unistr/u8-strlen.c: New file.
73173         * lib/unistr/u16-strlen.c: New file.
73174         * lib/unistr/u32-strlen.c: New file.
73175         * lib/unistr/u-strlen.h: New file.
73176
73177         * modules/unistr/u8-strmblen: New file.
73178         * modules/unistr/u16-strmblen: New file.
73179         * modules/unistr/u32-strmblen: New file.
73180         * lib/unistr/u8-strmblen.c: New file.
73181         * lib/unistr/u16-strmblen.c: New file.
73182         * lib/unistr/u32-strmblen.c: New file.
73183
73184         * modules/unistr/u8-strmbtouc: New file.
73185         * modules/unistr/u16-strmbtouc: New file.
73186         * modules/unistr/u32-strmbtouc: New file.
73187         * lib/unistr/u8-strmbtouc.c: New file.
73188         * lib/unistr/u16-strmbtouc.c: New file.
73189         * lib/unistr/u32-strmbtouc.c: New file.
73190
73191         * modules/unistr/u8-strncat: New file.
73192         * modules/unistr/u16-strncat: New file.
73193         * modules/unistr/u32-strncat: New file.
73194         * lib/unistr/u8-strncat.c: New file.
73195         * lib/unistr/u16-strncat.c: New file.
73196         * lib/unistr/u32-strncat.c: New file.
73197         * lib/unistr/u-strncat.h: New file.
73198
73199         * modules/unistr/u8-strncmp: New file.
73200         * modules/unistr/u16-strncmp: New file.
73201         * modules/unistr/u32-strncmp: New file.
73202         * lib/unistr/u8-strncmp.c: New file.
73203         * lib/unistr/u16-strncmp.c: New file.
73204         * lib/unistr/u32-strncmp.c: New file.
73205
73206         * modules/unistr/u8-strncpy: New file.
73207         * modules/unistr/u16-strncpy: New file.
73208         * modules/unistr/u32-strncpy: New file.
73209         * lib/unistr/u8-strncpy.c: New file.
73210         * lib/unistr/u16-strncpy.c: New file.
73211         * lib/unistr/u32-strncpy.c: New file.
73212         * lib/unistr/u-strncpy.h: New file.
73213
73214         * modules/unistr/u8-strnlen: New file.
73215         * modules/unistr/u16-strnlen: New file.
73216         * modules/unistr/u32-strnlen: New file.
73217         * lib/unistr/u8-strnlen.c: New file.
73218         * lib/unistr/u16-strnlen.c: New file.
73219         * lib/unistr/u32-strnlen.c: New file.
73220         * lib/unistr/u-strnlen.h: New file.
73221
73222         * modules/unistr/u8-strpbrk: New file.
73223         * modules/unistr/u16-strpbrk: New file.
73224         * modules/unistr/u32-strpbrk: New file.
73225         * lib/unistr/u8-strpbrk.c: New file.
73226         * lib/unistr/u16-strpbrk.c: New file.
73227         * lib/unistr/u32-strpbrk.c: New file.
73228         * lib/unistr/u-strpbrk.h: New file.
73229
73230         * modules/unistr/u8-strrchr: New file.
73231         * modules/unistr/u16-strrchr: New file.
73232         * modules/unistr/u32-strrchr: New file.
73233         * lib/unistr/u8-strrchr.c: New file.
73234         * lib/unistr/u16-strrchr.c: New file.
73235         * lib/unistr/u32-strrchr.c: New file.
73236
73237         * modules/unistr/u8-strspn: New file.
73238         * modules/unistr/u16-strspn: New file.
73239         * modules/unistr/u32-strspn: New file.
73240         * lib/unistr/u8-strspn.c: New file.
73241         * lib/unistr/u16-strspn.c: New file.
73242         * lib/unistr/u32-strspn.c: New file.
73243         * lib/unistr/u-strspn.h: New file.
73244
73245         * modules/unistr/u8-strstr: New file.
73246         * modules/unistr/u16-strstr: New file.
73247         * modules/unistr/u32-strstr: New file.
73248         * lib/unistr/u8-strstr.c: New file.
73249         * lib/unistr/u16-strstr.c: New file.
73250         * lib/unistr/u32-strstr.c: New file.
73251         * lib/unistr/u-strstr.h: New file.
73252
73253         * modules/unistr/u8-strtok: New file.
73254         * modules/unistr/u16-strtok: New file.
73255         * modules/unistr/u32-strtok: New file.
73256         * lib/unistr/u8-strtok.c: New file.
73257         * lib/unistr/u16-strtok.c: New file.
73258         * lib/unistr/u32-strtok.c: New file.
73259         * lib/unistr/u-strtok.h: New file.
73260
73261         * modules/unistr/u8-uctomb: New file.
73262         * modules/unistr/u16-uctomb: New file.
73263         * modules/unistr/u32-uctomb: New file.
73264         * lib/unistr/u8-uctomb.c: New file.
73265         * lib/unistr/u16-uctomb.c: New file.
73266         * lib/unistr/u32-uctomb.c: New file.
73267
73268         * MODULES.html.sh (Unicode string functions): Add the new modules.
73269
73270 2007-01-08  Bruno Haible  <bruno@clisp.org>
73271
73272         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
73273         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
73274         subdirectories.
73275
73276 2007-01-08  Karl Berry  <karl@gnu.org>
73277
73278         * doc/error.texi: mention that main() fns must set program_name
73279         when progname is used.
73280
73281 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
73282
73283         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
73284         WCTYPE_H is empty, for the benefit of builds from non-distclean
73285         directories.  Problem reported by Eric Blake in
73286         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
73287
73288 2007-01-08  Bruno Haible  <bruno@clisp.org>
73289
73290         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
73291         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
73292         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
73293         PROVIDE_CANONICALIZE_FILENAME_MODE.
73294         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
73295
73296 2007-01-08  Bruno Haible  <bruno@clisp.org>
73297
73298         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
73299         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
73300         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
73301         * lib/fts.c: Likewise.
73302         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
73303
73304 2006-12-25  Bruno Haible  <bruno@clisp.org>
73305
73306         * modules/utf8-ucs4-safe: New file.
73307         * lib/utf8-ucs4-safe.h: New file.
73308         * lib/unistr/utf8-ucs4-safe.c: New file.
73309
73310         * modules/utf16-ucs4-safe: New file.
73311         * lib/utf16-ucs4-safe.h: New file.
73312         * lib/unistr/utf16-ucs4-safe.c: New file.
73313
73314         * MODULES.html.sh (Unicode string functions): Add the new modules.
73315
73316 2007-01-08  Bruno Haible  <bruno@clisp.org>
73317
73318         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
73319         (Depends-on): Add unitypes.
73320         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
73321         (u8_mbtouc_aux): Move out to separate file.
73322         (u8_mbtouc): Use ucs4_t, uint8_t types.
73323         * lib/unistr/utf8-ucs4.c: New file.
73324
73325         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
73326         (Depends-on): Add unitypes.
73327         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
73328         (u16_mbtouc_aux): Move out to separate file.
73329         (u16_mbtouc): Use ucs4_t, uint16_t types.
73330         * lib/unistr/utf16-ucs4.c: New file.
73331
73332         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
73333         (Depends-on): Add unitypes.
73334         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
73335         (u8_uctomb_aux): Move out to separate file.
73336         (u8_uctomb): Use ucs4_t, uint8_t types.
73337         * lib/unistr/ucs4-utf8.c: New file.
73338
73339         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
73340         (Depends-on): Add unitypes.
73341         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
73342         (u16_uctomb_aux): Move out to separate file.
73343         (u16_uctomb): Use ucs4_t, uint16_t types.
73344         * lib/unistr/ucs4-utf16.c: New file.
73345
73346 2006-12-25  Bruno Haible  <bruno@clisp.org>
73347
73348         * modules/unitypes: New file.
73349         * lib/unitypes.h: New file.
73350         * MODULES.html.sh (func_all_modules): New section "Unicode string
73351         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
73352         this section. Add unitypes.
73353
73354 2007-01-08  Bruno Haible  <bruno@clisp.org>
73355
73356         Avoid variable names that conflict with those from libtool.
73357         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
73358         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
73359         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
73360         library_names_spec to acl_library_names_spec, hardcode_* to
73361         acl_hardcode_*.
73362         Reported by Ralf Wildenhues.
73363
73364 2007-01-08  Bruno Haible  <bruno@clisp.org>
73365
73366         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
73367         definition.
73368         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
73369         definition.
73370         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
73371         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
73372         definition.
73373         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
73374         definition.
73375         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
73376         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
73377         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
73378         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
73379         definition.
73380         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
73381         definition.
73382         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
73383         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
73384         GC_USE_<algorithm>.
73385         * lib/gc-libgcrypt.c: Likewise.
73386         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
73387         * modules/gc-arctwo (configure.ac): Likewise.
73388         * modules/gc-des (configure.ac): Likewise.
73389         * modules/gc-hmac-md5 (configure.ac): Likewise.
73390         * modules/gc-hmac-sha1 (configure.ac): Likewise.
73391         * modules/gc-md2 (configure.ac): Likewise.
73392         * modules/gc-md4 (configure.ac): Likewise.
73393         * modules/gc-md5 (configure.ac): Likewise.
73394         * modules/gc-random (configure.ac): Likewise.
73395         * modules/gc-rijndael (configure.ac): Likewise.
73396         * modules/gc-sha1 (configure.ac): Likewise.
73397
73398 2007-01-08  Bruno Haible  <bruno@clisp.org>
73399
73400         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
73401         macro definition.
73402         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
73403         definition.
73404         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
73405         definition.
73406         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
73407         * modules/fcntl-safer (configure.ac): Likewise.
73408         * modules/fopen-safer (configure.ac): Likewise.
73409         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
73410         GNULIB_FWRITEERROR macro definition.
73411
73412 2007-01-08  Bruno Haible  <bruno@clisp.org>
73413
73414         * m4/gnulib-common.m4: New file.
73415         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
73416         (func_get_filelist): Add m4/gnulib-common.m4.
73417
73418 2007-01-08  Bruno Haible  <bruno@clisp.org>
73419
73420         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
73421         command.
73422
73423 2007-01-08  Jim Meyering  <jim@meyering.net>
73424
73425         Use a more robust test for a "can't happen" condition.
73426         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
73427         narrowed the st_size value.  Presuming the "can't happen" condition
73428         is true, that narrowing could conceivably convert an invalid st_size
73429         value into a valid one.  Instead, use a change based on Matthew
73430         Woehlke's original patch.
73431
73432         Slight readability improvement: use an assert-like macro
73433         in place of literal "abort ()" uses.
73434         * lib/fts.c (fts_assert): Define.
73435         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
73436         Use this macro instead of a bare 'abort'.
73437
73438 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
73439
73440         Don't worry about using IRIX 5.3's wctype.h broken definitions;
73441         simply work around them.
73442         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
73443         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
73444         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
73445         declaring.
73446         Don't bother to define as macros, since the standard doesn't require it.
73447         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
73448         longer worry about IRIX 5.3.
73449         (HAVE_WCTYPE_CTMP_BUG): Remove.
73450
73451 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
73452
73453         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
73454         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
73455         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
73456         Problems reported by Georg Schwarz for IRIX 5.3.
73457
73458         * gnulib-tool (autoconf_minversion): Take the maximum version number
73459         found, not the minimum.  Problem reported by James Youngman.
73460
73461 2007-01-03  Karl Berry  <karl@gnu.org>
73462
73463         * doc/error.texi: new file, explaining interaction with progname.
73464         * doc/gnulib.texi: include it.  Update copyright.
73465
73466 2007-01-03  Simon Josefsson  <simon@josefsson.org>
73467
73468         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
73469         AC_CANONICAL_HOST, to improve autobuild outputs.
73470
73471 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
73472             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73473
73474         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
73475         sockets, server sockets, and other file descriptors.  Count errors
73476         to compute the return value.  Reorder the code a bit to be easier
73477         to follow.  Don't set event bits that were not requested (except
73478         POLLERR and POLLHUP).
73479
73480 2007-01-01  Bruno Haible  <bruno@clisp.org>
73481
73482         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
73483
73484 2007-01-03  Jim Meyering  <jim@meyering.net>
73485
73486         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
73487
73488 2007-01-02  Bruno Haible  <bruno@clisp.org>
73489
73490         * modules/settime (Include): Require timespec.h.
73491         * modules/nanosleep (Include): Likewise.
73492
73493 2007-01-01  Bruno Haible  <bruno@clisp.org>
73494
73495         * gnulib-tool (func_emit_copyright_notice): Bump year.
73496         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
73497
73498 2007-01-01  Bruno Haible  <bruno@clisp.org>
73499
73500         Improve support for OpenBSD.
73501         * build-aux/config.rpath (libname_spec): Export.
73502         (library_names_spec): New variable. Export.
73503         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
73504         library_names_spec from the config.rpath output. Locate shared library
73505         through the name pattern in library_names_spec.
73506
73507 2007-01-01  Eric Blake  <ebb9@byu.net>
73508
73509         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
73510
73511 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
73512
73513         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
73514         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
73515         assume the C locale, and avoid an "eval" that could cause trouble.
73516         Problem with SORT reported by Bob Proulx.
73517
73518         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
73519         Define.  Trivial patch from Henning Nielsen Lund, originally
73520         sent to bug-grep@gnu.org today.
73521
73522 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
73523
73524         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
73525         struct stat.  Problem reported by Henning Nielsen Lund.
73526         * lib/acl.c: Include acl.h first, to check interface.  Don't
73527         bother to include sys/types.h and sys/stat.h again.
73528
73529 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
73530
73531         Import the following change from libc; problem reported by
73532         Sven Verdoolaege.
73533
73534         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
73535
73536         [BZ #1373]
73537         * lib/argp.h: Remove __NTH for __argp_usage inline function.
73538
73539 2006-12-28  Jim Meyering  <jim@meyering.net>
73540
73541         * build-aux/announce-gen: Do not assume that the package
73542         builds any of tar.gz, tar.bz2, and .xdelta files.
73543         Suggestion from Simon Josefsson.
73544
73545 2006-12-28  Simon Josefsson  <simon@josefsson.org>
73546
73547         * modules/announce-gen: New file.
73548
73549 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
73550
73551         * lib/mbchar.h: Just include <wctype.h>; the wctype module
73552         handles its gotchas now.
73553         * lib/mbswidth.c: Likewise.
73554         * lib/wcwidth.h: Likewise.
73555         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
73556         and iswcntrl; the wctype module does this stuff now.
73557         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
73558         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
73559         * modules/mbchar (Depends-on): Add wctype.
73560         * modules/mbswidth (Depends-on): Likewise.
73561         * modules/wcwidth (Depends-on): Likewise.
73562
73563 2006-12-27  Eric Blake  <ebb9@byu.net>
73564
73565         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
73566         module uses more than what <wctype.h> is required to provide.
73567
73568 2006-12-26  Eric Blake  <ebb9@byu.net>
73569
73570         * gnulib-tool (sed_extract_prog): Avoid space-tab.
73571
73572 2006-12-26  Eric Blake  <ebb9@byu.net>
73573
73574         * modules/absolute-header: New module.
73575         * modules/fcntl (Depends-on): Depend on it.
73576         * modules/inttypes (Depends-on): Likewise.
73577         * modules/stdint (Depends-on): Likewise.
73578         * modules/sys_stat (Depends-on): Likewise.
73579         * modules/wctype (Depends-on): Likewise.
73580         * MODULES.html.sh (Support for building libraries and
73581         executables): Document it.
73582
73583 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
73584
73585         * gnulib-tool (SED): Remove, undoing previous change.
73586         The problem was that it broke coreutils on Solaris, because
73587         "sed --posix" leaked into a makefile.
73588         (sed): New alias, if 'alias' and GNU sed.
73589
73590 2006-12-24  Jim Meyering  <jim@meyering.net>
73591
73592         Work around an fchownat bug in glibc-2.4:
73593         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
73594         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
73595         in spite of the -P option.
73596         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
73597         New macros.
73598         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
73599         * modules/openat (Files): Add lib/fchownat.c.
73600         * lib/openat.c (fchownat): Don't define here.  Move to...
73601         * lib/fchownat.c: ...this new file.
73602
73603 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
73604
73605         Fix bug reported by Bruno Haible in
73606         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
73607         where quotearg.c didn't compile on Mac OS X 10.2 because it
73608         lacks <wchar.h> and wint_t.
73609         * lib/wctype_.h (__wctype_wint_t): New type.
73610         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
73611         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
73612         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
73613         Arg is now of type __wctype_wint_t, not wint_t.
73614         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
73615         substitute HAVE_WINT_T.
73616         * modules/wctype (Files): Add m4/wint_t.m4.
73617         (wctype.h): Substitute HAVE_WINT_T.
73618
73619 2006-12-23  Bruno Haible  <bruno@clisp.org>
73620
73621         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
73622
73623 2006-12-23  Bruno Haible  <bruno@clisp.org>
73624
73625         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
73626         S_ISLNK.
73627         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
73628         mingw.
73629
73630 2006-12-22  Bruno Haible  <bruno@clisp.org>
73631
73632         * lib/copy-file.c: Include acl.h.
73633         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
73634         Close the file descriptors only after being done with copy_acl.
73635         * modules/copy-file (Depends-on): Add acl.
73636
73637 2006-12-22  Bruno Haible  <bruno@clisp.org>
73638
73639         * gnulib-tool (SED): New variable.
73640         Use $SED instead of sed everywhere.
73641
73642 2006-12-22  Bruno Haible  <bruno@clisp.org>
73643
73644         * modules/no-c++: New file.
73645         * m4/no-c++.m4: New file.
73646         * MODULES.html.sh (Support for building libraries and executables):
73647         Add no-c++.
73648
73649 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
73650
73651         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
73652         Include <limits.h>, and use its INT_MAX to rewrite the
73653         j loop so that it does not overflow 'int'.  Problem reported by
73654         Ralf Wildenhues in
73655         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
73656         Play it safe by shifting left by 1 rather than multiplying by 2,
73657         as GCC is less likely to optimize this away when the value
73658         is signed (when it assumes overflow leads to undefined behavior).
73659         Also, don't assume time_t uses two's complement.
73660
73661 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
73662
73663         * MODULES.html.sh: New module wctype.
73664         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
73665         * lib/fnmatch.c: Don't bother to include <wchar.h> before
73666         <wctype.h>, since the new wctype module should fix this.
73667         * lib/quotearg.c: Include <wctype.h> unconditionally, since
73668         the wctype module should arrange for it.
73669         * lib/regex_internal.h: Likewise.
73670         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
73671         since the wctype module should handle this now.
73672         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
73673         * modules/fnmatch (Depends-on): Add wctype.
73674         * modules/quotearg (Depends-on): Likewise.
73675         * modules/regex (Depends-on): Likewise.
73676
73677 2006-12-19  Bruno Haible  <bruno@clisp.org>
73678
73679         * lib/strdup.h [C++]: Wrap definitions in extern "C".
73680         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
73681
73682 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73683
73684         * modules/savewd (Depends-on): Fix dependency on fcntl.
73685
73686 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73687
73688         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
73689         conforms to C99, rather than relying on the user's environment
73690         setting of STDINT_H.
73691
73692 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73693         and Eric Blake  <ebb9@byu.net>
73694
73695         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
73696         This is more consistent with the other defines here.
73697         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
73698         Port to z/OS.  Problem reported by Paul Gilmartin.
73699         Change local vars to use gl_ prefix rather than ac_.
73700         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
73701         with other defines.
73702         * modules/double-slash-root: New module.
73703         * modules/dirname (Files): Remove m4/double-slash-root.m4.
73704         (Depends-on): Add double-slash-root.
73705         * MODULES.html.sh (File system functions): Mention new module.
73706
73707 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
73708
73709         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
73710         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
73711         This is for the benefit of gzip, which doesn't do i18n.
73712
73713 2006-12-12  Jim Meyering  <jim@meyering.net>
73714
73715         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
73716         Reported by Andreas Schwab <schwab@suse.de>.
73717
73718 2006-12-12  Bruno Haible  <bruno@clisp.org>
73719
73720         Merge these changes.
73721         2006-09-05  Bruno Haible  <bruno@clisp.org>
73722         * lib/iconvme.c (iconv_string): No need to save and restore errno when
73723         iconv_alloc succeeded.
73724         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
73725         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
73726         test for " && dest " at the end - dest is always != NULL there. Call
73727         iconv with 4xNULL arguments initially, to reset the state. Call iconv
73728         with 2xNULL arguments, also to flush the state storage. Handle the
73729         IRIX iconv behaviour. Realloc the final result, to throw away unused
73730         memory.
73731
73732 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
73733
73734         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
73735         and fchmodat unconditionally, since glibc 2.4 has them.
73736         Problem reported by Arkadiusz Miskiewicz.
73737
73738 2006-12-10  Bruno Haible  <bruno@clisp.org>
73739
73740         * gnulib-tool (func_import): Show the include files only for those
73741         modules that are copied and specified.
73742         Reported by Karl Berry.
73743
73744 2006-12-08  Jim Meyering  <jim@meyering.net>
73745
73746         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
73747         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
73748
73749         * build-aux/announce-gen: Add two new options, both optional:
73750         --bootstrap-tools=TOOL_LIST
73751               a comma-separated list of tools, e.g.,
73752               autoconf,automake,bison,gnulib
73753         --gnulib-snapshot-date=DATE
73754               if gnulib is in the bootstrap tool list,
73755               then report this as the snapshot date.
73756               If not specified, use the current date/time.
73757               If you specify a date here, be sure it's UTC.
73758
73759 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73760
73761         * tests/test-argp-2.sh: Fix test to match actual output.
73762         (func_compare): Fix sed script to be portable.
73763
73764 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
73765
73766         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
73767         workaround for this case.  It is not autoconfigured now; offhand
73768         it's hard to see how to autoconfigure it.
73769
73770 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73771
73772         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
73773         a directory that is about to be chowned.  Such a directory's
73774         initial file permissions should permit the owner only and this
73775         should not be changed until after the chown, since the group and
73776         other bits would be incorrect if they granted permission before
73777         the chown.
73778
73779         Fix porting problem for iswctype reported by Georg Schwarz in:
73780         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
73781         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
73782         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
73783         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
73784         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73785
73786 2006-12-03  Jim Meyering  <jim@meyering.net>
73787
73788         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
73789         p->fts_statp may not yet be defined.
73790         (fts_read): Instead, set it in the caller, once p->fts_statp is
73791         sure to be defined, and corresponds to a top-level directory.
73792         This bug made du -x fail.  Here's the coreutils test case:
73793         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
73794         Reported by Mike Frysinger.
73795
73796 2006-12-01  Jim Meyering  <jim@meyering.net>
73797
73798         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
73799         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
73800         Reported by Simon Josefsson.
73801
73802 2006-11-30  Jim Meyering  <jim@meyering.net>
73803
73804         * m4/warning.m4: Use the all-permissive copyright notice
73805         recommended by RMS (rather than LGPL).
73806         * m4/vararrays.m4: Likewise.
73807         * m4/flexmember.m4: Likewise.
73808
73809 2006-11-29  Bruno Haible  <bruno@clisp.org>
73810
73811         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73812         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
73813         using +=.
73814         Reported by Simon Josefsson <simon@josefsson.org>.
73815
73816 2006-11-28  James Youngman <jay@gnu.org>
73817
73818         * README: Advise users that they might find the bug-gnulib@gnu.org
73819         and autotools-announce@gnu.org mailing lists useful.
73820
73821 2006-11-28  Bruno Haible  <bruno@clisp.org>
73822
73823         * m4/ptrdiff_max.m4: Remove file.
73824
73825 2006-11-21  Bruno Haible  <bruno@clisp.org>
73826
73827         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
73828         _AC_COMPUTE_INT.
73829         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73830         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
73831         _AC_COMPUTE_INT.
73832         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73833         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
73834         _AC_COMPUTE_INT.
73835         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73836
73837 2006-11-28  Jim Meyering  <jim@meyering.net>
73838
73839         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
73840         warning from "gcc -Wshadow" about shadowing the builtin.
73841
73842 2006-11-27  Bruno Haible  <bruno@clisp.org>
73843
73844         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
73845         _AC_COMPUTE_INT.
73846         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73847
73848 2006-11-27  Bruno Haible  <bruno@clisp.org>
73849             Paul Eggert  <eggert@cs.ucla.edu>
73850
73851         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
73852
73853 2006-11-26  Bruno Haible  <bruno@clisp.org>
73854
73855         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73856         noinst_LTLIBRARIES.
73857
73858 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73859             Bruno Haible  <bruno@clisp.org>
73860
73861         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
73862         if compiling with "gcc -ansi".
73863
73864 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73865
73866         Fix some incompatibilities with gcc -ansi -pedantic.
73867         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
73868         if compiling pedantically with GCC, unless it's C99 or later.
73869         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
73870         it mishandles gcc -ansi -pedantic as well.
73871         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
73872         if gcc -pedantic.
73873         * lib/regexec.c (check_node_accept_bytes): Don't use auto
73874         initializers for struct if -pedantic, unless it's C99 or later.
73875
73876 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
73877
73878         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
73879         Don't close an fd more than once. Identical atimes indicate
73880         success, not failure.
73881
73882 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
73883
73884         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
73885
73886 2006-11-23  Jim Meyering  <jim@meyering.net>
73887
73888         * build-aux/announce-gen: New file.  From coreutils.
73889
73890 2006-11-22  Jim Meyering  <jim@meyering.net>
73891
73892         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
73893         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
73894         (fts_read): Use a temporary to narrow the overused st_size member
73895         before using it in a switch statement.  Reported by Matthew Woehlke.
73896
73897         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
73898         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
73899
73900 2006-11-20  Bruno Haible  <bruno@clisp.org>
73901
73902         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
73903         changequote instead of pairs of brackets.
73904         Reported by Andreas Schwab <schwab@suse.de>.
73905
73906 2006-11-21  Jim Meyering  <jim@meyering.net>
73907
73908         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
73909         so as to remain compatible with older compilers.
73910         Patch from Michael Deutschmann.
73911
73912 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73913
73914         * MODULES.html.sh (File system functions): Add openat.
73915
73916         * lib/openat.h (rpl_fstatat): New macro, if
73917         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
73918         (fstatat): Define to rpl_fstatat under the same conditions,
73919         unless COMPILING_FSTATAT.
73920         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
73921         seems to have the bug.
73922         * lib/fstatat.c: New file.
73923         * modules/openat (Files): Add it.
73924
73925 2006-11-20  Bruno Haible  <bruno@clisp.org>
73926
73927         * Makefile: New file.
73928
73929 2006-11-20  Jim Meyering  <jim@meyering.net>
73930
73931         The beginnings of syntax-related checks for gnulib.
73932         * lib/Makefile: New file.
73933         * lib/t-idcache: New script.  Ensure that the two halves of
73934         idcache.c stay in sync.
73935
73936         * lib/idcache.c: Adjust comments in user- and group- portions to
73937         be more accurate, and to be consistent with one another.
73938
73939 2006-11-20  Jim Meyering  <jim@meyering.net>
73940
73941         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
73942         continue using the flexible array member (thus, this module performs
73943         half as many malloc calls), with the addition that...
73944         (getgroup, getuser): Consistently record a non-match via an empty
73945         "name" string, and map an empty string match to a NULL return value.
73946         * modules/idcache (Depends-on): Re-add flexmember.
73947
73948         * lib/idcache.c (getuser): Remove all uses of the register keyword.
73949         (getuidbyname, getgroup, getgidbyname): Likewise.
73950
73951         Use cleaner syntax: NULL rather than 0.
73952         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
73953
73954 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73955
73956         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
73957         It mishandled the case where the group was missing.
73958         Problem reported by Greg Schafer.
73959         * modules/idcache: Likewise.
73960
73961 2006-11-18  Jim Meyering  <jim@meyering.net>
73962
73963         * check-module (%exempt_header): Add exception for some
73964         conditionally-included headers.
73965
73966         * modules/i-ring (Depends-on): Add verify.
73967         (License): Change to LGPL.
73968
73969 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73970
73971         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
73972         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
73973         and inttostr.h.  Use snprintf rather than uinttostr, so that
73974         LGPLed code doesn't depend on GPLed.
73975
73976 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73977
73978         * modules/inline (License): Change from GPL to LGPL.
73979
73980 2006-11-17  Jim Meyering  <jim@meyering.net>
73981
73982         * modules/d-type (License): Switch to LGPL.
73983
73984 2006-11-15  Bruno Haible  <bruno@clisp.org>
73985
73986         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
73987
73988 2006-11-15  Eric Blake  <ebb9@byu.net>
73989
73990         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
73991         the module dependency.
73992
73993 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73994             Bruno Haible  <bruno@clisp.org>
73995
73996         * gnulib-tool (func_create_testdir): Add license consistency check.
73997
73998 2006-11-15  Eric Blake  <ebb9@byu.net>
73999
74000         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
74001         random "(cached)" in configure output.
74002
74003 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74004
74005         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
74006         test for conforming inttypes.h is both announced and cached.
74007
74008         * MODULES.html.sh (seen_modules, seen_files): New variables.
74009         (func_module): Rewrite to use a few less gnulib-tool and sed
74010         invocations.  Avoid a couple of quadratic algorithms for ...
74011         (missed_modules, missed_files): ... these, with ...
74012         (func_append, func_tmpdir): ... these new functions, from
74013         gnulib-tool.  Analogously, install traps for cleanup.
74014
74015         * tests/test-gc.c (main): Remove unused variables.
74016         * tests/test-read-file.c: Include stdlib.h, for 'free'.
74017
74018 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
74019
74020         * modules/inttostr (License): Change to LGPL.
74021
74022 2006-11-14  Eric Blake  <ebb9@byu.net>
74023
74024         * modules/tempname (License): Change to LGPL.
74025
74026 2006-11-14  Eric Blake  <ebb9@byu.net>
74027
74028         * doc/functions.texi (Function Portability): *printf functions on
74029         Cygwin now understand all POSIX size specifiers.
74030
74031 2006-11-14  Bruno Haible  <bruno@clisp.org>
74032
74033         * modules/c-ctype (License): Change to LGPL.
74034
74035 2006-11-12  Bruno Haible  <bruno@clisp.org>
74036
74037         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
74038         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
74039         for GNOME libraries, for which the include files are installed in
74040         subdirectories of $prefix/include.
74041
74042 2006-11-12  Bruno Haible  <bruno@clisp.org>
74043
74044         * m4/lib-link.m4: Require at least autoconf-2.54.
74045         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
74046         name to underscores for the --with option.
74047
74048 2006-11-13  Bruno Haible  <bruno@clisp.org>
74049
74050         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
74051         the tests directory.
74052         Reported by Ralf Wildenhues.
74053
74054 2006-11-13  Bruno Haible  <bruno@clisp.org>
74055
74056         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
74057         (func_emit_initmacro_end): Undo the override here.
74058         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
74059         Works around the famous automake error in coreutils.
74060
74061 2006-11-13  Eric Blake  <ebb9@byu.net>
74062
74063         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
74064         element, not its node.
74065
74066 2006-11-12  Bruno Haible  <bruno@clisp.org>
74067
74068         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
74069         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
74070
74071 2006-11-12  Bruno Haible  <bruno@clisp.org>
74072
74073         * gnulib-tool: New option --local-symlink.
74074         (func_usage): Document it.
74075         (lsymbolic): New variable.
74076         (func_import, func_create_testdir): If --symlink was not specified,
74077         test whether --local-symlink was specified and the file comes from
74078         the local_gnulib_dir.
74079
74080 2006-11-12  Bruno Haible  <bruno@clisp.org>
74081
74082         * gnulib-tool (func_ln): New function.
74083         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
74084
74085 2006-11-12  Bruno Haible  <bruno@clisp.org>
74086
74087         Finish support for source files in subdirectories.
74088         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
74089         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
74090         AUTOMAKE_OPTIONS.
74091         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
74092
74093 2006-11-12  Bruno Haible  <bruno@clisp.org>
74094
74095         * gnulib-tool (func_get_automake_snippet): Synthesize also an
74096         EXTRA_lib_SOURCES augmentation.
74097         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
74098
74099 2006-11-12  Jim Meyering  <jim@meyering.net>
74100
74101         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
74102         file descriptors.  This also averts a failure on systems with
74103         native openat support when a traversed directory lacks "x" access.
74104         * lib/fts_.h: Include "i-ring.h"
74105         (struct FTS) [fts_fd_ring]: New member.
74106         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
74107         (FCHDIR): Add parentheses.
74108         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
74109         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
74110         When descending, rather than simply closing the previous
74111         fts_cwd_fd value, push that file descriptor onto the ring.
74112         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
74113         (fts_open): Initialize the new fd_ring member.
74114         (fts_close): Clear the ring.
74115         (fts_safe_changedir): When possible, use our new fd_ring to skip
74116         the diropen and fstat and dev/ino comparison that would normally
74117         accompany a virtual `chdir ("..")'.
74118
74119         * modules/fts (Depends-on): Add i-ring.
74120         * modules/i-ring: New module.
74121         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
74122         * m4/i-ring.m4: New file.
74123
74124 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74125
74126         * gnulib-tool (func_create_testdir): Fix replacement of
74127         `build-aux' in configure.ac.  Run autotools in gltests
74128         subdirectory.
74129         (func_create_testdir, func_create_megatestdir, test): There is
74130         no need for '--force' in most autotool invocations in a new
74131         tree.  Actually fail the whole test if any of the tools, or the
74132         configure or make stages fail.
74133
74134         Sync from Automake.
74135         * build-aux/gnupload: Revert last change.  Add pointer to upload
74136         instructions of the GNU Maintenance Instructions.
74137         Suggestion by Karl Berry.
74138
74139 2006-11-10  Jim Meyering  <jim@meyering.net>
74140
74141         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
74142
74143 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74144
74145         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
74146         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
74147         (bind_textdomain_codeset) [! ENABLE_NLS]:
74148         Evaluate all the arguments.  That way, callers get compatible behavior
74149         if the arguments have side effects.  Also, it avoids some GCC
74150         diagnostics in some cases; Joel E. Denny reported problems when Bison
74151         was configured with --enable-gcc-warnigs.
74152
74153 2006-11-10  Jim Meyering  <jim@meyering.net>
74154
74155         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
74156         relevant options in CFLAGS (like -O, -fno-inline) are taken into
74157         account.
74158
74159 2006-11-10  Jim Meyering  <jim@meyering.net>
74160
74161         * modules/inline: New file/module.
74162         * modules/xalloc (Files): Remove m4/inline.m4.
74163         (Depends-on): Add inline, instead.
74164         * modules/oset: Likewise.
74165         * modules/list: Likewise.
74166
74167 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74168
74169         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
74170         Problem reported by Matthew Woehlke.
74171
74172 2006-11-09  Bruno Haible  <bruno@clisp.org>
74173
74174         * lib/tempname.c (gen_tempname): Remove variant that invokes
74175         __gen_tempname.
74176         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
74177         __gen_tempname.
74178
74179 2006-11-08  Bruno Haible  <bruno@clisp.org>
74180
74181         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
74182         to 'yes' instead of 'cross-compiling'.
74183
74184 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
74185
74186         * lib/quotearg.h (quotearg_free): New decl.
74187         * lib/quotearg.c (quotearg_free): New function.
74188         (slot0, nslots, slotvec0, slotvec):
74189         Now file-scope so that quotearg_free can get at them.
74190
74191 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74192
74193         Sync from Automake.
74194         * build-aux/gnupload: Add missing 'gnu' to example URL.
74195         Report by Karl Berry.
74196
74197 2006-11-08  Bruno Haible  <bruno@clisp.org>
74198
74199         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
74200         Suggested by Paul Eggert.
74201
74202 2006-11-08  Jim Meyering  <jim@meyering.net>
74203
74204         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
74205         It's already included if !_LIBC.
74206         (fts_safe_changedir): Add a comment.
74207
74208 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
74209
74210         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
74211         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
74212         Matthew Woehlke.
74213
74214         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
74215         definitions up, to avoid colliding with change below.
74216         (static_inline) [HAVE_INLINE]: New macro.
74217         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
74218         Provide extern decls when !HAVE_INLINE.  Do not define unless
74219         static_inline is defined, either by us or by xmalloc.c.  Use
74220         static_inline rather than static inline.
74221         (XCALLOC): Optimize sizeof(T) = 1 case.
74222         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
74223
74224 2006-11-07  Bruno Haible  <bruno@clisp.org>
74225
74226         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
74227         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
74228         AC_C_INLINE.
74229         * modules/xalloc (Files): Add m4/inline.m4.
74230
74231 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74232
74233         * README: Fix typo.
74234         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
74235         (Miscellanous Notes): ...from this.
74236
74237 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
74238
74239         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
74240         Mention that offsetof should be used instead of sizeof.
74241         From Bruno Haible.
74242
74243 2006-11-07  Bruno Haible  <bruno@clisp.org>
74244
74245         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
74246
74247 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
74248
74249         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
74250         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
74251         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
74252         (gl_tree_add_before, gl_tree_add_after):
74253         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
74254         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
74255         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
74256         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
74257         (gl_linked_add_after, gl_linked_add_at): Likewise.
74258         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
74259         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
74260         (gl_tree_add_before, gl_tree_add_after): Likewise.
74261         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
74262         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
74263         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
74264
74265 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74266
74267         * lib/gl_oset.h: Use C comment style, not C++ comment style.
74268
74269 2006-11-06  Bruno Haible  <bruno@clisp.org>
74270
74271         * m4/inline.m4: New file.
74272         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
74273         * modules/list (Files): Add m4/inline.m4.
74274         * modules/oset (Files): Likewise.
74275
74276 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
74277
74278         * lib/idcache.c: Include <stddef.h>, for offsetof.
74279         (struct userid.name): Change from char * to a flexible array member.
74280         All uses changed.
74281         * modules/idcache (Depends-on): Add flexmember.
74282
74283         * MODULES.html.sh (Core language properties): New module flexmember.
74284         * modules/flexmember, m4/flexmember.m4: New files.
74285
74286         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
74287         inline functions that are identical with the old xnmalloc_inline,
74288         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
74289         that we can avoid some unnecessary integer multiplications and
74290         divisions in the common case where the element size is known at
74291         compile time.
74292         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
74293         needed.
74294         (xnboundedmalloc): Remove.
74295         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
74296         arguments, for consistency with rest of this header.
74297         (xcharalloc): Rewrite using XNMALLOC.
74298         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
74299         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
74300         versions have been moved to lib/xalloc.h and renamed to be the
74301         non-*_inline versions.
74302         (xmalloc, xrealloc): Implement without reference to the xnmalloc
74303         and xnrealloc functions, since those functions are now inline and
74304         now call us.
74305         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
74306         renaming described above.
74307         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
74308         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
74309         captures the dependency in AC_C_INLINE.
74310
74311         New module canonicalize-lgpl, proposed by Charles Wilson in
74312         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
74313         with a few small changes afterwards.
74314         * MODULES.html.sh (File system functions): New module
74315         canonicalize-lgpl.
74316         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
74317         and canonicalize_file_name.
74318         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
74319         * modules/canonicalize-lgpl: New files.
74320
74321 2006-11-05  Bruno Haible  <bruno@clisp.org>
74322
74323         * gnulib-tool (func_import, func_create_testdir): Create directories
74324         also for files in subdirectories of lib/.
74325
74326 2006-11-05  Bruno Haible  <bruno@clisp.org>
74327
74328         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
74329         ANSI C compliant.
74330
74331 2006-11-03  Bruno Haible  <bruno@clisp.org>
74332
74333         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
74334         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
74335         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
74336         (xnboundedmalloc): New inline function.
74337         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
74338         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
74339         xmalloc.
74340         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
74341         xmalloc.
74342         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
74343         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
74344         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
74345         xmalloc.
74346         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
74347         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
74348         xmalloc.
74349         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
74350         gl_tree_add_after): Use XMALLOC instead of xmalloc.
74351         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
74352         xmalloc.
74353         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
74354         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
74355         gl_tree_add_after): Use XMALLOC instead of xmalloc.
74356         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
74357         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
74358         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
74359         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
74360
74361 2006-11-03  Bruno Haible  <bruno@clisp.org>
74362
74363         * lib/c-ctype.h [C++]: Define functions without name mangling.
74364         * lib/fwriteerror.h [C++]: Likewise.
74365         * lib/gcd.h [C++]: Likewise.
74366         * lib/linebreak.h [C++]: Likewise.
74367
74368 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
74369
74370         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
74371         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
74372         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
74373         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
74374         Check for functions and headers just once.
74375         Check for declaration of canonicalize_file_name.
74376         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
74377
74378 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74379
74380         * gnulib-tool (func_import): Fix typo in actioncmd.
74381
74382 2006-11-02  Bruno Haible  <bruno@clisp.org>
74383
74384         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
74385         newline sequence in the Makefile.am snippet as a space, like "make"
74386         does.
74387         Reported by Roger Persson <perrog@gmail.com>.
74388
74389 2006-11-01  Bruno Haible  <bruno@clisp.org>
74390
74391         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
74392         already declared in <string.h>.
74393         * lib/strcase.h (strncasecmp): Don't declare it if yes.
74394
74395 2006-11-01  Bruno Haible  <bruno@clisp.org>
74396
74397         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
74398         * lib/strcase.h: Include <string.h>.
74399         (strcasecmp): Define to rpl_strcasecmp here.
74400
74401 2006-11-01  Bruno Haible  <bruno@clisp.org>
74402
74403         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
74404
74405 2006-11-01  Eric Blake  <ebb9@byu.net>
74406
74407         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
74408
74409         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
74410
74411 2006-10-29  Bruno Haible  <bruno@clisp.org>
74412
74413         Make it compile in C++ mode.
74414         * lib/full-write.c (full_rw): Add a cast.
74415
74416 2006-11-01  Bruno Haible  <bruno@clisp.org>
74417
74418         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
74419         be POSIX compliant.
74420         Reported by Roger Persson <perrog@gmail.com>.
74421
74422 2006-11-01  Eric Blake  <ebb9@byu.net>
74423
74424         * lib/getopt_.h: Fix comments.
74425
74426 2006-10-31  Eric Blake  <ebb9@byu.net>
74427
74428         * modules/tmpdir (Depends-on): Add sys_stat.
74429         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
74430         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
74431         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
74432         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
74433         tempname.
74434
74435 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
74436
74437         Avoid some C++ diagnostics reported by Bruno Haible.
74438         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
74439         xmalloc.
74440         (quotearg_alloc): Use xcharalloc rather than xmalloc.
74441         (struct slotvec): Move to top level.
74442         (quotearg_n_options): Rewrite to avoid xmalloc.
74443         * lib/xalloc.h (xcharalloc): New function.
74444         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
74445         [defined __cplusplus]: Add function template that provides result
74446         type propagation.  This part of the change is from Bruno Haible.
74447
74448 2006-10-29  Bruno Haible  <bruno@clisp.org>
74449
74450         Make it compile in C++ mode.
74451         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
74452         * lib/strnlen1.c (strnlen1): Cast memchr result.
74453         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
74454         * lib/clean-temp.c (string_equals, string_hash): Add casts.
74455         (create_temp_dir): Rename local variable 'template'.
74456         (compile_csharp_using_sscli): Add cast.
74457         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
74458         * lib/findprog.c (find_in_path): Likewise.
74459         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
74460         * lib/wait-process.c (register_slave_subprocess): Likewise.
74461
74462 2006-10-22  Bruno Haible  <bruno@clisp.org>
74463
74464         * modules/tsearch: New file.
74465         * lib/tsearch.h: New file.
74466         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
74467         * m4/tsearch.m4: New file.
74468         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
74469
74470 2006-10-29  Eric Blake  <ebb9@byu.net>
74471
74472         * lib/arcfour.c: Assume config.h.
74473         * lib/arctwo.c: Likewise.
74474         * lib/base64.c: Likewise.
74475         * lib/check-version.c: Likewise.
74476         * lib/crc.c: Likewise.
74477         * lib/des.c: Likewise.
74478         * lib/gc-gnulib.c: Likewise.
74479         * lib/gc-libgcrypt.c: Likewise.
74480         * lib/gc-pbkdf2-sha1.c: Likewise.
74481         * lib/getaddrinfo.c: Likewise.
74482         * lib/getdelim.c: Likewise.
74483         * lib/getline.c: Likewise.
74484         * lib/hmac-md5.c: Likewise.
74485         * lib/hmac-sha1.c: Likewise.
74486         * lib/iconvme.c: Likewise.
74487         * lib/md2.c: Likewise.
74488         * lib/md4.c: Likewise.
74489         * lib/memxor.c: Likewise.
74490         * lib/read-file.c: Likewise.
74491         * lib/readline.c: Likewise.
74492         * lib/rijndael-alg-fst.c: Likewise.
74493         * lib/rijndael-api-fst.c: Likewise.
74494         * lib/xgetdomainname.c: Likewise.
74495
74496 2006-10-28  Eric Blake  <ebb9@byu.net>
74497
74498         * lib/xstrndup.c: Assume config.h.
74499
74500 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
74501
74502         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
74503         stat-macros.h is now for our own macros, whereas stat_h is for
74504         macros in the <sys/stat.h> name space.
74505         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
74506         (STAT_MACROS_H): Remove.
74507         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
74508         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
74509         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
74510         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
74511         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
74512         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
74513         Move these macros to ...
74514         * lib/stat_.h: here.  Don't include stat-macros.h.
74515         * lib/canonicalize.c: Don't include stat-macros.h.
74516         * lib/chown.c: Likewise.
74517         * lib/euidaccess.c: Likewise.
74518         * lib/file-type.c: Likewise.
74519         * lib/filemode.c: Likewise.
74520         * lib/glob.c: Likewise.
74521         * lib/isapipe.c: Likewise.
74522         * lib/lchown.c: Likewise.
74523         * lib/lstat.c: Likewise.
74524         * lib/mkdir-p.c: Likewise.
74525         * lib/rmdir.c: Likewise.
74526         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
74527         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
74528         unless mkdir isn't declared, to speed up 'configure'.
74529         Always create sys/stat.h, since it's unlikely any real sys/stat.h
74530         would define all the S_* symbols.
74531         * modules/canonicalize (Depends-on):
74532         Depend on sys_stat, not stat-macros.
74533         * modules/chown: Likewise.
74534         * modules/euidaccess: Likewise.
74535         * modules/filemode: Likewise.
74536         * modules/file-type: Likewise.
74537         * modules/glob: Likewise.
74538         * modules/isapipe: Likewise.
74539         * modules/lchown: Likewise.
74540         * modules/lstat: Likewise.
74541         * modules/mkancesdirs: Likewise.
74542         * modules/rmdir: Likewise.
74543         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
74544         * modules/modechange: Likewise.
74545         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
74546         (configure.ac): Remove gl_STAT_MACROS.
74547         * modules/sys_stat (Depends-on): Remove stat-macros.
74548
74549 2006-10-27  Bruno Haible  <bruno@clisp.org>
74550
74551         * m4/signed.m4: Remove file.
74552         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
74553         invocation.
74554         * modules/vasnprintf (Files): Remove m4/signed.m4.
74555
74556 2006-10-27  Bruno Haible  <bruno@clisp.org>
74557
74558         Update to GNU gettext 0.16.
74559         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
74560         m4/inttypes-h.m4, m4/signed.m4.
74561         * m4/gettext.m4: Update to GNU gettext 0.16.
74562         * m4/intl.m4: New file, from GNU gettext.
74563         * m4/intldir.m4: New file, from GNU gettext.
74564         * config/srclist.txt: Update
74565
74566 2006-10-27  Eric Blake  <ebb9@byu.net>
74567
74568         * MODULES.html.sh: Document tempname.
74569         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
74570         dependencies.
74571         (Files): Move lib/tempname.c...
74572         * modules/tempname: ...to this new module.
74573         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
74574         (gl_PREREQ_TEMPNAME): Move...
74575         * m4/tempname.m4: ...to this new file.
74576         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
74577         * modules/sys_stat (Depends-on): Add stat-macros.
74578         * lib/stat_.h (includes): Pick up stat macros.
74579         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
74580         if stat macros are broken.
74581         * lib/tempname.c (includes): No need to include "stat-macros.h".
74582         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
74583         (direxists, __path_search) [!_LIBC]: Don't compile these in
74584         gnulib; the tmpdir module covers that.
74585         * lib/tempname.h: New file.
74586
74587 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
74588
74589         * COPYING: Explain how gnulib-tool converts licence headers.
74590         Almost all wording by Eric Blake.
74591
74592 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
74593
74594         * lib/mbchar.h (is_basic_table): Make read-only.
74595         * lib/mbchar.c (is_basic_table): Likewise.
74596         Reported by John Darrington.
74597
74598 2006-10-25  Bruno Haible  <bruno@clisp.org>
74599
74600         * lib/progname.h (set_program_name): Undefine before defining.
74601
74602 2006-10-25  Bruno Haible  <bruno@clisp.org>
74603
74604         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
74605         false for non-gcc C++ compilers.
74606         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74607
74608 2006-10-24  Bruno Haible  <bruno@clisp.org>
74609
74610         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
74611         iconv implementations like Irix iconv.
74612
74613 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74614
74615         * modules/vararrays: New file.
74616         * m4/vararrays.m4: New file, taken from diffutils.
74617         * MODULES.html.sh: New module vararrays.
74618
74619 2006-10-24  Karl Berry  <karl@gnu.org>
74620
74621         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
74622         Don't call GNU Unix.
74623
74624 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74625
74626         * users.txt: Add Libtool.
74627
74628         Sync from Libtool:
74629
74630         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74631
74632         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
74633         to gnulib's policy of including config.h unconditionally.
74634
74635 2006-10-24  Bruno Haible  <bruno@clisp.org>
74636
74637         * modules/wcwidth (Files): Add m4/wint_t.m4.
74638         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
74639         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
74640
74641 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74642
74643         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
74644         to pacify GCC with some -W flags enabled.  Problem reported by
74645         Bruno Haible.
74646
74647 2006-10-24  Jim Meyering  <jim@meyering.net>
74648
74649         * MODULES.html.sh: Remove uinttostr.  It's not a module.
74650         Reported by Karl Berry.
74651
74652 2006-10-23  Bruno Haible  <bruno@clisp.org>
74653
74654         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
74655
74656 2006-10-24  Bruno Haible  <bruno@clisp.org>
74657
74658         * lib/gl_list.h: Use C comment style, not C++ comment style.
74659
74660 2006-10-23  Eric Blake  <ebb9@byu.net>
74661
74662         * lib/getaddrinfo.c (includes): Add missing include.
74663
74664 2006-10-23  Bruno Haible  <bruno@clisp.org>
74665             Paul Eggert  <eggert@cs.ucla.edu>
74666
74667         Ability to rename obstack_free.
74668         * lib/obstack.h (__obstack_free): New macro. Declare instead of
74669         obstack_free.
74670         (obstack_free): Invoke the __obstack_free macro.
74671         * lib/obstack.c (obstack_free): Use __obstack_free macro.
74672
74673 2006-10-23  Bruno Haible  <bruno@clisp.org>
74674             Paul Eggert  <eggert@cs.ucla.edu>
74675
74676         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
74677         __argc, __argv from the declaration. (They are defined as macros on
74678         mingw.)
74679
74680 2006-10-22  Bruno Haible  <bruno@clisp.org>
74681
74682         * doc/gnulib-intro.texi: New file.
74683         * doc/gnulib.texi: Include it.
74684
74685 2006-10-21  Bruno Haible  <bruno@clisp.org>
74686
74687         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
74688         "Introduction", "Miscellanous Notes", "Particular Modules".
74689
74690 2006-10-21  Bruno Haible  <bruno@clisp.org>
74691
74692         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74693         Change mostlyclean-local rule to avoid sh syntax error from bash
74694         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
74695
74696 2006-10-23  Jim Meyering  <jim@meyering.net>
74697
74698         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
74699         in place of snprintf.
74700
74701         * modules/inttostr (Files): Add lib/uinttostr.c.
74702         * lib/uinttostr.c (inttostr): New file/function.
74703         * lib/inttostr.h (uinttostr): Declare.
74704         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
74705         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74706         Add uinttostr.
74707         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
74708
74709 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74710
74711         * lib/canonicalize.c (ELOOP): Define if not already defined.
74712         Problem reported by Bruno Haible in
74713         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
74714
74715 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74716
74717         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
74718         Problem reported by Perry Smith and Ville Laurikari.
74719
74720         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
74721         uses.
74722
74723 2006-10-19  Bruno Haible  <bruno@clisp.org>
74724
74725         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
74726         for mingw.
74727
74728 2006-10-19  Bruno Haible  <bruno@clisp.org>
74729
74730         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
74731         Needed for mingw.
74732
74733 2006-10-19  Bruno Haible  <bruno@clisp.org>
74734
74735         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
74736
74737 2006-10-19  Bruno Haible  <bruno@clisp.org>
74738
74739         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
74740         it.
74741
74742 2006-10-19  Bruno Haible  <bruno@clisp.org>
74743
74744         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
74745         invocation.
74746
74747 2006-10-19  Bruno Haible  <bruno@clisp.org>
74748
74749         * gnulib-tool (func_create_testdir): Don't include ftruncate and
74750         mountlist by default.
74751
74752 2006-10-16  Bruno Haible  <bruno@clisp.org>
74753
74754         * lib/c-strstr.c: Include c-strstr.h.
74755
74756 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74757
74758         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
74759         in a slash.
74760
74761 2006-10-18  Bruno Haible  <bruno@clisp.org>
74762
74763         * lib/lock.h [C++]: Wrap definitions in extern "C".
74764
74765 2006-10-18  Bruno Haible  <bruno@clisp.org>
74766
74767         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
74768         gl_LIBOBJS list.
74769
74770 2006-10-18  Bruno Haible  <bruno@clisp.org>
74771
74772         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
74773
74774 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
74775
74776         * lib/xstrtol.h: Include gettext.h.
74777         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
74778         Problem reported by Eric Blake.
74779         * modules/xstrtol (Depends-on): Add gettext-h.
74780
74781 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
74782
74783         * lib/strftime.c (advance): New macro.
74784         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
74785         incomplete type, so you can't add 0 to it.  Problem and patch
74786         reported by Eelco Dolstra for dietlibc.
74787
74788 2006-10-18  Jim Meyering  <jim@meyering.net>
74789
74790         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
74791         type for a local, and rename it: s/up/user_proc/.
74792
74793 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
74794
74795         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
74796         READ_UTMP_USER_PROCESS.
74797         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
74798
74799 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74800
74801         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
74802         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
74803
74804 2006-10-17  Eric Blake  <ebb9@byu.net>
74805
74806         * lib/sigprocmask.c (sigprocmask): Fix typo.
74807
74808         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
74809
74810         * modules/clean-temp (Makefile.am): Don't add to make output...
74811         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
74812         config.h.
74813
74814 2006-10-17  Bruno Haible  <bruno@clisp.org>
74815
74816         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
74817         differently if DEFAULT_TEXT_DOMAIN is set.
74818
74819 2006-10-16  Bruno Haible  <bruno@clisp.org>
74820
74821         * lib/clean-temp.c: Include fwriteerror.h.
74822
74823 2006-10-16  Bruno Haible  <bruno@clisp.org>
74824
74825         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
74826
74827 2006-10-16  Bruno Haible  <bruno@clisp.org>
74828
74829         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
74830         * lib/sigprocmask.h: Include <sys/types.h>.
74831         (sigset_t): Use the system's definition if present.
74832
74833 2006-10-17  Eric Blake  <ebb9@byu.net>
74834
74835         * lib/xvasprintf.c (includes): Assume config.h.
74836         * lib/xasprintf.c (includes): Likewise.
74837
74838 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
74839
74840         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
74841         at least as wide as intmax_t.
74842
74843 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
74844
74845         (Imported from Automake.)
74846         * build-aux/gnupload: Update to version 1.1 of directive file.
74847
74848 2006-10-16  Eric Blake  <ebb9@byu.net>
74849
74850         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
74851         match Automake 1.10a.
74852
74853 2006-10-14  Bruno Haible  <bruno@clisp.org>
74854
74855         * modules/sigprocmask: New file.
74856         * lib/sigprocmask.h: New file.
74857         * lib/sigprocmask.c: New file.
74858         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
74859         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
74860         request sigprocmask.o.
74861         (gl_PREREQ_SIGPROCMASK): New macro.
74862         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
74863         (Depends-on): Add sigprocmask.
74864         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
74865         gt_SIGNALBLOCKING. Test for 'raise' only once.
74866         * lib/fatal-signal.c: Include sigprocmask.h.
74867         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
74868         unblock_fatal_signals): Define always.
74869         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74870         sigprocmask.
74871
74872 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74873
74874         Sync from Automake.
74875         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
74876         which incorrectly sets the mode of an existing destination
74877         directory.  In some cases the unpatched install-sh could do the
74878         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
74879         system.  We hope this is rare in practice, but it's clearly worth
74880         fixing.  Problem reported by Alex Unleashed in
74881         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
74882         Also, don't bother to check for -m bugs unless we're using -m;
74883         suggested by Stepan Kasal.
74884
74885 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74886
74887         Sync from Automake.
74888         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
74889         `-c' flag, so they appear at the same position as in %FASTDEP%
74890         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
74891         which ignores unknown options only after the first non-option.
74892         Bug report against M4 by Nelson H. F. Beebe.
74893
74894 2006-10-13  Jim Meyering  <jim@meyering.net>
74895
74896         Fix a bug in yesterday's change.
74897         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
74898         p->fts_statp->st_dev would be used uninitialized.
74899         Ensures that we always call fts_stat on the very first entry.
74900         Miklos Szeredi reported that find -xdev stopped working.
74901
74902 2006-10-12  Bruno Haible  <bruno@clisp.org>
74903
74904         * gnulib-tool (func_get_automake_snippet): Append an automatically
74905         computed EXTRA_DIST augmentation.
74906         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
74907         * modules/alloca-opt (Makefile.am): Likewise.
74908         * modules/allocsa (Makefile.am): Likewise.
74909         * modules/arcfour (Makefile.am): Likewise.
74910         * modules/arctwo (Makefile.am): Likewise.
74911         * modules/argmatch (Makefile.am): Likewise.
74912         * modules/argz (Makefile.am): Likewise.
74913         * modules/atexit (Makefile.am): Likewise.
74914         * modules/backupfile (Makefile.am): Likewise.
74915         * modules/byteswap (Makefile.am): Likewise.
74916         * modules/c-strtod (Makefile.am): Likewise.
74917         * modules/c-strtold (Makefile.am): Likewise.
74918         * modules/calloc (Makefile.am): Likewise.
74919         * modules/canon-host (Makefile.am): Likewise.
74920         * modules/canonicalize (Makefile.am): Likewise.
74921         * modules/chdir-long (Makefile.am): Likewise.
74922         * modules/chdir-safer (Makefile.am): Likewise.
74923         * modules/check-version (Makefile.am): Likewise.
74924         * modules/chown (Makefile.am): Likewise.
74925         * modules/cloexec (Makefile.am): Likewise.
74926         * modules/close-stream (Makefile.am): Likewise.
74927         * modules/closeout (Makefile.am): Likewise.
74928         * modules/crc (Makefile.am): Likewise.
74929         * modules/csharpexec (Makefile.am): Likewise.
74930         * modules/cycle-check (Makefile.am): Likewise.
74931         * modules/des (Makefile.am): Likewise.
74932         * modules/dev-ino (Makefile.am): Likewise.
74933         * modules/dirfd (Makefile.am): Likewise.
74934         * modules/dirname (Makefile.am): Likewise.
74935         * modules/dup2 (Makefile.am): Likewise.
74936         * modules/eealloc (Makefile.am): Likewise.
74937         * modules/error (Makefile.am): Likewise.
74938         * modules/euidaccess (Makefile.am): Likewise.
74939         * modules/exclude (Makefile.am): Likewise.
74940         * modules/exitfail (Makefile.am): Likewise.
74941         * modules/fcntl-safer (Makefile.am): Likewise.
74942         * modules/fcntl (Makefile.am): Likewise.
74943         * modules/file-type (Makefile.am): Likewise.
74944         * modules/fileblocks (Makefile.am): Likewise.
74945         * modules/filemode (Makefile.am): Likewise.
74946         * modules/filenamecat (Makefile.am): Likewise.
74947         * modules/fnmatch (Makefile.am): Likewise.
74948         * modules/fopen-safer (Makefile.am): Likewise.
74949         * modules/fpending (Makefile.am): Likewise.
74950         * modules/fprintftime (Makefile.am): Likewise.
74951         * modules/free (Makefile.am): Likewise.
74952         * modules/fsusage (Makefile.am): Likewise.
74953         * modules/ftruncate (Makefile.am): Likewise.
74954         * modules/fts (Makefile.am): Likewise.
74955         * modules/gc-arcfour (Makefile.am): Likewise.
74956         * modules/gc-des (Makefile.am): Likewise.
74957         * modules/gc-hmac-md5 (Makefile.am): Likewise.
74958         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
74959         * modules/gc-md4 (Makefile.am): Likewise.
74960         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74961         * modules/gc-sha1 (Makefile.am): Likewise.
74962         * modules/gc (Makefile.am): Likewise.
74963         * modules/getaddrinfo (Makefile.am): Likewise.
74964         * modules/getcwd (Makefile.am): Likewise.
74965         * modules/getdelim (Makefile.am): Likewise.
74966         * modules/getdomainname (Makefile.am): Likewise.
74967         * modules/getgroups (Makefile.am): Likewise.
74968         * modules/gethostname (Makefile.am): Likewise.
74969         * modules/gethrxtime (Makefile.am): Likewise.
74970         * modules/getline (Makefile.am): Likewise.
74971         * modules/getloadavg (Makefile.am): Likewise.
74972         * modules/getlogin_r (Makefile.am): Likewise.
74973         * modules/getndelim2 (Makefile.am): Likewise.
74974         * modules/getopt (Makefile.am): Likewise.
74975         * modules/getpagesize (Makefile.am): Likewise.
74976         * modules/getpass-gnu (Makefile.am): Likewise.
74977         * modules/getpass (Makefile.am): Likewise.
74978         * modules/getsubopt (Makefile.am): Likewise.
74979         * modules/gettime (Makefile.am): Likewise.
74980         * modules/gettimeofday (Makefile.am): Likewise.
74981         * modules/getugroups (Makefile.am): Likewise.
74982         * modules/getusershell (Makefile.am): Likewise.
74983         * modules/glob (Makefile.am): Likewise.
74984         * modules/group-member (Makefile.am): Likewise.
74985         * modules/hard-locale (Makefile.am): Likewise.
74986         * modules/hash (Makefile.am): Likewise.
74987         * modules/hmac-md5 (Makefile.am): Likewise.
74988         * modules/hmac-sha1 (Makefile.am): Likewise.
74989         * modules/human (Makefile.am): Likewise.
74990         * modules/idcache (Makefile.am): Likewise.
74991         * modules/imaxabs (Makefile.am): Likewise.
74992         * modules/imaxdiv (Makefile.am): Likewise.
74993         * modules/inet_ntop (Makefile.am): Likewise.
74994         * modules/inet_pton (Makefile.am): Likewise.
74995         * modules/intprops (Makefile.am): Likewise.
74996         * modules/inttostr (Makefile.am): Likewise.
74997         * modules/inttypes (Makefile.am): Likewise.
74998         * modules/isapipe (Makefile.am): Likewise.
74999         * modules/javaversion (Makefile.am): Likewise.
75000         * modules/lchmod (Makefile.am): Likewise.
75001         * modules/lchown (Makefile.am): Likewise.
75002         * modules/localcharset (Makefile.am): Likewise.
75003         * modules/long-options (Makefile.am): Likewise.
75004         * modules/lstat (Makefile.am): Likewise.
75005         * modules/malloc (Makefile.am): Likewise.
75006         * modules/mathl (Makefile.am): Likewise.
75007         * modules/mbchar (Makefile.am): Likewise.
75008         * modules/md2 (Makefile.am): Likewise.
75009         * modules/md4 (Makefile.am): Likewise.
75010         * modules/md5 (Makefile.am): Likewise.
75011         * modules/memcasecmp (Makefile.am): Likewise.
75012         * modules/memchr (Makefile.am): Likewise.
75013         * modules/memcmp (Makefile.am): Likewise.
75014         * modules/memcoll (Makefile.am): Likewise.
75015         * modules/memcpy (Makefile.am): Likewise.
75016         * modules/memmem (Makefile.am): Likewise.
75017         * modules/memmove (Makefile.am): Likewise.
75018         * modules/mempcpy (Makefile.am): Likewise.
75019         * modules/memrchr (Makefile.am): Likewise.
75020         * modules/memset (Makefile.am): Likewise.
75021         * modules/memxor (Makefile.am): Likewise.
75022         * modules/mkancesdirs (Makefile.am): Likewise.
75023         * modules/mkdir-p (Makefile.am): Likewise.
75024         * modules/mkdir (Makefile.am): Likewise.
75025         * modules/mkdtemp (Makefile.am): Likewise.
75026         * modules/mkstemp (Makefile.am): Likewise.
75027         * modules/mktime (Makefile.am): Likewise.
75028         * modules/modechange (Makefile.am): Likewise.
75029         * modules/mountlist (Makefile.am): Likewise.
75030         * modules/nanosleep (Makefile.am): Likewise.
75031         * modules/obstack (Makefile.am): Likewise.
75032         * modules/openat (Makefile.am): Likewise.
75033         * modules/pagealign_alloc (Makefile.am): Likewise.
75034         * modules/pathmax (Makefile.am): Likewise.
75035         * modules/physmem (Makefile.am): Likewise.
75036         * modules/poll (Makefile.am): Likewise.
75037         * modules/posixtm (Makefile.am): Likewise.
75038         * modules/posixver (Makefile.am): Likewise.
75039         * modules/putenv (Makefile.am): Likewise.
75040         * modules/quote (Makefile.am): Likewise.
75041         * modules/quotearg (Makefile.am): Likewise.
75042         * modules/raise (Makefile.am): Likewise.
75043         * modules/read-file (Makefile.am): Likewise.
75044         * modules/readline (Makefile.am): Likewise.
75045         * modules/readlink (Makefile.am): Likewise.
75046         * modules/readtokens (Makefile.am): Likewise.
75047         * modules/readutmp (Makefile.am): Likewise.
75048         * modules/realloc (Makefile.am): Likewise.
75049         * modules/regex (Makefile.am): Likewise.
75050         * modules/rename-dest-slash (Makefile.am): Likewise.
75051         * modules/rename (Makefile.am): Likewise.
75052         * modules/rijndael (Makefile.am): Likewise.
75053         * modules/rmdir (Makefile.am): Likewise.
75054         * modules/rpmatch (Makefile.am): Likewise.
75055         * modules/safe-read (Makefile.am): Likewise.
75056         * modules/safe-write (Makefile.am): Likewise.
75057         * modules/same-inode (Makefile.am): Likewise.
75058         * modules/same (Makefile.am): Likewise.
75059         * modules/save-cwd (Makefile.am): Likewise.
75060         * modules/savedir (Makefile.am): Likewise.
75061         * modules/setenv (Makefile.am): Likewise.
75062         * modules/settime (Makefile.am): Likewise.
75063         * modules/sha1 (Makefile.am): Likewise.
75064         * modules/sig2str (Makefile.am): Likewise.
75065         * modules/snprintf (Makefile.am): Likewise.
75066         * modules/stat-macros (Makefile.am): Likewise.
75067         * modules/stat-time (Makefile.am): Likewise.
75068         * modules/stdbool (Makefile.am): Likewise.
75069         * modules/stdint (Makefile.am): Likewise.
75070         * modules/stdlib-safer (Makefile.am): Likewise.
75071         * modules/stpcpy (Makefile.am): Likewise.
75072         * modules/stpncpy (Makefile.am): Likewise.
75073         * modules/strcase (Makefile.am): Likewise.
75074         * modules/strcasestr (Makefile.am): Likewise.
75075         * modules/strchrnul (Makefile.am): Likewise.
75076         * modules/strcspn (Makefile.am): Likewise.
75077         * modules/strdup (Makefile.am): Likewise.
75078         * modules/strerror (Makefile.am): Likewise.
75079         * modules/strftime (Makefile.am): Likewise.
75080         * modules/strndup (Makefile.am): Likewise.
75081         * modules/strnlen (Makefile.am): Likewise.
75082         * modules/strpbrk (Makefile.am): Likewise.
75083         * modules/strsep (Makefile.am): Likewise.
75084         * modules/strstr (Makefile.am): Likewise.
75085         * modules/strtod (Makefile.am): Likewise.
75086         * modules/strtoimax (Makefile.am): Likewise.
75087         * modules/strtok_r (Makefile.am): Likewise.
75088         * modules/strtol (Makefile.am): Likewise.
75089         * modules/strtoll (Makefile.am): Likewise.
75090         * modules/strtoul (Makefile.am): Likewise.
75091         * modules/strtoull (Makefile.am): Likewise.
75092         * modules/strtoumax (Makefile.am): Likewise.
75093         * modules/strverscmp (Makefile.am): Likewise.
75094         * modules/sys_socket (Makefile.am): Likewise.
75095         * modules/sys_stat (Makefile.am): Likewise.
75096         * modules/sysexits (Makefile.am): Likewise.
75097         * modules/time_r (Makefile.am): Likewise.
75098         * modules/timegm (Makefile.am): Likewise.
75099         * modules/timespec (Makefile.am): Likewise.
75100         * modules/tmpfile-safer (Makefile.am): Likewise.
75101         * modules/trim (Makefile.am): Likewise.
75102         * modules/unistd-safer (Makefile.am): Likewise.
75103         * modules/unlinkdir (Makefile.am): Likewise.
75104         * modules/unlocked-io (Makefile.am): Likewise.
75105         * modules/userspec (Makefile.am): Likewise.
75106         * modules/utime (Makefile.am): Likewise.
75107         * modules/utimecmp (Makefile.am): Likewise.
75108         * modules/utimens (Makefile.am): Likewise.
75109         * modules/vasnprintf (Makefile.am): Likewise.
75110         * modules/vasprintf (Makefile.am): Likewise.
75111         * modules/vsnprintf (Makefile.am): Likewise.
75112         * modules/xalloc (Makefile.am): Likewise.
75113         * modules/xgetcwd (Makefile.am): Likewise.
75114         * modules/xnanosleep (Makefile.am): Likewise.
75115         * modules/xreadlink (Makefile.am): Likewise.
75116         * modules/xstrtod (Makefile.am): Likewise.
75117         * modules/xstrtol (Makefile.am): Likewise.
75118         * modules/xstrtold (Makefile.am): Likewise.
75119         * modules/yesno (Makefile.am): Likewise.
75120         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
75121
75122 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75123
75124         * modules/error (Makefile.am): Distribute files through
75125         EXTRA_DIST, not lib_SOURCES.
75126
75127 2006-10-12  Eric Blake  <ebb9@byu.net>
75128
75129         * modules/error (Makefile.am): Distribute files in /lib.
75130         * modules/obstack (Makefile.am): Likewise.
75131
75132 2006-10-12  Bruno Haible  <bruno@clisp.org>
75133
75134         * modules/acl (Makefile.am): Distribute all files in lib/ through
75135         EXTRA_DIST.
75136         * modules/arcfour (Makefile.am): Likewise.
75137         * modules/arctwo (Makefile.am): Likewise.
75138         * modules/argmatch (Makefile.am): Likewise.
75139         * modules/argz (Makefile.am): Likewise.
75140         * modules/atexit (Makefile.am): Likewise.
75141         * modules/backupfile (Makefile.am): Likewise.
75142         * modules/c-strtod (Makefile.am): Likewise.
75143         * modules/c-strtold (Makefile.am): Likewise.
75144         * modules/calloc (Makefile.am): Likewise.
75145         * modules/canon-host (Makefile.am): Likewise.
75146         * modules/canonicalize (Makefile.am): Likewise.
75147         * modules/chdir-long (Makefile.am): Likewise.
75148         * modules/chdir-safer (Makefile.am): Likewise.
75149         * modules/check-version (Makefile.am): Likewise.
75150         * modules/chown (Makefile.am): Likewise.
75151         * modules/cloexec (Makefile.am): Likewise.
75152         * modules/close-stream (Makefile.am): Likewise.
75153         * modules/closeout (Makefile.am): Likewise.
75154         * modules/crc (Makefile.am): Likewise.
75155         * modules/cycle-check (Makefile.am): Likewise.
75156         * modules/des (Makefile.am): Likewise.
75157         * modules/dirfd (Makefile.am): Likewise.
75158         * modules/dirname (Makefile.am): Likewise.
75159         * modules/dup2 (Makefile.am): Likewise.
75160         * modules/euidaccess (Makefile.am): Likewise.
75161         * modules/exclude (Makefile.am): Likewise.
75162         * modules/exitfail (Makefile.am): Likewise.
75163         * modules/fcntl-safer (Makefile.am): Likewise.
75164         * modules/file-type (Makefile.am): Likewise.
75165         * modules/fileblocks (Makefile.am): Likewise.
75166         * modules/filemode (Makefile.am): Likewise.
75167         * modules/filenamecat (Makefile.am): Likewise.
75168         * modules/fnmatch (Makefile.am): Likewise.
75169         * modules/fopen-safer (Makefile.am): Likewise.
75170         * modules/fpending (Makefile.am): Likewise.
75171         * modules/fprintftime (Makefile.am): Likewise.
75172         * modules/free (Makefile.am): Likewise.
75173         * modules/fsusage (Makefile.am): Likewise.
75174         * modules/ftruncate (Makefile.am): Likewise.
75175         * modules/fts (Makefile.am): Likewise.
75176         * modules/gc (Makefile.am): Likewise.
75177         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
75178         * modules/getaddrinfo (Makefile.am): Likewise.
75179         * modules/getcwd (Makefile.am): Likewise.
75180         * modules/getdelim (Makefile.am): Likewise.
75181         * modules/getdomainname (Makefile.am): Likewise.
75182         * modules/getgroups (Makefile.am): Likewise.
75183         * modules/gethostname (Makefile.am): Likewise.
75184         * modules/gethrxtime (Makefile.am): Likewise.
75185         * modules/getline (Makefile.am): Likewise.
75186         * modules/getloadavg (Makefile.am): Likewise.
75187         * modules/getlogin_r (Makefile.am): Likewise.
75188         * modules/getopt (Makefile.am): Likewise.
75189         * modules/getpass (Makefile.am): Likewise.
75190         * modules/getpass-gnu (Makefile.am): Likewise.
75191         * modules/getsubopt (Makefile.am): Likewise.
75192         * modules/gettime (Makefile.am): Likewise.
75193         * modules/gettimeofday (Makefile.am): Likewise.
75194         * modules/getugroups (Makefile.am): Likewise.
75195         * modules/getusershell (Makefile.am): Likewise.
75196         * modules/glob (Makefile.am): Likewise.
75197         * modules/group-member (Makefile.am): Likewise.
75198         * modules/hard-locale (Makefile.am): Likewise.
75199         * modules/hash (Makefile.am): Likewise.
75200         * modules/hmac-md5 (Makefile.am): Likewise.
75201         * modules/hmac-sha1 (Makefile.am): Likewise.
75202         * modules/human (Makefile.am): Likewise.
75203         * modules/idcache (Makefile.am): Likewise.
75204         * modules/imaxabs (Makefile.am): Likewise.
75205         * modules/imaxdiv (Makefile.am): Likewise.
75206         * modules/inet_ntop (Makefile.am): Likewise.
75207         * modules/inet_pton (Makefile.am): Likewise.
75208         * modules/inttostr (Makefile.am): Likewise.
75209         * modules/isapipe (Makefile.am): Likewise.
75210         * modules/lchown (Makefile.am): Likewise.
75211         * modules/long-options (Makefile.am): Likewise.
75212         * modules/lstat (Makefile.am): Likewise.
75213         * modules/malloc (Makefile.am): Likewise.
75214         * modules/mathl (Makefile.am): Likewise.
75215         * modules/mbchar (Makefile.am): Likewise.
75216         * modules/md2 (Makefile.am): Likewise.
75217         * modules/md4 (Makefile.am): Likewise.
75218         * modules/md5 (Makefile.am): Likewise.
75219         * modules/memcasecmp (Makefile.am): Likewise.
75220         * modules/memchr (Makefile.am): Likewise.
75221         * modules/memcmp (Makefile.am): Likewise.
75222         * modules/memcoll (Makefile.am): Likewise.
75223         * modules/memcpy (Makefile.am): Likewise.
75224         * modules/memmem (Makefile.am): Likewise.
75225         * modules/memmove (Makefile.am): Likewise.
75226         * modules/mempcpy (Makefile.am): Likewise.
75227         * modules/memrchr (Makefile.am): Likewise.
75228         * modules/memset (Makefile.am): Likewise.
75229         * modules/memxor (Makefile.am): Likewise.
75230         * modules/mkancesdirs (Makefile.am): Likewise.
75231         * modules/mkdir (Makefile.am): Likewise.
75232         * modules/mkdir-p (Makefile.am): Likewise.
75233         * modules/mkdtemp (Makefile.am): Likewise.
75234         * modules/mkstemp (Makefile.am): Likewise.
75235         * modules/mktime (Makefile.am): Likewise.
75236         * modules/modechange (Makefile.am): Likewise.
75237         * modules/mountlist (Makefile.am): Likewise.
75238         * modules/nanosleep (Makefile.am): Likewise.
75239         * modules/openat (Makefile.am): Likewise.
75240         * modules/pagealign_alloc (Makefile.am): Likewise.
75241         * modules/physmem (Makefile.am): Likewise.
75242         * modules/poll (Makefile.am): Likewise.
75243         * modules/posixtm (Makefile.am): Likewise.
75244         * modules/posixver (Makefile.am): Likewise.
75245         * modules/putenv (Makefile.am): Likewise.
75246         * modules/quote (Makefile.am): Likewise.
75247         * modules/quotearg (Makefile.am): Likewise.
75248         * modules/raise (Makefile.am): Likewise.
75249         * modules/read-file (Makefile.am): Likewise.
75250         * modules/readline (Makefile.am): Likewise.
75251         * modules/readlink (Makefile.am): Likewise.
75252         * modules/readtokens (Makefile.am): Likewise.
75253         * modules/readutmp (Makefile.am): Likewise.
75254         * modules/realloc (Makefile.am): Likewise.
75255         * modules/regex (Makefile.am): Likewise.
75256         * modules/rename (Makefile.am): Likewise.
75257         * modules/rename-dest-slash (Makefile.am): Likewise.
75258         * modules/rijndael (Makefile.am): Likewise.
75259         * modules/rmdir (Makefile.am): Likewise.
75260         * modules/rpmatch (Makefile.am): Likewise.
75261         * modules/safe-read (Makefile.am): Likewise.
75262         * modules/safe-write (Makefile.am): Likewise.
75263         * modules/same (Makefile.am): Likewise.
75264         * modules/save-cwd (Makefile.am): Likewise.
75265         * modules/savedir (Makefile.am): Likewise.
75266         * modules/setenv (Makefile.am): Likewise.
75267         * modules/settime (Makefile.am): Likewise.
75268         * modules/sha1 (Makefile.am): Likewise.
75269         * modules/sig2str (Makefile.am): Likewise.
75270         * modules/snprintf (Makefile.am): Likewise.
75271         * modules/stdlib-safer (Makefile.am): Likewise.
75272         * modules/stpcpy (Makefile.am): Likewise.
75273         * modules/stpncpy (Makefile.am): Likewise.
75274         * modules/strcase (Makefile.am): Likewise.
75275         * modules/strcasestr (Makefile.am): Likewise.
75276         * modules/strchrnul (Makefile.am): Likewise.
75277         * modules/strcspn (Makefile.am): Likewise.
75278         * modules/strdup (Makefile.am): Likewise.
75279         * modules/strerror (Makefile.am): Likewise.
75280         * modules/strftime (Makefile.am): Likewise.
75281         * modules/strndup (Makefile.am): Likewise.
75282         * modules/strnlen (Makefile.am): Likewise.
75283         * modules/strpbrk (Makefile.am): Likewise.
75284         * modules/strsep (Makefile.am): Likewise.
75285         * modules/strstr (Makefile.am): Likewise.
75286         * modules/strtod (Makefile.am): Likewise.
75287         * modules/strtoimax (Makefile.am): Likewise.
75288         * modules/strtok_r (Makefile.am): Likewise.
75289         * modules/strtol (Makefile.am): Likewise.
75290         * modules/strtoll (Makefile.am): Likewise.
75291         * modules/strtoul (Makefile.am): Likewise.
75292         * modules/strtoull (Makefile.am): Likewise.
75293         * modules/strtoumax (Makefile.am): Likewise.
75294         * modules/strverscmp (Makefile.am): Likewise.
75295         * modules/time_r (Makefile.am): Likewise.
75296         * modules/timegm (Makefile.am): Likewise.
75297         * modules/tmpfile-safer (Makefile.am): Likewise.
75298         * modules/unistd-safer (Makefile.am): Likewise.
75299         * modules/unlinkdir (Makefile.am): Likewise.
75300         * modules/userspec (Makefile.am): Likewise.
75301         * modules/utime (Makefile.am): Likewise.
75302         * modules/utimecmp (Makefile.am): Likewise.
75303         * modules/utimens (Makefile.am): Likewise.
75304         * modules/vasnprintf (Makefile.am): Likewise.
75305         * modules/vasprintf (Makefile.am): Likewise.
75306         * modules/vsnprintf (Makefile.am): Likewise.
75307         * modules/xalloc (Makefile.am): Likewise.
75308         * modules/xgetcwd (Makefile.am): Likewise.
75309         * modules/xnanosleep (Makefile.am): Likewise.
75310         * modules/xreadlink (Makefile.am): Likewise.
75311         * modules/xstrtod (Makefile.am): Likewise.
75312         * modules/xstrtol (Makefile.am): Likewise.
75313         * modules/xstrtold (Makefile.am): Likewise.
75314         * modules/yesno (Makefile.am): Likewise.
75315
75316 2006-10-12  Jim Meyering  <jim@meyering.net>
75317
75318         * m4/getloadavg.m4: Revert the change below.
75319
75320         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
75321         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
75322         fail with a symlink, which is what coreutils' ./bootstrap now
75323         creates by default.
75324
75325 2006-10-12  Bruno Haible  <bruno@clisp.org>
75326
75327         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
75328         mingw.
75329         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
75330         MSVC and mingw explicitly.
75331
75332 2006-10-11  Simon Josefsson  <jas@extundo.com>
75333             Bruno Haible  <bruno@clisp.org>
75334
75335         Add support for multiple gnulib-tool invocations in the scope of a
75336         single configure.ac file.
75337         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
75338         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
75339         with the same contents as the _LIBADD variable.
75340         (func_emit_initmacro_start, func_emit_initmacro_end,
75341         func_emit_initmacro_done): New functions.
75342         (func_import, func_create_testdir): Invoke them. Allow the identifiers
75343         gl_LIBOBJS and gl_LTLIBOBJS.
75344
75345 2006-10-11  Bruno Haible  <bruno@clisp.org>
75346
75347         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
75348         (func_create_testdir): Don't create po/Makefile.am, don't invoke
75349         autoreconf. Instead, invoke autopoint explicitly but move back the
75350         *.m4 files from gnulib.
75351
75352 2006-10-11  Bruno Haible  <bruno@clisp.org>
75353
75354         * gnulib-tool (func_usage): Make module names after --create-testdir
75355         optional.
75356         (func_create_testdir): If no module was specified, use nearly all
75357         modules.
75358
75359 2006-10-12  Jim Meyering  <jim@meyering.net>
75360
75361         Big performance improvement for fts-based tools that use FTS_NOSTAT.
75362         Avoid spurious inode-mismatch problems on non-POSIX file systems.
75363         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
75364         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
75365         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
75366         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
75367         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
75368         (fts_set_stat_required): New function.
75369         (fts_open): Defer the calls to fts_stat, if possible or requested.
75370         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
75371         into fts_stat itself.
75372         (fts_read): Perform any required (deferred) fts_stat call.
75373         (fts_build): Likewise, for the directory we're about to open and read.
75374         In the readdir loop, carefully decide whether each entry will require
75375         an eventual call to fts_stat, using dirent.d_type info if available.
75376         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
75377         a command line argument into this function.  Update all callers.
75378         Map a return value of FTS_DOT to FTS_D for a command line argument.
75379         * modules/fts (Depends-on): Add d-type.  Alphabetize.
75380         Thanks to Miklos Szeredi for his tenacity and for the initial
75381         bug report about "find" failing on a FUSE-based file system.
75382
75383         * lib/fts.c (fts_open): Use consistent indentation.
75384
75385 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75386
75387         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
75388         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
75389         reported by Jim Meyering.  All uses of cache variables renamed
75390         to match Autoconf's.
75391         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
75392         the other one.
75393
75394         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
75395         Fix misspelling in diagnostic.
75396
75397 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
75398
75399         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
75400         defined.  Problem reported by Matthew Woehlke.
75401
75402         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
75403         Add support for Tandem NonStop R series.
75404         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
75405         Use new macro.
75406
75407         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
75408         (has_trailing_slash): Omit size arg; all callers changed.
75409         Omit 'inline', since it doesn't help performance and we'd
75410         need to configure it.
75411         Don't count //, ///, etc. as having a trailing slash.
75412         As a side effect, this removes a C99ism reported by Matthew Woehlke.
75413         (rpl_rename_dest_slash): On failure, use rename's errno rather
75414         than (in some cases) an incorrect or junk errno.
75415         Simplify code by removing need to compute length; this does
75416         cause it to make two passes instead of one over the file name,
75417         but it's worth it.
75418
75419         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
75420         change, since Autoconf's version may no longer be appropriate now
75421         that we are using CVS Autoconf's version.  Add support for Tandem.
75422
75423 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
75424             Bruno Haible  <bruno@clisp.org>
75425
75426         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
75427         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
75428         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
75429         gl_AC_TYPE_LONG_LONG.
75430
75431         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
75432         instead of HAVE_LONG_LONG.
75433         * lib/printf-args.c (printf_fetchargs): Likewise.
75434         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
75435         * lib/vasnprintf.c (VASNPRINTF): Likewise.
75436         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
75437         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
75438         gl_AC_TYPE_LONG_LONG.
75439
75440 2006-10-11  Bruno Haible  <bruno@clisp.org>
75441
75442         * m4/longlong.m4: Add comments.
75443         * m4/ulonglong.m4: Likewise.
75444
75445 2006-10-10  Bruno Haible  <bruno@clisp.org>
75446
75447         Make it possible to #define stpcpy, strdup to aliases.
75448         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
75449         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
75450
75451 2006-10-10  Bruno Haible  <bruno@clisp.org>
75452
75453         Make it possible to #define gcd to an alias.
75454         * lib/gcd.c: Include config.h.
75455
75456 2006-10-10  Bruno Haible  <bruno@clisp.org>
75457
75458         Make it possible to #define c_isascii to an alias.
75459         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
75460         defined. Undefine the macros before defining them, to avoid gcc
75461         warnings.
75462         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
75463         define NO_C_CTYPE_MACROS early.
75464
75465 2006-10-10  Bruno Haible  <bruno@clisp.org>
75466
75467         Make it possible to #define set_program_name to an alias.
75468         * lib/progname.c: Don't undefine set_program_name; instead, undefine
75469         ENABLE_RELOCATABLE early.
75470
75471 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
75472
75473         Port to Tandem NSK OSS, which has 64-bit signed int but at most
75474         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
75475         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
75476         More generally, don't assume that 64-bit signed int is available
75477         if unsigned int is, and vice versa.
75478         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
75479         unsigned symbols, not on their signed counterparts.
75480         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
75481         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
75482         (UINT64_C, UINTMAX_C):
75483         Likewise.
75484         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
75485         unsigned counterparts.
75486         (Have_long_long, Unsigned): New macros.
75487         (Int): Renamed from INT.
75488         (strtoimax): Use the new macros.
75489         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
75490         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
75491         * modules/inttypes (inttypes.h): Substitute
75492         HAVE_UNSIGNED_LONG_LONG_INT.
75493         * modules/stdint (stdint.h): Likewise.
75494         (Files): Add m4/ulonglong.m4.
75495
75496 2006-10-10  Bruno Haible  <bruno@clisp.org>
75497
75498         Fix a gcc -Wshadow warning.
75499         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
75500         to 'bucket'.
75501         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
75502         gl_linked_indexof_from_to): Likewise.
75503         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
75504         Likewise.
75505         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
75506         Likewise.
75507         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
75508         Reported by Eric Blake.
75509
75510 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
75511
75512         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
75513         for NetBSD.  Problem reported by Bruno Haible.
75514
75515 2006-10-09  Jim Meyering  <jim@meyering.net>
75516
75517         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
75518         Patch from Bruno Haible.
75519
75520 2006-10-09  Jim Meyering  <jim@meyering.net>
75521
75522         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
75523         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
75524         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
75525
75526 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
75527
75528         Don't include <config.h> twice; this doesn't work in some cases,
75529         e.g., when config.h has "#define intmax_t long long int" and
75530         we include <config.h>, <inttypes.h>, <config.h> in that order.
75531         Problem reported by Matthew Woehlke in:
75532         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
75533         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
75534         * lib/fts-cycle.c: Don't include config.h.
75535         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
75536         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
75537         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
75538         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
75539         inttypes.h.
75540         * lib/xstrtoumax.c: Likewise.
75541         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
75542         __strtol and the like, so that this module is more like its siblings.
75543         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
75544         Remove; no longer needed now that we assume gnulib inttypes.h.
75545
75546 2006-10-08  Bruno Haible  <bruno@clisp.org>
75547
75548         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
75549         option.
75550
75551 2006-10-07  Jim Meyering  <jim@meyering.net>
75552
75553         * modules/inttypes (inttypes.h): Revert what seems to have been
75554         an inadvertent part of today's change: use "|", not "/" in the
75555         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
75556
75557 2006-10-07  Bruno Haible  <bruno@clisp.org>
75558
75559         * modules/sublist: New file.
75560
75561 2006-10-07  Bruno Haible  <bruno@clisp.org>
75562
75563         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
75564         * modules/argz (argz.h): Likewise.
75565         * modules/arpa_inet (arpa/inet.h): Likewise.
75566         * modules/byteswap (byteswap.h): Likewise.
75567         * modules/configmake (configmake.h): Likewise.
75568         * modules/fcntl (fcntl.h): Likewise.
75569         * modules/fnmatch (fnmatch.h): Likewise.
75570         * modules/getopt (getopt.h): Likewise.
75571         * modules/glob (glob.h): Likewise.
75572         * modules/inttypes (inttypes.h): Likewise.
75573         * modules/netinet_in (netinet/in.h): Likewise.
75574         * modules/poll (poll.h): Likewise.
75575         * modules/stdbool (stdbool.h): Likewise.
75576         * modules/stdint (stdint.h): Likewise.
75577         * modules/sys_select (sys/select.h): Likewise.
75578         * modules/sys_socket (sys/socket.h): Likewise.
75579         * modules/sys_stat (sys/stat.h): Likewise.
75580         * modules/sysexits (sysexits.h): Likewise.
75581         * modules/unistd (unistd.h): Likewise.
75582         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75583         Add a "DO NOT EDIT" comment to the generated file.
75584         (func_import): Likewise for gnulib-comp.m4.
75585
75586 2006-10-07  Bruno Haible  <bruno@clisp.org>
75587
75588         * lib/gl_sublist.h: New file.
75589         * lib/gl_sublist.c: New file.
75590
75591 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
75592
75593         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
75594         name (relative to the original working directory) and the file
75595         name component (relative to the temporary working directory).  All
75596         callers changed.
75597         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
75598         * lib/mkdir-p.c (make_dir_parents): Likewise.
75599         * lib/mkdir-p.h (make_dir_parents): Likewise.
75600
75601 2006-10-06  Eric Blake  <ebb9@byu.net>
75602
75603         Define several macros for use by the clean-temp module.
75604         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
75605         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
75606         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
75607
75608         * lib/clean-temp.h (close_stream_temp): New declaration.
75609         * lib/clean-temp.c (includes): Pull in headers according to what
75610         other modules are in use.
75611         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
75612
75613 2006-10-06  Bruno Haible  <bruno@clisp.org>
75614
75615         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
75616         instead of fopen, fwriteerror.
75617
75618 2006-10-06  Bruno Haible  <bruno@clisp.org>
75619
75620         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
75621         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
75622         int.
75623         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
75624         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
75625         Return an error indicator.
75626         Suggested by Eric Blake.
75627
75628 2006-10-06  Bruno Haible  <bruno@clisp.org>
75629
75630         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
75631         Reported by Eric Blake.
75632
75633 2006-10-06  Bruno Haible  <bruno@clisp.org>
75634
75635         * modules/closeout (Description): Mention stderr too.
75636
75637 2006-10-06  Bruno Haible  <bruno@clisp.org>
75638         and Paul Eggert  <eggert@cs.ucla.edu>
75639
75640         * lib/closeout.c (close_stdout): Also close stderr.
75641         * lib/closeout.h: Update comment.
75642
75643 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
75644
75645         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
75646         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
75647         * lib/dirchownmod.c: Include lchown.h.
75648         * lib/lchown.c: Don't include files that lchown.h now includes.
75649         Don't declare chown, since lchown.h now does that.
75650         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
75651         (lchown): Define to rpl_chown if lchown is declared but
75652         does not exist.  Declare using a prototype if lchown is not
75653         declared.  Add a copyright notice.
75654         * lib/mkstemp.h: Include <unistd.h>.
75655         * lib/openat.c: Include lchown.h.
75656
75657         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
75658         we now test for that separately.
75659         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
75660         rather than O_NOFOLLOW, when testing whether it's possible to
75661         avoid a race condition reliably.
75662         * lib/savewd.c (savewd_chdir): Likewise.
75663
75664         Remove macros that are no longer needed now that stdint.h is
75665         reliable.
75666         * lib/fsusage.c (UINTMAX_MAX): Remove.
75667         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
75668         * lib/utimecmp.c (SIZE_MAX): Remove.
75669
75670         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
75671
75672         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
75673         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
75674         O_NOATIME works.
75675
75676 2006-10-05  Bruno Haible  <bruno@clisp.org>
75677
75678         * lib/gl_list.h (gl_sortedlist_search_from_to,
75679         gl_sortedlist_indexof_from_to): New declarations.
75680         (gl_list_implementation): New fields sortedlist_search_from_to,
75681         sortedlist_indexof_from_to.
75682         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
75683         inline functions.
75684         * lib/gl_list.c (gl_sortedlist_search_from_to,
75685         gl_sortedlist_indexof_from_to): New functions.
75686         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
75687         function.
75688         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
75689         (gl_array_sortedlist_search_from_to): New function.
75690         (gl_array_list_implementation): Update.
75691         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
75692         function.
75693         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
75694         (gl_carray_sortedlist_search_from_to): New function.
75695         (gl_carray_list_implementation): Update.
75696         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
75697         gl_linked_sortedlist_indexof_from_to): New functions.
75698         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75699         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75700         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
75701         gl_tree_sortedlist_indexof_from_to): New functions.
75702         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75703         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75704         Update.
75705         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75706         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
75707         Update.
75708
75709 2006-10-05  Bruno Haible  <bruno@clisp.org>
75710
75711         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
75712         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
75713         (struct gl_list_implementation): Add fields search_from_to,
75714         indexof_from_to. Remove fields search, indexof.
75715         (gl_list_search): Use the search_from_to method.
75716         (gl_list_search_from, gl_list_search_from_to): New functions.
75717         (gl_list_indexof): Use the indexof_from_to method.
75718         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75719         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
75720         (gl_list_search_from, gl_list_search_from_to): New functions.
75721         (gl_list_indexof): Use the indexof_from_to method.
75722         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75723         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
75724         gl_array_indexof. Add start_index, end_index arguments.
75725         (gl_array_search_from_to): Renamed from gl_array_search. Add
75726         start_index, end_index arguments.
75727         (gl_array_remove, gl_array_list_implementation): Update.
75728         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
75729         gl_carray_indexof. Add start_index, end_index arguments.
75730         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
75731         start_index, end_index arguments.
75732         (gl_carray_remove, gl_carray_list_implementation): Update.
75733         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
75734         gl_linked_search. Add start_index, end_index arguments.
75735         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
75736         start_index, end_index arguments.
75737         (gl_linked_remove): Update.
75738         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75739         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75740         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
75741         field to 'size_t'.
75742         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
75743         gl_tree_search. Add start_index, end_index arguments.
75744         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75745         start_index, end_index arguments.
75746         (gl_tree_remove): Update.
75747         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75748         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75749         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
75750         function.
75751         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
75752         gl_tree_search. Add start_index, end_index arguments.
75753         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75754         start_index, end_index arguments.
75755         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75756         Update.
75757         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
75758
75759 2006-10-05  Bruno Haible  <bruno@clisp.org>
75760
75761         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
75762
75763         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
75764         fwriteerror_temp): New declarations.
75765         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
75766         (descriptors): New variable.
75767         (cleanup): First, close the descriptors.
75768         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
75769         fclose_temp, fwriteerror_temp): New functions.
75770
75771 2006-10-04  Jim Meyering  <jim@meyering.net>
75772
75773         * lib/fts.c (fts_open): Tiny comment change.
75774
75775 2006-10-04  Bruno Haible  <bruno@clisp.org>
75776
75777         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
75778         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
75779         gl_LOCK_BODY.
75780         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
75781         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
75782         gl_LOCK_EARLY_BODY.
75783         (gl_LOCK): Require gl_LOCK_BODY.
75784
75785 2006-10-04  Bruno Haible  <bruno@clisp.org>
75786
75787         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
75788         (gl_oset_search_atleast): New declaration.
75789         (struct gl_oset_implementation): Add field 'search_atleast'.
75790         (gl_oset_search_atleast): New inline function.
75791         * lib/gl_oset.c (gl_oset_search_atleast): New function.
75792         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
75793         (gl_array_oset_implementation): Update.
75794         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
75795         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
75796         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
75797
75798 2006-10-04  Bruno Haible  <bruno@clisp.org>
75799
75800         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
75801
75802 2006-10-03  Bruno Haible  <bruno@clisp.org>
75803
75804         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
75805         from gl_avltreehash_list_implementation.
75806
75807 2006-10-03  Bruno Haible  <bruno@clisp.org>
75808
75809         * lib/gl_oset.c (gl_oset_add): Fix return type.
75810
75811 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
75812
75813         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
75814
75815 2006-10-02  Eric Blake  <ebb9@byu.net>
75816
75817         * modules/strnlen (Depends-on): Add extensions.
75818
75819 2006-10-02  Eric Blake  <ebb9@byu.net>
75820
75821         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
75822         definition in 2.60+.
75823
75824 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
75825
75826         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
75827         checks.
75828
75829 2006-10-02  Bruno Haible  <bruno@clisp.org>
75830
75831         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
75832         to the AUTOMAKE_OPTIONS.
75833         Reported by Jim Meyering.
75834
75835 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75836
75837         Work around bug in Solaris 10 /proc file system:
75838         /proc/self/fd/NNN/.. isn't the parent directory of
75839         the directory whose file descriptor is NNN.  This needs to
75840         be worked around at run time, not compile time, since a
75841         program might be built on Solaris 8, where things work, and
75842         run on Solaris 10.
75843         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
75844         to use the following interface instead:
75845         (OPENAT_BUFFER_SIZE): New macro.
75846         (openat_proc_name): New function.
75847         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
75848         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
75849         Likewise.
75850         * lib/openat-proc.c: New file.
75851         * modules/openat (Files): Add lib/openat-proc.c.
75852         (Depends-on): Add same-inode, stdbool.
75853         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
75854
75855 2006-09-29  Bruno Haible  <bruno@clisp.org>
75856
75857         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
75858         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
75859         argument. Set stdout_closed before testing for ferror, not after.
75860         (fwriteerror, fwriteerror_no_ebadf): New functions.
75861
75862 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75863
75864         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
75865
75866 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
75867
75868         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
75869         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
75870
75871 2006-09-28  Jim Meyering  <jim@meyering.net>
75872
75873         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
75874         Include <unistd.h>.
75875
75876 2006-09-28  Bruno Haible  <bruno@clisp.org>
75877
75878         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
75879         * modules/linkedhash-list (Depends-on): Likewise.
75880         * modules/rbtreehash-list (Depends-on): Likewise.
75881
75882 2006-09-28  Bruno Haible  <bruno@clisp.org>
75883
75884         * lib/strndup.h: Simplify the redefinition of strndup.
75885         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
75886         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
75887
75888 2006-09-28  Bruno Haible  <bruno@clisp.org>
75889
75890         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
75891         * lib/gl_linkedhash_list.c: Likewise.
75892         * lib/gl_rbtreehash_list.c: Likewise.
75893
75894 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
75895
75896         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
75897         getaddrinfo.
75898
75899         * lib/__fpending.h: Don't include <stdio_ext.h> unless
75900         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
75901         it causes <stdio_ext.h> to cause a compile-time error.
75902         Problem reported by Nelson H. F. Beebe.
75903         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
75904         of HAVE_DECL___PENDING.
75905
75906         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
75907         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
75908         declaration.
75909
75910 2006-09-27  Jim Meyering  <jim@meyering.net>
75911
75912         This file could end up with a definition for a function
75913         named __strndup, rather than rpl_strndup on a system with
75914         incomplete weak_alias support.
75915         * lib/strndup.c (strndup): Rename from __strndup.
75916         Remove #defines that used to map __strndup to strndup.
75917         Don't use K&R prototypes.
75918         Remove LIBC-related code, since this file is not sync'd with glibc.
75919         * lib/strndup.h: Revamp, accordingly.
75920         * m4/strndup.m4: Modernize.
75921
75922 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
75923
75924         * modules/savewd (Depends-on): Add 'raise'.
75925         * lib/savewd.c: Include <signal.h>, for 'raise'.
75926
75927 2006-09-26  Jim Meyering  <jim@meyering.net>
75928
75929         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
75930         when we detect Darwin 8.7.0's acl_get_file bug.
75931         Rearrange to perform the new (below) run-test while $LIBS
75932         contains any acl-related library.  Set USE_ACL at the end.
75933         (gl_ACL_GET_FILE): New function.
75934
75935 2006-09-26  Eric Blake  <ebb9@byu.net>
75936
75937         * lib/verror.c: Include <config.h> unconditionally.
75938
75939 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75940
75941         * modules/clock-time (Maintainer): Add self.
75942         * modules/getlogin_r (Depends-on): Add extensions.
75943
75944 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75945
75946         * modules/clock-time: New module.
75947         * modules/nanosleep (Depends-on): Add clock-time.
75948         * modules/gethrxtime (Depends-on): Likewise.
75949         * modules/gettime (Depends-on): Likewise.
75950         * modules/settime (Depends-on): Likewise.
75951
75952         * modules/fts-lgpl: Depend on openat.
75953         * modules/mkancesdirs: Depend on savewd.
75954         * modules/mkdir-p: Likewise.
75955
75956 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75957
75958         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
75959
75960         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
75961         `gl_have_arbitrary_file_name_length_limit' to
75962         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
75963         actually works between configure runs.
75964
75965 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75966             Bruno Haible  <bruno@clisp.org>
75967
75968         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
75969
75970 2006-09-25  Jim Meyering  <jim@meyering.net>
75971
75972         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
75973         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
75974
75975 2006-09-25  Eric Blake  <ebb9@byu.net>
75976
75977         * gnulib-tool (func_import, func_create_testdir): Fix typos in
75978         exec's in 2006-09-18 patch when shuffling fds.
75979
75980 2006-09-25  Bruno Haible  <bruno@clisp.org>
75981
75982         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
75983         Reported by Jim Meyering.
75984
75985 2006-09-24  Jim Meyering  <jim@meyering.net>
75986
75987         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
75988         compare a pointer against a literal "0".  That caused failures with
75989         at least HP-UX's hpcc.
75990
75991 2006-09-22  Simon Josefsson  <jas@extundo.com>
75992
75993         * modules/gc-sha1:
75994         * modules/gc-md4:
75995         * modules/gc-hmac-sha1:
75996         * modules/gc-hmac-md5:
75997         * modules/gc-des:
75998         * modules/gc-arcfour: Distribute more files.
75999
76000 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76001
76002         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
76003         (gl_linked_iterator_from_to): Initialize struct completely.
76004         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
76005         (gl_tree_iterator_from_to): Likewise
76006         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
76007         * lib/gl_array_list.c [lint] (gl_array_iterator)
76008         (gl_array_iterator_from_to): Likewise.
76009         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
76010         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
76011         (gl_carray_iterator_from_to): Likewise.
76012
76013         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
76014         * lib/md4.c (md4_process_block): Remove unused variable.
76015         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
76016         parentheses for clarity.
76017
76018 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76019
76020         * modules/bison-i18n (Depends-on): Add gettext.
76021
76022 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76023
76024         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
76025         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
76026         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
76027         also add missing comma that caused broken test.
76028         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
76029         stdlib.h, for `abort'.
76030         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
76031         variables.
76032         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
76033         include unistd.h if present, for `rmdir'.
76034         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
76035         variables.
76036         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
76037         in the process include standard headers for prototypes.
76038         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
76039         gets declared on GNU/Linux.
76040         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
76041         unistd.h, for `rmdir'.
76042         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
76043
76044         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
76045         always true.
76046         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
76047
76048         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
76049
76050 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76051
76052         * gnulib-tool (func_version): Create output all at once.  This
76053         may help avoid triggering unnecessary SIGPIPEs, and at any
76054         rate it doesn't hurt.
76055
76056 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76057             Bruno Haible  <bruno@clisp.org>
76058
76059         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
76060         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
76061         * m4/signed.m4 (bh_C_SIGNED): Likewise.
76062
76063         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
76064         (gl_FUNC_VASPRINTF): Invoke it.
76065
76066 2006-09-22  Bruno Haible  <bruno@clisp.org>
76067
76068         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
76069         getloadavg.c as first argument.
76070
76071 2006-09-22  Bruno Haible  <bruno@clisp.org>
76072
76073         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
76074         at the beginning of the gl_INIT macro.
76075         * modules/getloadavg (configure.ac): Pass $gl_source_base to
76076         gl_GETLOADAVG.
76077
76078 2006-09-22  Bruno Haible  <bruno@clisp.org>
76079
76080         * gnulib-tool (func_create_megatestdir): Don't include the config-h
76081         module.
76082         Suggested by Ralf Wildenhues.
76083
76084 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         Import this patch from libc:
76087
76088         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
76089
76090         * lib/regex_internal.c (re_string_reconstruct): Handle
76091         offset < pstr->valid_raw_len && pstr->offsets_needed case.
76092         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
76093         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
76094         re_string_context_at.
76095
76096         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
76097         now requires it.
76098         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
76099         gl_REGEX now does it for us.
76100         (gl_REGEX): Add test taken from
76101         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
76102
76103         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
76104         Check that large offsets work.  Modernize Autoconf usages.
76105         Prefer "yes" to mean a good thing rather than a bad.
76106         Don't put "#define mkstemp" in config.h, as this might interfere
76107         with standard system headers that "#define mkstemp mkstemp64".
76108
76109         * modules/mkstemp (Depends-on): Add extensions, so that
76110         mkstemp is visible on some platforms.
76111         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
76112         (Include): Change to "mkstemp.h" from <stdlib.h>.
76113         (Files): Add mkstemp.h.
76114
76115         * lib/mkstemp.h: New file, since some standard headers
76116         #define mkstemp.
76117         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
76118         Include "mkstemp.h".
76119         Make the _LIBC code resemble glibc original more,
76120         e.g., use K&R style.
76121         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
76122         (mkstemp): Remove, since mkstemp.h does this for us.
76123         * lib/stdlib--.h: Include mkstemp.h.
76124
76125         Import this patch from libc:
76126
76127         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
76128
76129         * lib/tempname.c (__gen_tempname): Change attempts_min
76130         into a macro.  Use preprocessor to decide how to initialize
76131         attempts [Coverity CID 67].
76132
76133 2006-09-20  Bruno Haible  <bruno@clisp.org>
76134
76135         * lib/mkdtemp.c: Import from libc.
76136         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
76137                 * sysdeps/posix/tempname.c (__gen_tempname): Change
76138                 attempts_min into a macro.  Use preprocessor to decide how to
76139                 initialize attempts [Coverity CID 67].
76140         2001-11-27  Paul Eggert  <eggert@twinsun.com>
76141                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
76142                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
76143
76144 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76145
76146         * gnulib-tool (func_exit): New function, to allow to pass the
76147         exit status portably through the trap.  Use everywhere.
76148         (--help, --version): Signal a write error.
76149         (trap): catch SIGPIPE, for write errors.
76150         Exit at the end of the trap, with the correct exit status.
76151
76152 2006-09-19  Karl Berry  <karl@gnu.org>
76153
76154         * doc/gnulib.texi: note about the license texinfo files.
76155
76156 2006-09-19  Eric Blake  <ebb9@byu.net>
76157
76158         * gnulib-tool: Avoid space-tab.
76159
76160 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
76161
76162         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
76163         that prevented coreutils 6.1 from building.  Problem reported
76164         by Petter Reinholdtsen.
76165
76166 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
76167
76168         * gnulib-tool (avoidlist): Fix typo that broke options like
76169         --avoid=lock that are used by coreutils bootstrap.
76170
76171 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
76172
76173         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
76174         more systematically.
76175
76176 2006-09-18  Jim Meyering  <jim@meyering.net>
76177
76178         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
76179
76180 2006-09-18  Bruno Haible  <bruno@clisp.org>
76181
76182         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
76183
76184 2006-09-18  Bruno Haible  <bruno@clisp.org>
76185
76186         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
76187         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
76188         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
76189         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
76190         * m4/gettext.m4: Require autoconf >= 2.52.
76191         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
76192         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
76193         of gl_cv_header_inttypes_h.
76194
76195 2006-09-18  Bruno Haible  <bruno@clisp.org>
76196
76197         * lib/javaversion.c: Include configmake.h.
76198
76199 2006-09-18  Bruno Haible  <bruno@clisp.org>
76200
76201         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
76202         avoid that the while loops be executed in a subshell.
76203
76204 2006-09-18  Bruno Haible  <bruno@clisp.org>
76205
76206         * MODULES.html.sh (func_module): Break long lines.
76207         Suggested by Bruce Korb <bkorb@gnu.org>.
76208
76209 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76210
76211         Speed up by a factor of 1.12.
76212         * gnulib-tool (nl): New variable.
76213         (func_import): Rewrite include directive extraction to only read each
76214         directive once.
76215
76216 2006-09-17  Bruno Haible  <bruno@clisp.org>
76217
76218         * modules/javaversion (Makefile.am): Remove DEFS setting.
76219         (Depends-on): Add configmake, for PKGDATADIR definition.
76220
76221 2006-09-17  Bruno Haible  <bruno@clisp.org>
76222
76223         * gnulib-tool (func_create_testdir): Rewrite all files at once.
76224
76225 2006-09-17  Bruno Haible  <bruno@clisp.org>
76226
76227         * gnulib-tool (func_append): New function, stolen from libtool.m4.
76228         (func_modules_transitive_closure, func_modules_add_dummy,
76229         func_modules_to_filelist, func_import, func_create_testdir,
76230         func_create_megatestdir, ...): Use it wherever possible.
76231         Suggested by Ralf Wildenhues.
76232
76233 2006-09-16  Karl Berry  <karl@gnu.org>
76234
76235         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
76236         to avoid sectioning errors.
76237         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
76238         [ifinfo]: blank line after @center-ed titles.
76239         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
76240         Spell FSF address consistently with others.
76241         (These changes approved by rms.)
76242
76243 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76244
76245         Speed up by a factor of 1.61.
76246         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
76247         already checked module names again.
76248
76249 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76250
76251         Speed up by a factor of 1.13.
76252         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
76253         for new_files, and the input to func_add_or_update.
76254
76255 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76256
76257         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
76258         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
76259
76260 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76261
76262         * modules/mkancesdirs (Depends-on): Add fcntl.
76263         * modules/savewd: New file.
76264         * MODULES.html.sh (File system functions): Add savewd.
76265
76266         * modules/configmake (Makefile.am): Add support for the
76267         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
76268
76269 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76270
76271         * m4/savewd.m4: New file.
76272
76273 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76274
76275         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
76276         (dirchownmod): New arg FD.  All callers changed.
76277         Use FD rather than opening the directory ourself, as opening is
76278         now the caller's responsibility.
76279         * lib/dirchownmod.h: Likewise.
76280         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
76281         hosts that require <sys/types.h> before <sys/stat.h>.  Include
76282         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
76283         (test_dir): Remove.
76284         (mkancesdirs): Return length of prefix of FILE that has already
76285         been made, or -2 if there is a child doing the work.  Redo
76286         algorithm so that it is O(N) rather than O(N**2).  Optimize away
76287         ".", and treat ".." specially since it might stray back into
76288         already-created areas.  Use a subprocess if necessary.  New arg
76289         WD; all users changed.  MAKE_DIR function should now return 1
76290         if it creates a directory that is not readable.  Return -2 if
76291         a child process is spun off.
76292         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
76293         Adjust signature to match code.
76294         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
76295         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
76296         all users changed.
76297         * lib/savewd.c, lib/savewd.h: New files.
76298
76299 2006-09-15  Jim Meyering  <jim@meyering.net>
76300
76301         * modules/rename-dest-slash: New module.
76302         * MODULES.html.sh (posix_compat): Add it here.
76303
76304         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
76305
76306 2006-09-15  Jim Meyering  <jim@meyering.net>
76307
76308         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
76309         file.
76310
76311         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
76312
76313 2006-09-15  Jim Meyering  <jim@meyering.net>
76314
76315         * lib/rename-dest-slash.c (has_trailing_slash): Use
76316         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
76317         (rpl_rename_dest_slash): Perform the cheaper trailing slash
76318         test before testing whether SRC is a directory.
76319         Suggestions from Bruno Haible.
76320
76321         Avoid a warning about an unused variable.
76322         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
76323         into the #ifdef block where it's used.
76324
76325         * lib/rename-dest-slash.c: New file.
76326
76327 2006-09-14  Bruno Haible  <bruno@clisp.org>
76328
76329         * lib/allocsa.c: Include <config.h> unconditionally.
76330         * lib/asnprintf.c: Likewise.
76331         * lib/asprintf.c: Likewise.
76332         * lib/c-strcasecmp.c: Likewise.
76333         * lib/c-strcasestr.c: Likewise.
76334         * lib/c-strncasecmp.c: Likewise.
76335         * lib/c-strstr.c: Likewise.
76336         * lib/classpath.c: Likewise.
76337         * lib/clean-temp.c: Likewise.
76338         * lib/concatpath.c: Likewise.
76339         * lib/copy-file.c: Likewise.
76340         * lib/csharpcomp.c: Likewise.
76341         * lib/csharpexec.c: Likewise.
76342         * lib/execute.c: Likewise.
76343         * lib/fatal-signal.c: Likewise.
76344         * lib/findprog.c: Likewise.
76345         * lib/fwriteerror.c: Likewise.
76346         * lib/gl_array_list.c: Likewise.
76347         * lib/gl_array_oset.c: Likewise.
76348         * lib/gl_avltree_list.c: Likewise.
76349         * lib/gl_avltree_oset.c: Likewise.
76350         * lib/gl_avltreehash_list.c: Likewise.
76351         * lib/gl_carray_list.c: Likewise.
76352         * lib/gl_linked_list.c: Likewise.
76353         * lib/gl_linkedhash_list.c: Likewise.
76354         * lib/gl_list.c: Likewise.
76355         * lib/gl_oset.c: Likewise.
76356         * lib/gl_rbtree_list.c: Likewise.
76357         * lib/gl_rbtree_oset.c: Likewise.
76358         * lib/gl_rbtreehash_list.c: Likewise.
76359         * lib/imaxabs.c: Likewise.
76360         * lib/imaxdiv.c: Likewise.
76361         * lib/javacomp.c: Likewise.
76362         * lib/javaexec.c: Likewise.
76363         * lib/javaversion.c: Likewise.
76364         * lib/linebreak.c: Likewise.
76365         * lib/localcharset.c: Likewise.
76366         * lib/lock.c: Likewise.
76367         * lib/mbchar.c: Likewise.
76368         * lib/mbswidth.c: Likewise.
76369         * lib/mkdtemp.c: Likewise.
76370         * lib/pipe.c: Likewise.
76371         * lib/printf-args.c: Likewise.
76372         * lib/printf-parse.c: Likewise.
76373         * lib/progname.c: Likewise.
76374         * lib/progreloc.c: Likewise.
76375         * lib/readlink.c: Likewise.
76376         * lib/sh-quote.c: Likewise.
76377         * lib/stpcpy.c: Likewise.
76378         * lib/stpncpy.c: Likewise.
76379         * lib/strcasecmp.c: Likewise.
76380         * lib/strcasestr.c: Likewise.
76381         * lib/strcspn.c: Likewise.
76382         * lib/striconv.c: Likewise.
76383         * lib/strncasecmp.c: Likewise.
76384         * lib/strnlen1.c: Likewise.
76385         * lib/strstr.c: Likewise.
76386         * lib/strtok_r.c: Likewise.
76387         * lib/tls.c: Likewise.
76388         * lib/tmpdir.c: Likewise.
76389         * lib/unicodeio.c: Likewise.
76390         * lib/unsetenv.c: Likewise.
76391         * lib/vasnprintf.c: Likewise.
76392         * lib/vasprintf.c: Likewise.
76393         * lib/wait-process.c: Likewise.
76394         * lib/xallocsa.c: Likewise.
76395         * lib/xsetenv.c: Likewise.
76396         * lib/xstriconv.c: Likewise.
76397
76398 2006-09-13  Simon Josefsson  <jas@extundo.com>
76399
76400         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
76401         that internally, suggested by Ralf Wildenhues
76402         <Ralf.Wildenhues@gmx.de>.
76403
76404 2006-09-13  Simon Josefsson  <jas@extundo.com>
76405
76406         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
76407         @LIBOBJS@.
76408         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76409
76410 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
76411
76412         * lib/_fpending.c: Include <config.h> unconditionally, since we no
76413         longer worry about uses that don't define HAVE_CONFIG_H.
76414         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
76415         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
76416         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
76417         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
76418         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
76419         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
76420         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
76421         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
76422         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
76423         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
76424         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
76425         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
76426         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
76427         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
76428         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
76429         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
76430         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
76431         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
76432         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
76433         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
76434         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
76435         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
76436         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
76437         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
76438         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
76439         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
76440         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
76441         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
76442         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
76443         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
76444         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
76445         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
76446         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
76447         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
76448         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
76449         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
76450         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
76451         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
76452         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
76453         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
76454         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
76455         Likewise.
76456
76457 2006-09-13  Eric Blake  <ebb9@byu.net>
76458
76459         * lib/getopt.c: Fix typo in last commit.
76460
76461 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
76462
76463         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
76464         dgettext.
76465
76466 2006-09-12  Jim Meyering  <jim@meyering.net>
76467
76468         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
76469         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
76470         Reported by Nelson H. F. Beebe.
76471
76472 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
76473
76474         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
76475         program_invocation_name and program_invocation_short_name are
76476         initialized.
76477         * lib/argp-namefrob.h: Move declarations of program_invocation_name
76478         and program_invocation_short_name to argp.h, so they are visible
76479         to user programs.
76480         * lib/argp.h: Likewise
76481
76482 2006-09-10  Bruno Haible  <bruno@clisp.org>
76483
76484         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76485         m4/inttypes_h.m4, m4/uintmax_t.m4.
76486
76487 2006-09-10  Bruno Haible  <bruno@clisp.org>
76488
76489         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
76490         gl_AC_TYPE_UINTMAX_T.
76491
76492 2006-09-10  Bruno Haible  <bruno@clisp.org>
76493
76494         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
76495
76496 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
76497
76498         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
76499         convention.  Text proposed by Bruno Haible.
76500         (struct argp_option): Document the use of N_() wrappers.
76501
76502         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
76503         '\v', and translate the two parts separately, instead of feeding
76504         the whole string to gettext.  This allows to exclude
76505         '\v' from the strings visible to the translator by writing doc
76506         strings as N_("..") "\v" N_("..").
76507
76508 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
76509
76510         * config/srclist.txt: Undo latest change; the bug was fixed.
76511
76512 2006-09-09  Bruno Haible  <bruno@clisp.org>
76513
76514         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
76515         assignments if building a library without libtool.
76516         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
76517         in func_emit_lib_Makefile_am.
76518         (func_import): When building a static library libfoo.a, arrange to
76519         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
76520         (func_create_testdir): Likewise.
76521         * modules/gc (configure.ac, Makefile.am): If building statically,
76522         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
76523         * modules/iconvme (configure.ac, Makefile.am): Likewise.
76524         * modules/striconv (configure.ac, Makefile.am): Likewise.
76525         Based on a suggestion by Ralf Wildenhues.
76526
76527 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76528
76529         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
76530         Check for unistd.h too, since Autoconf doesn't assume POSIX.
76531         Also:
76532
76533         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76534         Add year_2050_test to catch glibc bug 2821
76535         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
76536
76537         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
76538         Prefer #ifdef to #if.
76539
76540         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
76541         Return from 'main' instead of calling 'exit'.
76542
76543 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76544
76545         * lib/mktime.c (guess_time_tm): Fix bug where mktime
76546         returned the maximum time_t value rather than (time_t) -1.
76547         Problem originally reported by William Bardwell
76548         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
76549
76550         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
76551         Moved to here ...
76552         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
76553         ... from here.
76554
76555 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
76556
76557         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
76558         2821 is fixed.
76559
76560 2006-09-08  Jim Meyering  <jim@meyering.net>
76561
76562         Don't make generated files read-only.  That would bother too many
76563         people.  However, do retain the ability to work when targets are
76564         read-only: remove the destination and temporary files before writing
76565         them (when generated via sed or echo), or by using the -f option for
76566         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
76567         * modules/alloca-opt, modules/argz, modules/arpa_inet:
76568         * modules/byteswap, modules/configmake, modules/fcntl:
76569         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
76570         * modules/localcharset, modules/netinet_in, modules/poll:
76571         * modules/stdbool, modules/stdint, modules/sys_select:
76572         * modules/sys_socket, modules/sys_stat, modules/sysexits:
76573
76574 2006-09-08  Jim Meyering  <jim@meyering.net>
76575
76576         Avoid new build failure on FreeBSD 6.0.
76577         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
76578         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
76579         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
76580
76581 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76582
76583         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
76584
76585 2006-09-07  Jim Meyering  <jim@meyering.net>
76586
76587         Fix global typo in last change: use chmod u-w, not chmod u-x.
76588         Spotted by Paul Eggert and Bruce Korb.
76589         * modules/alloca-opt, modules/argz, modules/arpa_inet:
76590         * modules/byteswap, modules/configmake, modules/fcntl:
76591         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
76592         * modules/localcharset, modules/netinet_in, modules/poll:
76593         * modules/stdbool, modules/stdint, modules/sys_select:
76594         * modules/sys_socket, modules/sys_stat, modules/sysexits:
76595
76596 2006-09-06  Jim Meyering  <jim@meyering.net>
76597
76598         Make generated files be read-only.
76599         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
76600         Ensure that each generated file is now read-only.
76601         * modules/argz: Likewise.
76602         * modules/arpa_inet: Likewise.
76603         * modules/byteswap: Likewise.
76604         * modules/configmake: Likewise.
76605         * modules/fcntl: Likewise.
76606         * modules/fnmatch: Likewise.
76607         * modules/getopt: Likewise.
76608         * modules/glob: Likewise.
76609         * modules/inttypes: Likewise.
76610         * modules/netinet_in: Likewise.
76611         * modules/poll: Likewise.
76612         * modules/stdbool: Likewise.
76613         * modules/stdint: Likewise.
76614         * modules/sys_select: Likewise.
76615         * modules/sys_socket: Likewise.
76616         * modules/sys_stat: Likewise.
76617         * modules/sysexits: Likewise.
76618         * modules/localcharset: Same as above, but continue using temporary
76619         file named "t-$@" (why different?) rather than the "$@-t" used
76620         everywhere else.
76621
76622         * modules/sysexits (Makefile.am): Replace literal occurrences
76623         of "sysexit.h" more readable, and more consistent, "$@".
76624
76625 2006-09-06  Bruno Haible  <bruno@clisp.org>
76626
76627         * modules/striconv: New file.
76628         * modules/xstriconv: New file.
76629         * MODULES.html.sh (Internationalization functions): Add striconv,
76630         xstriconv.
76631
76632 2006-09-06  Bruno Haible  <bruno@clisp.org>
76633
76634         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
76635         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
76636         not using libtool correctly.
76637
76638 2006-09-06  Bruno Haible  <bruno@clisp.org>
76639
76640         * lib/striconv.h: New file.
76641         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
76642         iconvstring.c.
76643         * lib/xstriconv.h: New file.
76644         * lib/xstriconv.c: New file.
76645
76646 2006-09-06  Bruno Haible  <bruno@clisp.org>
76647
76648         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76649         lib_..._LDFLAGS.
76650
76651 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76652
76653         * lib/argz_.h: Sync from Libtool.
76654
76655         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
76656                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76657
76658         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
76659
76660 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76661
76662         * modules/trim: New file.
76663
76664 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76665
76666         * lib/trim.h: New file.
76667         * lib/trim.c: New file.
76668
76669 2006-09-05  Bruno Haible  <bruno@clisp.org>
76670
76671         * MODULES.html.sh (String handling): Add trim.
76672
76673 2006-09-04  Karl Berry  <karl@gnu.org>
76674
76675         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
76676         until next release.
76677
76678 2006-09-03  Bruno Haible  <bruno@clisp.org>
76679
76680         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
76681         correctly.
76682
76683 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76684
76685         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
76686         not gl_GETLOADAVG.  Omit unneeded semicolons.
76687         Problems reported by Ralf Wildenhues in
76688         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76689         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
76690         at the end, which is the usual gnulib style.
76691
76692         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
76693         of doing all the work ourselves.
76694         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
76695         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
76696
76697 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76698
76699         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
76700         Problem reported by Ralf Wildenhues in
76701         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76702
76703         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
76704         HAVE_STRUCT_STATFS_F_FSTYPENAME.
76705
76706 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76707
76708         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
76709         yesterday's patch by changing test -n to test -z.
76710
76711 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76712
76713         * modules/getloadavg (Files): Add m4/getloadavg.m4.
76714         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
76715         the former is now obsolescent.
76716
76717         * modules/chdir-long (Depends-on): Add fcntl.
76718
76719 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76720
76721         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
76722         obsolescent, and programs should use gnulib instead.
76723         * m4/getloadavg.m4: New file, with contents taken from Autoconf
76724         but with prefixes changed.
76725
76726 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76727
76728         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
76729         or stdbool.h, because they might not exist while configuring.
76730
76731         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
76732         Don't include unistd.h or limits.h; not needed, since chdir-long.h
76733         does that for us.
76734         (O_DIRECTORY): Remove.
76735
76736 2006-08-31  Eric Blake  <ebb9@byu.net>
76737
76738         * gnulib-tool: Don't let emacs change spaces to TAB.
76739
76740 2006-08-31  Bruno Haible  <bruno@clisp.org>
76741
76742         * gnulib-tool: When calling func_import more than once, do it in a
76743         subshell.
76744         Reported by Eric Blake <ebb9@byu.net>.
76745
76746 2006-08-31  Bruno Haible  <bruno@clisp.org>
76747
76748         * gnulib-tool (nl): Remove variable.
76749         (sed_transform_lib_file): Use more robust test for config-h module.
76750         (func_import): Fix typo in 2006-08-25 patch.
76751
76752 2006-08-31  Bruno Haible  <bruno@clisp.org>
76753
76754         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
76755         specified, augment Makefile.am variables instead of assigning them.
76756
76757 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76758
76759         Work around a bug in both the Linux and SunOS 64-bit kernels:
76760         nanosleep mishandles sleeps for longer than 2**31 seconds.
76761         Problem reported by Frank v Waveren in
76762         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76763         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
76764         Check for nanosleep bug.
76765         (LIB_NANOSLEEP): Append clock_gettime library if needed.
76766
76767 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76768
76769         Work around a bug in both the Linux and SunOS 64-bit kernels:
76770         nanosleep mishandles sleeps for longer than 2**31 seconds.
76771         Problem reported by Frank v Waveren in
76772         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76773         * lib/nanosleep.c (BILLION): New constant.
76774         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
76775         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
76776         implementation.
76777
76778 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76779
76780         * modules/nanosleep (Depends-on): Add gettime.
76781
76782 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76783         and Simon Josefsson  <jas@extundo.com>
76784         and Oskar Liljeblad  <oskar@osk.mine.nu>
76785
76786         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
76787         * gnulib-tool (func_import): New license type 'unmodifiable license
76788         text'.
76789         * modules/fdl: Use it.  Longer description.
76790         * module/gpl, module/lgpl: New files.
76791
76792 2006-08-30  Jim Meyering  <jim@meyering.net>
76793
76794         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
76795         shadowing the parameter.
76796
76797 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76798
76799         Sync from Libtool:
76800
76801         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76802
76803         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
76804         sharing with gnulib.  Report by Eric Blake.
76805
76806 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76807
76808         * modules/isapipe: New file.
76809         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
76810
76811 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76812
76813         * modules/configmake (Makefile.am): Add a comment, and omit
76814         the CONFIGMAKE_ prefix from generated macro names.  Suggested
76815         by Bruno Haible.
76816
76817 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76818
76819         * m4/isapipe.m4: New file.
76820
76821 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76822
76823         * lib/isapipe.c, lib/isapipe.h: New files.
76824
76825 2006-08-29  Jim Meyering  <jim@meyering.net>
76826
76827         * modules/configmake (Makefile.am): Make configmake.h depend on
76828         Makefile.  Otherwise, a stale configmake.h could hang around.
76829
76830 2006-08-29  Eric Blake  <ebb9@byu.net>
76831
76832         * lib/error.c (error_at_line, print_errno_message): Match libc, after
76833         resolution of upstream bug 3044.
76834
76835 2006-08-29  Bruno Haible  <bruno@clisp.org>
76836
76837         * modules/localcharset (Depends-on): Add configmake.
76838         (Makefile.am): Remove setting of LIBDIR through DEFS.
76839
76840 2006-08-29  Bruno Haible  <bruno@clisp.org>
76841
76842         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
76843         defined.
76844
76845 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76846
76847         * modules/fcntl: New file.
76848         * modules/chdir-safer (Depends-on): Add fcntl.
76849         * modules/fts: Likewise.
76850         * modules/mkdir-p: Likewise.
76851
76852         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
76853         This undoes the most recent change, since we're now addressing the
76854         problem in a different way.
76855
76856         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
76857         into output, since the output might be called Makefile.am even
76858         if $makefile_name is something different.
76859         (func_import): Use $makefile_am rather than
76860         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
76861         empty.
76862
76863         * modules/inttypes (Files): Add m4/inttypes-h.m4.
76864
76865 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76866
76867         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
76868         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
76869         recent change to stdint.m4, since we're now addressing the problem in a
76870         different way.
76871
76872 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76873
76874         * m4/fcntl_h.m4: New file.
76875
76876 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76877
76878         * lib/fcntl_.h: New file.
76879         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
76880         the fcntl module.
76881         * lib/dirchownmod.c: Likewise.
76882         * lib/fts.c: Likewise.
76883
76884         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
76885         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
76886         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
76887         just before including <inttypes.h>, to avoid circular inclusion.
76888
76889 2006-08-28  Jim Meyering  <jim@meyering.net>
76890
76891         * doc/visibility.texi: Actually read and correct the grammar of the
76892         sentence affected by yesterday's change.
76893
76894 2006-08-28  Eric Blake  <ebb9@byu.net>
76895
76896         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
76897         needs wrapper.
76898
76899 2006-08-28  Eric Blake  <ebb9@byu.net>
76900
76901         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
76902
76903 2006-08-28  Eric Blake  <ebb9@byu.net>
76904
76905         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
76906
76907 2006-08-28  Bruno Haible  <bruno@clisp.org>
76908
76909         * modules/c-strstr: New file, from GNU gettext.
76910         * MODULES.html.sh (String handling): Add c-strstr.
76911
76912 2006-08-28  Bruno Haible  <bruno@clisp.org>
76913
76914         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
76915         macros.
76916         Reported by Eric Blake.
76917
76918 2006-08-28  Bruno Haible  <bruno@clisp.org>
76919
76920         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
76921         (VASNPRINTF): Return a string of length > INT_MAX without failing.
76922         * lib/vasprintf.c: Include errno.h, limits.h.
76923         (EOVERFLOW): New fallback definition.
76924         (vasprintf): Test here whether the string length is > INT_MAX.
76925         * lib/vsnprintf.c: Include errno.h, limits.h.
76926         (EOVERFLOW): New fallback definition.
76927         (vsnprintf): Fix bug when generated string was too long for the buffer.
76928         Test here whether the string length is > INT_MAX.
76929
76930 2006-08-28  Bruno Haible  <bruno@clisp.org>
76931
76932         * lib/inttypes_.h (SCNX*): Remove definitions.
76933         Reported by Eric Blake.
76934
76935 2006-08-28  Bruno Haible  <bruno@clisp.org>
76936
76937         * lib/c-strstr.h: New file, from GNU gettext.
76938         * lib/c-strstr.c: New file, from GNU gettext.
76939
76940 2006-08-28  Bruno Haible  <bruno@clisp.org>
76941
76942         * gnulib-tool: Reorder some statements.
76943
76944 2006-08-28  Bruno Haible  <bruno@clisp.org>
76945
76946         * gnulib-tool: New option --makefile-name.
76947         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
76948         $makefile_name.
76949         (func_import): Write $makefile_name to the cache file, and read it from
76950         there unless explicitly specified. Use $makefile_name as file name
76951         instead of Makefile.am. Adjust the recommendations accordingly.
76952
76953 2006-08-28  Bruno Haible  <bruno@clisp.org>
76954
76955         * gnulib-tool (func_verify_module): Check against misapplying patch.
76956
76957 2006-08-28  Bruno Haible  <bruno@clisp.org>
76958
76959         * gnulib-tool (func_relativize, func_relconcat): New functions.
76960         Give an error if --local-dir is given with --update.
76961         Remove trailing slashes from $local_gnulib_dir.
76962         (func_import): Store the relativized $local_gnulib_dir in
76963         gnulib-cache.m4, and read it from there if not specified explicitly.
76964
76965 2006-08-28  Bruno Haible  <bruno@clisp.org>
76966
76967         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
76968         is the current directory. Respect also $local_gnulib_dir.
76969
76970 2006-08-28  Bruno Haible  <bruno@clisp.org>
76971             Simon Josefsson  <jas@extundo.com>
76972
76973         BeOS portability.
76974         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
76975
76976 2006-08-27  Jim Meyering  <jim@meyering.net>
76977
76978         * doc/visibility.texi: Remove duplicate word: "pointer".
76979
76980 2006-08-26  Bruno Haible  <bruno@clisp.org>
76981
76982         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
76983         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
76984         (Makefile.am): Create inttypes.h from inttypes_.h.
76985         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
76986
76987         * modules/imaxabs: New file.
76988
76989         * modules/imaxdiv: New file.
76990
76991 2006-08-26  Bruno Haible  <bruno@clisp.org>
76992
76993         * m4/inttypes.m4: New file.
76994         * m4/_inttypes_h.m4: Remove file.
76995         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
76996         PRI_MACROS_BROKEN.
76997         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
76998
76999         * m4/imaxabs.m4: New file.
77000
77001         * m4/imaxdiv.m4: New file.
77002
77003 2006-08-26  Bruno Haible  <bruno@clisp.org>
77004
77005         * lib/inttypes_.h: New file.
77006         * lib/inttypes.h: Remove file.
77007         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
77008
77009         * lib/imaxabs.c: New file.
77010
77011         * lib/imaxdiv.c: New file.
77012
77013 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77014
77015         New config-h module, so that "make" output needn't be cluttered
77016         by -DHAVE_CONFIG_H.
77017         * MODULES.html.sh (Support for building libraries and executables):
77018         Add config-h.
77019         * modules/config-h: New file.
77020         * gnulib-tool (nl, sed_transform_lib_file): New vars.
77021         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
77022         the config-h module is used.
77023
77024         New configmake module, so that "make" output needn't be cluttered
77025         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
77026         * MODULES.html.sh (Support for building libraries and executables):
77027         Add configmake.
77028         * modules/configmake: New file.
77029
77030 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77031
77032         * m4/config-h.m4: New file.
77033
77034 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77035
77036         * config/srclist.txt: Add elisp-comp.
77037
77038 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77039
77040         * MODULES.html.sh (Support for building libraries and executables):
77041         Add elisp-comp.
77042         * build-aux/elisp-comp: New file.
77043         * modules/elisp-comp: New file.
77044
77045 2006-08-24  Bruno Haible  <bruno@clisp.org>
77046
77047         * gnulib-tool (func_create_testdir): Use non-default values of
77048         sourcebase and m4base.
77049
77050 2006-08-24  Bruno Haible  <bruno@clisp.org>
77051
77052         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
77053         HTML structure.
77054
77055 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77056
77057         * modules/openat (Depends-on): Add lchown.
77058
77059 2006-08-23  Bruno Haible  <bruno@clisp.org>
77060
77061         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
77062         of gl_LOCK_EARLY instead of gl_LOCK.
77063
77064 2006-08-23  Bruno Haible  <bruno@clisp.org>
77065
77066         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
77067         on OSF/1 to no.
77068         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
77069
77070 2006-08-23  Bruno Haible  <bruno@clisp.org>
77071
77072         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
77073         as unusable.
77074
77075         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
77076         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
77077         (gl_LOCK): New macro.
77078
77079 2006-08-22  Simon Josefsson  <jas@extundo.com>
77080
77081         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
77082         to md5 module.
77083
77084 2006-08-22  Simon Josefsson  <jas@extundo.com>
77085
77086         * MODULES.html.sh: Add "Support for maintaining and release
77087         projects".
77088
77089         * build-aux/gnupload: New file, from coreutils.
77090
77091 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77092
77093         Avoid the need for AC_LIBSOURCES in m4 macros.
77094         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
77095         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
77096         * modules/check-version (EXTRA_DIST): Add check-version.h.
77097         * modules/crc (EXTRA_DIST): Add crc.h.
77098         * modules/des (EXTRA_DIST): Add des.h.
77099         * modules/gc (EXTRA_DIST): Add gc.h.
77100         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
77101         * modules/getline (EXTRA_DIST): Add getline.h.
77102         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
77103         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
77104         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
77105         * modules/md2 (EXTRA_DIST): Add md2.h.
77106         * modules/md4 (EXTRA_DIST): Add md4.h.
77107         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
77108         * modules/read-file (EXTRA_DIST): Add read-file.h.
77109         * modules/readline (EXTRA_DIST): Add readline.h.
77110         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
77111         rijndael-api-fst.h.
77112
77113 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77114
77115         * m4/rijndael.m4 (gl_ARCFOUR):
77116         * m4/arctwo.m4 (gl_ARCTWO):
77117         * m4/check-version.m4 (gl_CHECK_VERSION):
77118         * m4/crc.m4 (gl_CRC):
77119         * m4/des.m4 (gl_DES):
77120         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
77121         * m4/gc.m4 (gl_GC):
77122         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
77123         * m4/getline.m4 (gl_FUNC_GETLINE):
77124         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
77125         * m4/hmac-md5.m4 (gl_HMAC_MD5):
77126         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
77127         * m4/md2.m4 (gl_MD2):
77128         * m4/md4.m4 (gl_MD4):
77129         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
77130         * m4/read-file.m4 (gl_FUNC_READ_FILE):
77131         * m4/readline.m4 (gl_FUNC_READLINE):
77132         * m4/rijndael.m4 (gl_RIJNDAEL):
77133         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
77134         to get the necessary .h files and whatnot.
77135
77136 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77137
77138         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
77139         gnulib rather than the other way around.
77140         * config/srclistvars.sh (COREUTILS): Remove.
77141
77142 2006-08-22  Jim Meyering  <jim@meyering.net>
77143
77144         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
77145
77146         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
77147
77148 2006-08-22  Eric Blake  <ebb9@byu.net>
77149
77150         * modules/regexprops-generic: New file.
77151         * MODULES.html.sh (Support for building documentation): List it.
77152
77153 2006-08-22  Eric Blake  <ebb9@byu.net>
77154
77155         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
77156         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
77157         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
77158         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
77159
77160 2006-08-22  Bruno Haible  <bruno@clisp.org>
77161
77162         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
77163         and lib_LTLIBRARIES like the other lib_* variables.
77164
77165 2006-08-22  Bruno Haible  <bruno@clisp.org>
77166
77167         * build-aux/x-to-1.in: New file, from GNU gettext.
77168
77169 2006-08-22  Bruno Haible  <bruno@clisp.org>
77170
77171         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
77172         <utmpx.h> exists.
77173
77174 2006-08-22  Bruno Haible  <bruno@clisp.org>
77175
77176         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
77177         <utmpx.h> exists.
77178
77179 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77180
77181         BeOS portability.
77182         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
77183         exist.
77184         Problem reported by Bruno Haible.
77185
77186 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77187
77188         Avoid the need for AC_LIBSOURCES in m4 macros.
77189         * modules/acl (EXTRA_DIST): Add acl.h.
77190         * modules/argmatch (Files): Add m4/argmatch.m4.
77191         (configure.ac): Add gl_ARGMATCH.
77192         (EXTRA_DIST): Renamed from lib_SOURCES, for
77193         consistency with the other modules.  Remove argmatch.c.
77194         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
77195         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
77196         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
77197         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
77198         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
77199         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
77200         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
77201         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
77202         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
77203         * modules/closeout (EXTRA_DIST): Add closeout.h.
77204         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
77205         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
77206         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
77207         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
77208         dirname.h; remove basename.c and stripslash.c.
77209         * modules/exclude (EXTRA_DIST): Add exclude.h.
77210         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
77211         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
77212         * modules/file-type (EXTRA_DIST): Add file-type.h.
77213         * modules/filemode (EXTRA_DIST): Add filemode.h.
77214         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
77215         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
77216         * modules/fpending (EXTRA_DIST): Add __fpending.h.
77217         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
77218         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
77219         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
77220         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
77221         * modules/getdate (EXTRA_DIST): Add getdate.c.
77222         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
77223         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
77224         * modules/getpass (EXTRA_DIST): Add getpass.h.
77225         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
77226         * modules/group-member (EXTRA_DIST): Add group-member.h.
77227         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
77228         * modules/hash (EXTRA_DIST): Add hash.h.
77229         * modules/human (EXTRA_DIST): Add human.h.
77230         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
77231         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
77232         * modules/lchown (EXTRA_DIST): Add lchown.h.
77233         * modules/long-options (EXTRA_DIST): Add long-options.h.
77234         * modules/lstat (EXTRA_DIST): Add lstat.h.
77235         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
77236         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
77237         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
77238         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
77239         * modules/memxor (EXTRA_DIST): Add memxor.h.
77240         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
77241         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
77242         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
77243         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
77244         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
77245         * modules/physmem (EXTRA_DIST): Add physmem.h.
77246         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
77247         * modules/posixver (EXTRA_DIST): Add posixver.h.
77248         * modules/quote (EXTRA_DIST): Add quote.h.
77249         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
77250         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
77251         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
77252         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
77253         regex_internal.h regexec.c.
77254         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
77255         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
77256         * modules/same (EXTRA_DIST): Add same.h.
77257         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
77258         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
77259         * modules/savedir (EXTRA_DIST): Add savedir.h.
77260         * modules/sha1 (EXTRA_DIST): Add sha1.h.
77261         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
77262         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
77263         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
77264         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
77265         * modules/strdup (EXTRA_DIST): Add strdup.h.
77266         * modules/strftime (EXTRA_DIST): Add strftime.h.
77267         * modules/strndup (EXTRA_DIST): Add strndup.h.
77268         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
77269         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
77270         * modules/time_r (EXTRA_DIST): Add time_r.h.
77271         * modules/timespec (EXTRA_DIST): Add timespec.h.
77272         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
77273         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
77274         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
77275         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
77276         * modules/userspec (EXTRA_DIST): Add userspec.h.
77277         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
77278         * modules/utimens (EXTRA_DIST): Add utimens.h.
77279         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
77280         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
77281         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
77282         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
77283         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
77284         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
77285         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
77286         * modules/yesno (EXTRA_DIST): Add yesno.h.
77287
77288 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77289
77290         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
77291
77292         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
77293         * m4/dev-ino.m4, same-inode.m4: Remove.
77294
77295         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
77296         * m4/acl.m4 (AC_FUNC_ACL):
77297         * m4/backupfile.m4 (gl_BACKUPFILE):
77298         * m4/c-strtod.m4 (gl_C99_STRTOLD):
77299         * m4/canon-host.m4 (gl_CANON_HOST):
77300         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
77301         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
77302         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
77303         * m4/cloexec.m4 (gl_CLOEXEC):
77304         * m4/close-stream.m4 (gl_CLOSE_STREAM):
77305         * m4/closeout.m4 (gl_CLOSEOUT):
77306         * m4/dirfd.m4 (gl_FUNC_DIRFD):
77307         * m4/dirname.m4 (gl_DIRNAME):
77308         * m4/exclude.m4 (gl_EXCLUDE):
77309         * m4/exitfail.m4 (gl_EXITFAIL):
77310         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
77311         * m4/file-type.m4 (gl_FILE_TYPE):
77312         * m4/filemode.m4 (gl_FILEMODE):
77313         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
77314         * m4/fpending.m4 (gl_FUNC_FPENDING):
77315         * m4/fprintftime.m4 (gl_FPRINTFTIME):
77316         * m4/fts.m4 (gl_FUNC_FTS):
77317         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
77318         * m4/getdate.m4 (gl_GETDATE):
77319         * m4/gethrxtime.m4 (gl_GETHRXTIME):
77320         * m4/getpagesize.m4 (gl_GETPAGESIZE):
77321         * m4/getpass.m4 (gl_FUNC_GETPASS):
77322         * m4/gettime.m4 (gl_GETTIME):
77323         * m4/getugroups.m4 (gl_GETUGROUPS):
77324         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
77325         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
77326         * m4/hard-locale.m4 (gl_HARD_LOCALE):
77327         * m4/hash.m4 (gl_HASH):
77328         * m4/idcache.m4 (gl_IDCACHE):
77329         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
77330         * m4/lchown.m4 (gl_FUNC_LCHOWN):
77331         * m4/long-options.m4 (gl_LONG_OPTIONS):
77332         * m4/lstat.m4 (gl_FUNC_LSTAT):
77333         * m4/md5.m4 (gl_MD5):
77334         * m4/memcasecmp.m4 (gl_MEMCASECMP):
77335         * m4/memcoll.m4 (gl_MEMCOLL):
77336         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
77337         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
77338         * m4/memxor.m4 (gl_MEMXOR):
77339         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
77340         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
77341         * m4/modechange.m4 (gl_MODECHANGE):
77342         * m4/mountlist.m4 (gl_MOUNTLIST):
77343         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
77344         * m4/openat.m4 (gl_FUNC_OPENAT):
77345         * m4/pathmax.m4 (gl_PATHMAX):
77346         * m4/physmem.m4 (gl_PHYSMEM):
77347         * m4/posixtm.m4 (gl_POSIXTM):
77348         * m4/posixver.m4 (gl_POSIXVER):
77349         * m4/quote.m4 (gl_QUOTE):
77350         * m4/quotearg.m4 (gl_QUOTEARG):
77351         * m4/readtokens.m4 (gl_READTOKENS):
77352         * m4/readutmp.m4 (gl_READUTMP):
77353         * m4/regex.m4 (gl_REGEX):
77354         * m4/safe-read.m4 (gl_SAFE_READ):
77355         * m4/safe-write.m4 (gl_SAFE_WRITE):
77356         * m4/same.m4 (gl_SAME):
77357         * m4/save-cwd.m4 (gl_SAVE_CWD):
77358         * m4/savedir.m4 (gl_SAVEDIR):
77359         * m4/settime.m4 (gl_SETTIME):
77360         * m4/sha1.m4 (gl_SHA1):
77361         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
77362         * m4/stat-macros.m4 (gl_STAT_MACROS):
77363         * m4/stat-time.m4 (gl_STAT_TIME):
77364         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
77365         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
77366         * m4/strdup.m4 (gl_FUNC_STRDUP):
77367         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
77368         * m4/strndup.m4 (gl_FUNC_STRNDUP):
77369         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
77370         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
77371         * m4/time_r.m4 (gl_TIME_R):
77372         * m4/timespec.m4 (gl_TIMESPEC):
77373         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
77374         * m4/unlinkdir.m4 (gl_UNLINKDIR):
77375         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
77376         * m4/userspec.m4 (gl_USERSPEC):
77377         * m4/utimecmp.m4 (gl_UTIMECMP):
77378         * m4/utimens.m4 (gl_UTIMENS):
77379         * m4/xalloc.m4 (gl_XALLOC):
77380         * m4/xgetcwd.m4 (gl_XGETCWD):
77381         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
77382         * m4/xreadlink.m4 (gl_XREADLINK):
77383         * m4/xstrtod.m4 (gl_XSTRTOD):
77384         * m4/yesno.m4 (gl_YESNO):
77385         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
77386         to get the necessary .h files and whatnot.
77387
77388 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
77389             Bruno Haible  <bruno@clisp.org>
77390
77391         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
77392         /bin/sh understanding of '!' conditional negation.
77393
77394 2006-08-21  Jim Meyering  <jim@meyering.net>
77395
77396         * modules/openat (Depends-on): Really alphabetize.
77397
77398         * modules/acl (Depends-on): Add error and quote.
77399
77400         * check-module (find_included_lib_files): Add at-func.c to the
77401         ok-to-include-more-than-once white list.
77402
77403         * modules/openat (Depends-on): Add lstat.  Alphabetize.
77404
77405 2006-08-21  Bruno Haible  <bruno@clisp.org>
77406
77407         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77408         Emit a pkgdata_DATA variable only if some snippets add contents to it.
77409         Reported by Martin Lambers <marlam@marlam.de>.
77410
77411 2006-08-21  Bruno Haible  <bruno@clisp.org>
77412
77413         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
77414         specify an installation location, don't emit a noinst_LIBRARIES or
77415         noinst_LTLIBRARIES assignment.
77416
77417 2006-08-21  Bruno Haible  <bruno@clisp.org>
77418
77419         BeOS portability.
77420         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
77421         BeOS has mbrtowc() but no <wctype.h>.
77422
77423 2006-08-21  Bruno Haible  <bruno@clisp.org>
77424
77425         BeOS portability.
77426         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
77427         exist.
77428
77429 2006-08-21  Bruno Haible  <bruno@clisp.org>
77430
77431         BeOS portability.
77432         * lib/mbchar.h: Include <wctype.h> only if it exists.
77433
77434 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77435
77436         Remove files that are no longer needed by their respective modules.
77437         * m4/obstack.m4: Remove.
77438         * m4/strerror_r.m4: Remove.
77439         * m4/uint32_t.m4: Remove.
77440         * m4/uintptr_t.m4: Remove.
77441         * m4/ullong_max.m4: Remove.
77442         * m4/xstrtoimax.m4: Remove.
77443         * m4/xstrtoumax.m4: Remove.
77444
77445         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
77446         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
77447         dependencies now capture this.
77448
77449         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
77450         Do not use AC_LIBSOURCES, since gnulib modules now do this.
77451         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
77452         * m4/human.m4 (gl_HUMAN): Likewise.
77453         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
77454         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
77455
77456         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
77457
77458         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
77459         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
77460         stdint.
77461         * m4/human.m4 (gl_HUMAN): Likewise.
77462         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
77463         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
77464         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
77465         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
77466         * m4/xstrtol (gl_XSTRTOL): Likewise.
77467
77468         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
77469         AC_TYPE_LONG_LONG_INT.
77470         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
77471         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
77472         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
77473         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
77474
77475         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
77476         on stdbool.
77477
77478         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
77479         (gl_PREREQ_XSTRTOUL): Remove.
77480
77481         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
77482
77483         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
77484         mode.
77485
77486 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77487
77488         Add and change modules to make it easier for coreutils to use
77489         gnulib-tool.
77490         * modules/backupfile (Files): Remove m4/d-ino.m4.
77491         (Depends-on): Add d-ino.
77492         * modules/cycle-check (Depends-on): Add stdint.
77493         (lib_SOURCES): Add cycle-check.h.
77494         * modules/d-ino: New module.
77495         * modules/d-type: New module.
77496         * modules/error (Files): Remove m4/strerror_r.m4.
77497         * modules/filemode (Files): Add m4/st_dm_mode.m4.
77498         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
77499         m4/inttypes_h.m4, m4/uintmax_t.m4.
77500         (Depends-on): Add stdint.
77501         (lib_SOURCES): Add fsusage.h.
77502         * modules/getcwd (Files): Remove d-ino.m4.
77503         (Depends-on): Add d-ino.
77504         * modules/getndelim2 (Depends-on): Add stdint.
77505         * modules/glob (Files): Remove m4/d-type.m4.
77506         (Depends-on): Add d-type.
77507         * modules/host-os: New module.
77508         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
77509         m4/inttypes_h.m4, m4/uintmax_t.m4.
77510         * Depends-on: Add stdint.
77511         (lib_SOURCES): Add human.h.
77512         * modules/inttostr (Files): Remove m4/intmax_t.m4,
77513         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
77514         m4/uintmax_t.m4, m4/ulonglong.m4.
77515         (Depends-on): Add stdint.
77516         (EXTRA_DIST): Add inttostr.h.
77517         * modules/lchmod: New module.
77518         * modules/link-follow: New module.
77519         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
77520         (Depends-on): Add lchmod.
77521         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
77522         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
77523         (Depends-on): Add stdint.
77524         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
77525         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
77526         (Depends-on): Add stdint.
77527         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
77528         * modules/perl: New module.
77529         * modules/regex (Depends-on): Add stdint.
77530         * modules/rmdir-errno: New module.
77531         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
77532         m4/intmax_t.m4.
77533         (Depends-on): Add stdint.
77534         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
77535         m4/uintmax_t.m4.
77536         (Depends-on): Add stdint.
77537         * modules/unlink-busy: New module.
77538         * modules/utimecmp (Depends-on): Add stdint.
77539         * modules/uptime: New module.
77540         * modules/winsz-ioctl: New module.
77541         * modules/winsz-termios: New module.
77542         * modules/xnanosleep (Depends-on): Add nanosleep.
77543         * modules/ullong_max: Remove.
77544         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
77545         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
77546         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
77547         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
77548         (Depends-on): Add inttypes.
77549         (lib_SOURCES): Add xstrtol.h.
77550         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
77551         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
77552         * MODULES.html.sh: Move 'assert' into the assert section.
77553         Move 'dummy' into the linking section.
77554         Remove ullong_max.
77555         Add section for compatibility checks for POSIX:2001 functions,
77556         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
77557         winsz-ioctl, and winsz-termios into it.
77558         Add lchmod.
77559         Add top-level Misc section and put host-os, perl, and uptime
77560         into it.
77561
77562 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77563
77564         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
77565         now assume the stdint module.  Do not include inttypes.h.
77566         * lib/fsusage.h: Likewise.
77567         * lib/getndelim2.c: Likewise.
77568         * lib/human.h: Likewise.
77569         * lib/inttostr.h: Likewise.
77570         * lib/obstack.c: Likewise.
77571         * lib/regex_internal.h: Likewise.
77572         * lib/tempname.c: Likewise.
77573         * lib/utimecmp.c: Likewise.
77574         * lib/xstrtol.h: Likewise.
77575
77576         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
77577
77578         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
77579         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
77580         * lib/xtime.h: Likewise.
77581
77582 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         * modules/openat (Files): Add lib/fchmodat.c.
77585         Fixes problem reported by Jay Youngman.
77586
77587 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
77588
77589         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
77590         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
77591
77592 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
77593             Bruno Haible  <bruno@clisp.org>
77594
77595         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
77596         and is a script that invokes bison. Tighten the code. Add comments.
77597
77598 2006-08-18  Jim Meyering  <jim@meyering.net>
77599
77600         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
77601         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
77602         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
77603         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
77604
77605 2006-08-18  Bruno Haible  <bruno@clisp.org>
77606
77607         * modules/bison-i18n: New file.
77608         * MODULES.html.sh (Internationalization functions): Add it.
77609
77610 2006-08-18  Bruno Haible  <bruno@clisp.org>
77611
77612         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
77613         sys/statvfs.h. When getmntinfo was found, check its declaration and
77614         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
77615
77616 2006-08-18  Bruno Haible  <bruno@clisp.org>
77617
77618         * m4/bison-i18n.m4: New file, from bison.
77619
77620 2006-08-18  Bruno Haible  <bruno@clisp.org>
77621
77622         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
77623         (ME_DUMMY): Treat "kernfs" as a dummy.
77624         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
77625
77626 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77627
77628         Update from coreutils.
77629
77630         2006-08-15  Jim Meyering  <jim@meyering.net>
77631
77632         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
77633
77634         2006-01-17  Jim Meyering  <jim@meyering.net>
77635
77636         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
77637
77638         2006-01-11  Jim Meyering  <jim@meyering.net>
77639
77640         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
77641         Check for the lchmod function.
77642
77643 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77644
77645         Update from coreutils.
77646
77647         * lib/__fpending.h: Add copyright notice.
77648         * lib/fprintftime.h: Likewise.
77649         * lib/savedir.c: Use (C) in copyright notice.
77650         * lib/savedir.h: Likewise.
77651
77652         2006-08-15  Jim Meyering  <jim@meyering.net>
77653
77654         * lib/at-func.c: New file, with the logic of all emulated at-functions.
77655         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
77656         in support of the EXPECTED_ERRNO macro.
77657         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
77658         definitions.  Instead, define the appropriate symbols and include
77659         "at-func.c".
77660         * lib/mkdirat.c (mkdirat): Likewise.
77661         * lib/fchmodat.c (fchmodat): Likewise.
77662         (ENOSYS): Remove definition.
77663         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
77664         it.  Don't include "unistd--.h" -- it wasn't ever used.
77665
77666         2006-01-17  Jim Meyering  <jim@meyering.net>
77667
77668         Rewrite fts.c not to change the current working directory,
77669         by using openat, fstatat, fdopendir, etc..
77670
77671         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
77672         (HAVE_OPENAT_SUPPORT): Define.
77673         [_LIBC] (fchdir): Don't undef or define; no longer used.
77674         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
77675         Now, this `function' always succeeds, and consumes its file descriptor
77676         parameter -- so callers must not close such FDs.  Update callers.
77677         (diropen_fd, opendirat, cwd_advance_fd): New functions.
77678         (diropen): Add parameter, SP.  Adjust all callers.
77679         Implement using diropen_fd, rather than open.
77680         (fts_open): Initialize new member, fts_cwd_fd.
77681         Remove fts_rft-setting code.
77682         (fts_close): Close fts_cwd_fd, if necessary.
77683         (__opendir2): Define in terms of opendir or opendirat,
77684         depending on whether the FST_NOCHDIR flag is set.
77685         (fts_build): Since fts_safe_changedir consumes its FD, and since
77686         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
77687         and close the dup'd file descriptor upon failure.
77688         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
77689         (fts_safe_changedir): Tweak semantics to reflect that this function
77690         now calls cwd_advance_fd and hence consumes its FD argument.
77691         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
77692         [struct FTS] (fts_rft): Remove now-unused member.
77693         [struct FTS] (fts_cycle.state): Improve comment.
77694
77695         * lib/openat.c (openat_needs_fchdir): New function.
77696         * lib/openat.h (openat_needs_fchdir): Declare it.
77697
77698 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
77699
77700         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
77701         Problem and fix reported by Pádraig Brady in
77702         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
77703
77704 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77705
77706         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
77707
77708 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77709
77710         * lib/memcoll.c (memcoll): Optimize for the common case where the
77711         arguments are bytewise equal.
77712
77713 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77714
77715         * doc/regexprops-generic.texi: Add a copyright notice.
77716
77717 2006-08-15  Bruno Haible  <bruno@clisp.org>
77718
77719         * modules/tmpdir (License): Change to LGPL.
77720
77721 2006-08-15  Bruno Haible  <bruno@clisp.org>
77722
77723         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
77724         module.
77725
77726 2006-08-14  Simon Josefsson  <jas@extundo.com>
77727
77728         * config/srclist.txt: Add gnupload.
77729
77730 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77731
77732         Change copyright notice from LGPL 2 to GPL 2, since that's the
77733         standard form used in the gnulib repository.
77734         * tests/test-lock.c: Likewise.
77735         * tests/test-stdint.c: Likewise.
77736         * tests/test-tls.c: Likewise.
77737
77738         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
77739         prelude-manager.  User shorter URLs for GNU projects, without '?'.
77740         Add copyright notice.
77741
77742         * check-module: Add copyright notice.  Output a copyright
77743         notice if "--version" is specified.
77744         * modules/COPYING: New file.
77745         * tests/test-getaddrinfo.c: Add copyright notice.
77746         * tests/test-verify.c: Likewise.
77747
77748 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77749
77750         Change copyright notice from LGPL 2 to GPL 2, since that's the
77751         standard form used in the gnulib repository.
77752         * lib/lock.c: LGPL -> GPL.
77753         * lib/lock.h: Likewise.
77754         * lib/strnlen1.c: Likewise.
77755         * lib/strnlen1.h: Likewise.
77756         * lib/tls.c: Likewise.
77757         * lib/tls.h: Likewise.
77758         * lib/tmpdir.c: Likewise.
77759
77760         * lib/TODO: Remove; this belongs only in coreutils.
77761
77762 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77763
77764         Add copyright notices to long-enough files that lack them, since
77765         otherwise the files aren't clearly free.  Use the same notice that
77766         getdate.texi already uses.
77767         * doc/alloca-opt.texi: Add copyright notice.
77768         * doc/alloca.texi: Likewise.
77769         * doc/ctime.texi: Likewise.
77770         * doc/functions.texi: Likewise.
77771         * doc/gcd.texi: Likewise.
77772         * doc/gnulib-tool.texi: Likewise.
77773         * doc/inet_ntoa.texi: Likewise.
77774         * doc/visibility.texi: Likewise.
77775
77776         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
77777         * doc/quote.texi: Add copyright notice.
77778
77779         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
77780         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
77781         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
77782         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
77783         is now obsolete, and give a pointer to the Sun list.
77784         Add copyright notice.
77785
77786 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77787
77788         * config/srclistvars.sh: Add copyright notice.
77789
77790 2006-08-14  Eric Blake  <ebb9@byu.net>
77791
77792         Import the following change from libc:
77793
77794         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
77795
77796         Upstream bug 2997.
77797         * lib/misc/error.c: Add space between program name and message if file
77798         name is missing.
77799
77800 2006-08-12  Karl Berry  <karl@gnu.org>
77801
77802         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
77803         remove, these originate in gnulib now.
77804
77805 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77806
77807         * doc/Makefile (standards.info standards.html standards.dvi):
77808         Also depend on make-stds.texi.
77809
77810 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77811
77812         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
77813         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
77814
77815         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
77816         in wchar_t.  Problem reported by Eric Blake.
77817
77818         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
77819         LEN is smaller than SIZE.  Suggested by Bruno Haible.
77820         Also, help the compiler to keep LEN in a register.
77821
77822 2006-08-11  Eric Blake  <ebb9@byu.net>
77823
77824         * users.txt: Sort.  Add tar.
77825
77826 2006-08-11  Bruno Haible  <bruno@clisp.org>
77827
77828         * users.txt: New file.
77829
77830 2006-08-11  Bruno Haible  <bruno@clisp.org>
77831
77832         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
77833         before <wchar.h>. Needed for OSF/1 and BSD/OS.
77834
77835 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77836
77837         * modules/snprintf (Depends-on): Remove minmax.
77838         (Maintainer): Add self and Bruno.
77839
77840 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77841
77842         * lib/.cppi-disable: Add snprintf.h, socket_.h.
77843         * lib/snprintf.c: Include <errno.h> and <limits.h>.
77844         (EOVERFLOW): Define if the system does not.
77845         Do not include "minmax.h"; it wasn't used.
77846         (snprintf): Don't assume size_t promotes to an unsigned type.
77847         Fix bug when generated string was too long for the buffer: the
77848         buffer's contents are supposed to be the initial prefix of the
77849         output.  Don't assume vasnprintf returns EOVERFLOW if the size
77850         exceeds INT_MAX; do the check ourselves.
77851
77852         Import the following changes from libc:
77853
77854         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
77855
77856         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
77857         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
77858         set wc to the byte which couldn't be converted.
77859         (re_string_reconstruct): Don't clear valid_raw_len before calling
77860         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
77861         tip_context using re_string_context_at.
77862
77863         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
77864
77865         * lib/posix/regex.h: g++ still cannot handled [restrict].
77866
77867         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
77868
77869         * lib/posix/regex.h: Remove special handling for VMS.
77870
77871 2006-08-10  Jim Meyering  <jim@meyering.net>
77872
77873         * modules/same-inode: New module.
77874         * modules/dev-ino: New module.
77875         * modules/cycle-check: Depend on these modules, rather than simply
77876         including their .h files.
77877         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
77878         required via m4/cycle-check.m4.
77879         * modules/same: Depend on new same-inode module, rather than
77880         including same-inode.h.
77881         * modules/chdir-safer: New file.
77882
77883         * modules/chown (Depends-on): Add stat-macros.
77884
77885 2006-08-10  Jim Meyering  <jim@meyering.net>
77886
77887         * m4/cycle-check.m4: New file.
77888         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
77889         * m4/dev-ino.m4, m4/same-inode.m4: New files.
77890
77891 2006-08-10  Eric Blake  <ebb9@byu.net>
77892
77893         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
77894         in from original proposal.
77895
77896 2006-08-10  Eric Blake  <ebb9@byu.net>
77897         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77898
77899         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
77900         namespace.
77901
77902 2006-08-10  Bruno Haible  <bruno@clisp.org>
77903
77904         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
77905         as well.
77906
77907 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77908
77909         Sync from coreutils.
77910
77911         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
77912
77913         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
77914         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
77915
77916 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77917
77918         * modules/restrict: Remove; no longer needed now that we assume
77919         Autoconf 2.59 or later.
77920         * MODULES.html.sh: Remove 'restrict'.
77921         * modules/argp (Depends-on): Remove 'restrict'.
77922         * modules/base64 (Depends-on): Likewise.
77923         * modules/gc (Depends-on): Likewise.
77924         * modules/getaddrinfo (Depends-on): Likewise.
77925         * modules/glob (Depends-on): Likewise.
77926         * modules/inet_ntop (Depends-on): Likewise.
77927         * modules/inet_pton (Depends-on): Likewise.
77928         * modules/memxor (Depends-on): Likewise.
77929         * modules/regex (Depends-on): Likewise.
77930         * modules/strtok_r (Depends-on): Likewise.
77931         * modules/time_r (Depends-on): Likewise.
77932
77933 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77934
77935         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
77936         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
77937         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77938         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
77939         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
77940         * m4/memxor.m4 (gl_MEMXOR): Likewise.
77941         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
77942         gl_C_RESTRICT replaced by AC_C_RESTRICT.
77943
77944         Merge from coreutils.
77945         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
77946         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
77947         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
77948         * m4/time_r.m4 (gl_TIME_R): Likewise.
77949
77950 2006-08-09  Karl Berry  <karl@gnu.org>
77951
77952         * config/srclist.txt: no more gettext-tools, per Bruno.
77953
77954 2006-08-08  Eric Blake  <ebb9@byu.net>
77955
77956         * modules/verror: New module.
77957         * MODULES.html.sh: Document it.
77958
77959 2006-08-08  Eric Blake  <ebb9@byu.net>
77960
77961         * lib/verror.h, lib/verror.c: New files.
77962
77963 2006-08-08  Eric Blake  <ebb9@byu.net>
77964
77965         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
77966         verror_at_line output complies with GNU Coding Standards even when
77967         file is NULL.
77968
77969 2006-08-07  Bruno Haible  <bruno@clisp.org>
77970
77971         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
77972         versions of AIX.
77973         Reported by Ralf Wildenhues.
77974
77975 2006-08-07  Bruno Haible  <bruno@clisp.org>
77976
77977         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
77978         in an AC_DEFUN. Needed so that the autoconf snippets can use
77979         AC_REQUIRE.
77980
77981 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77982
77983         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77984         Initialize pkgdata_DATA.
77985         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
77986         overriding it.
77987
77988 2006-08-06  Eric Blake  <ebb9@byu.net>
77989
77990         * lib/error.h: Fold in some upstream changes from glibc.
77991         * lib/error.c: Likewise.
77992
77993 2006-08-04  Bruno Haible  <bruno@clisp.org>
77994
77995         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77996         Make the mostlyclean-local rule depend on mostlyclean-generic.
77997         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
77998
77999 2006-07-31  Bruno Haible  <bruno@clisp.org>
78000
78001         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
78002         <stdlib.h>, <string.h>.
78003
78004 2006-07-30  Bruno Haible  <bruno@clisp.org>
78005
78006         * modules/readlink (License): Change to LGPL.
78007
78008 2006-07-30  Bruno Haible  <bruno@clisp.org>
78009
78010         * modules/javaversion (Makefile.am): Distribute javaversion.java and
78011         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
78012         set PKGDATADIR to point to it.
78013
78014 2006-07-30  Bruno Haible  <bruno@clisp.org>
78015
78016         * modules/csharpexec (configure.ac): Comment out macro invocation.
78017         * modules/javaexec (configure.ac): Likewise.
78018         * modules/javacomp-script (configure.ac): Likewise.
78019
78020         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
78021
78022 2006-07-30  Bruno Haible  <bruno@clisp.org>
78023
78024         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
78025         linked-list.
78026
78027 2006-07-30  Bruno Haible  <bruno@clisp.org>
78028
78029         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
78030
78031 2006-07-30  Bruno Haible  <bruno@clisp.org>
78032
78033         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78034         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
78035         get removed.
78036
78037 2006-07-29  Bruno Haible  <bruno@clisp.org>
78038
78039         Make it possible for gnulib-tool to work with locally modified or
78040         augmented gnulib repositories.
78041         * gnulib-tool (func_usage): Document --local-dir option.
78042         (local_gnulib_dir): New variable.
78043         Handle --local-dir option.
78044         (func_lookup_file): New function.
78045         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
78046         (func_get_description, func_get_filelist, func_get_description,
78047         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
78048         func_get_automake_snippet, func_get_include_directive,
78049         func_get_license, func_get_maintainer): Use func_lookup_file.
78050         (func_import, func_create_testdir): Use func_lookup_file.
78051
78052 2006-07-29  Bruno Haible  <bruno@clisp.org>
78053
78054         * modules/setenv (Depends-on): Add unistd.
78055
78056 2006-07-29  Bruno Haible  <bruno@clisp.org>
78057
78058         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
78059
78060 2006-07-29  Bruno Haible  <bruno@clisp.org>
78061
78062         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
78063
78064 2006-07-29  Bruno Haible  <bruno@clisp.org>
78065
78066         * gnulib-tool (import, update): If there is no Makefile.am, look at
78067         aclocal.m4, instead of bailing out.
78068
78069 2006-07-29  Bruno Haible  <bruno@clisp.org>
78070
78071         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
78072         Categorize the options by when they are useful.
78073
78074 2006-07-29  Bruno Haible  <bruno@clisp.org>
78075
78076         * gnulib-tool (func_usage): Document option --no-libtool.
78077         Handle option --no-libtool.
78078         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
78079         for changed semantics of $libtool variable.
78080         (func_import): Likewise. If libtool is not used, show this through
78081         an option --no-libtool.
78082         (func_create_testdir): Update.
78083
78084 2006-07-29  Bruno Haible  <bruno@clisp.org>
78085
78086         * gnulib-tool (func_import): Extend error message about missing
78087         --doc-base.
78088
78089 2006-07-29  Bruno Haible  <bruno@clisp.org>
78090
78091         * gnulib-tool (func_import): Don't create the $docbase directory if
78092         there is no file to store there.
78093
78094 2006-07-29  Bruno Haible  <bruno@clisp.org>
78095
78096         * gnulib-tool (autoconf_minversion): If a --dir option is given and
78097         relevant, look for configure.ac there, not in the current directory.
78098         Also use a simple search for AC_PREREQ, not "autoconf --trace".
78099
78100 2006-07-29  Bruno Haible  <bruno@clisp.org>
78101
78102         * gnulib-tool (SORT): New variable.
78103         (func_usage): Undocument --assume-autoconf option.
78104         Remove --assume-autoconf option handling.
78105         (autoconf_minversion): Determine from the contents of configure.ac.
78106         (func_import): Remove autoconf_minversion handling.
78107         Suggested by Eric Blake.
78108
78109 2006-07-29  Bruno Haible  <bruno@clisp.org>
78110
78111         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
78112
78113 2006-07-29  Bruno Haible  <bruno@clisp.org>
78114
78115         * config/srclist.txt (*setenv.[ch]): Remove rules.
78116
78117 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78118
78119         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
78120
78121 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78122
78123         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
78124         arpa/inet.h.
78125
78126 2006-07-28  Simon Josefsson  <jas@extundo.com>
78127
78128         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
78129         * modules/inet_pton (Depends-on): Likewise.
78130
78131 2006-07-28  Simon Josefsson  <jas@extundo.com>
78132
78133         * m4/netinet_in_h.m4: New file.
78134
78135 2006-07-28  Simon Josefsson  <jas@extundo.com>
78136
78137         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
78138         #include's.
78139
78140 2006-07-28  Simon Josefsson  <jas@extundo.com>
78141
78142         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
78143         #include's.
78144
78145 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
78146
78147         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
78148         setgid on directories only if they set these bits.
78149         * lib/modechange.h: Remove obsolete comment about masks.
78150
78151 2006-07-28  Eric Blake  <ebb9@byu.net>
78152
78153         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
78154         macro expansion.
78155
78156 2006-07-28  Bruno Haible  <bruno@clisp.org>
78157
78158         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
78159
78160 2006-07-28  Bruno Haible  <bruno@clisp.org>
78161
78162         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
78163
78164 2006-07-28  Bruno Haible  <bruno@clisp.org>
78165
78166         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
78167         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
78168         Define fallbacks.
78169         Avoids link error on FreeBSD 4.x.
78170         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78171
78172         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
78173         encoding.
78174         * lib/mbswidth.c (iswcntrl): Likewise.
78175
78176 2006-07-27  Bruno Haible  <bruno@clisp.org>
78177
78178         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
78179         test.
78180
78181 2006-07-27  Bruno Haible  <bruno@clisp.org>
78182
78183         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
78184         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
78185         defined.
78186
78187 2006-07-26  Eric Blake  <ebb9@byu.net>
78188
78189         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
78190
78191 2006-07-26  Eric Blake  <ebb9@byu.net>
78192
78193         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
78194         like mingw that lack mkstemp.
78195         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
78196         avoid compilation warning on mingw.
78197
78198 2006-07-26  Bruno Haible  <bruno@clisp.org>
78199
78200         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
78201         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
78202         INT_FAST*_MIN, INTPTR_MIN.
78203
78204 2006-07-25  Bruno Haible  <bruno@clisp.org>
78205
78206         * modules/version-etc (Depends-on): Add stdarg.
78207
78208 2006-07-25  Bruno Haible  <bruno@clisp.org>
78209
78210         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
78211         complex commands.
78212
78213 2006-07-25  Bruno Haible  <bruno@clisp.org>
78214
78215         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
78216         defined in <stdarg.h> or config.h.
78217
78218 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
78219
78220         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
78221         (gl_STDIO_SAFER): Remove.
78222
78223 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
78224
78225         * MODULES.html.sh (File stream based Input/Output):
78226         Add fopen-safer, tmpfile-safer; remove stdio-safer.
78227         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
78228         * modules/fopen-safer, modules/tmpfile-safer: New files.
78229         * modules/stdio-safer: Remove.
78230
78231 2006-07-24  Bruno Haible  <bruno@clisp.org>
78232
78233         * modules/tmpdir: New file.
78234         * MODULES.html.sh (File system functions): Add it.
78235
78236 2006-07-24  Bruno Haible  <bruno@clisp.org>
78237
78238         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
78239         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
78240
78241 2006-07-24  Bruno Haible  <bruno@clisp.org>
78242
78243         * modules/clean-temp: New file.
78244
78245 2006-07-24  Bruno Haible  <bruno@clisp.org>
78246
78247         * m4/tmpdir.m4: New file, from GNU gettext.
78248
78249 2006-07-24  Bruno Haible  <bruno@clisp.org>
78250
78251         * lib/tmpdir.h: New file, from GNU gettext.
78252         * lib/tmpdir.c: New file, from GNU gettext.
78253
78254 2006-07-24  Bruno Haible  <bruno@clisp.org>
78255
78256         * lib/clean-temp.h: New file, from GNU gettext.
78257         * lib/clean-temp.c: New file, from GNU gettext.
78258
78259 2006-07-23  Eric Blake  <ebb9@byu.net>
78260
78261         * modules/stdio-safer (Files): Add tmpfile-safer.c.
78262         (Depends-on): Add binary-io.
78263
78264 2006-07-23  Eric Blake  <ebb9@byu.net>
78265
78266         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
78267
78268 2006-07-23  Eric Blake  <ebb9@byu.net>
78269
78270         * lib/tmpfile-safer.c: New file.
78271         * lib/stdio-safer.h (fopen_safer): Add prototype.
78272         * lib/stdio--.h (tmpfile): Make safer.
78273
78274 2006-07-23  Bruno Haible  <bruno@clisp.org>
78275
78276         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
78277         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
78278         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
78279         gl_linked_remove_at): Use it.
78280
78281 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78282         and Simon Josefsson <jas@extundo.com>
78283
78284         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
78285
78286         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
78287
78288 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78289
78290         * modules/close-stream: New file.
78291         * modules/closeout (Description): Make it clear that it exits
78292         with a diagnostic on error.
78293         (Depends-on): Add close-stream.  Remove fpending, stdbool.
78294         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
78295
78296 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78297
78298         * m4/close-stream.m4: New file.
78299
78300 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78301
78302         * lib/close-stream.c, lib/close-stream.h: New files.
78303
78304 2006-07-22  Bruno Haible  <bruno@clisp.org>
78305
78306         Merge from GNU gettext 0.15.
78307
78308         2006-05-01  Bruno Haible  <bruno@clisp.org>
78309
78310                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
78311
78312         2006-07-22  Bruno Haible  <bruno@clisp.org>
78313
78314                 * modules/javaversion: New file.
78315                 * MODULES.html.sh (Java): Add javaversion.
78316
78317         2006-03-12  Bruno Haible  <bruno@clisp.org>
78318
78319                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
78320
78321         2005-12-04  Bruno Haible  <bruno@clisp.org>
78322
78323                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
78324                 (untested).
78325
78326         2006-06-21  Bruno Haible  <bruno@clisp.org>
78327
78328                 Avoid warnings from recent versions of mcs.
78329                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
78330                 -o, -L, -r any more. Use options documented since mcs-1.0
78331                 instead. Similarly for -g.
78332
78333         2005-12-04  Bruno Haible  <bruno@clisp.org>
78334
78335                 * build-aux/csharpcomp.sh.in: Suffix for resources is
78336                 .resources, not .resource.
78337
78338         2005-07-09  Bruno Haible  <bruno@clisp.org>
78339
78340                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
78341                 add a .dll suffix.
78342                 Reported by Mark Junker <mjscod@gmx.de>.
78343
78344         2006-07-22  Bruno Haible  <bruno@clisp.org>
78345
78346                 * modules/gettext: Upgrade to gettext-0.15.
78347                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
78348                 m4/visibility.m4.
78349                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
78350
78351 2006-07-22  Bruno Haible  <bruno@clisp.org>
78352
78353         Merge from GNU gettext 0.15.
78354
78355         2006-03-25  Bruno Haible  <bruno@clisp.org>
78356
78357                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
78358
78359         2006-07-21  Bruno Haible  <bruno@clisp.org>
78360
78361                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
78362                 "1.1".
78363
78364         2006-05-09  Bruno Haible  <bruno@clisp.org>
78365
78366                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
78367                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
78368                 for the conftestver execution.
78369
78370         2006-05-01  Bruno Haible  <bruno@clisp.org>
78371
78372                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
78373                 optional target-version argument. Verify that the compiler
78374                 groks source of the specified source-version, or add -source
78375                 option as necessary. Verify that the compiler produces
78376                 bytecode in the specified target-version, or add -target and
78377                 -source options as necessary. Make the result of the test
78378                 available as variable CONF_JAVAC. Also log error output in
78379                 config.log.
78380
78381         2006-03-11  Bruno Haible  <bruno@clisp.org>
78382
78383                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
78384
78385         2006-05-09  Bruno Haible  <bruno@clisp.org>
78386
78387                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
78388                 CLASSPATH_SEPARATOR to a semicolon.
78389
78390         2006-03-12  Bruno Haible  <bruno@clisp.org>
78391
78392                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
78393                 available as variable CONF_JAVA, for subsequent autoconf
78394                 tests. Also log error output in config.log.
78395
78396         2006-07-19  Bruno Haible  <bruno@clisp.org>
78397
78398                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
78399                 that getline works on glibc2 systems. Needed to avoid trouble
78400                 in relocatable.c.
78401                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
78402
78403         2005-12-04  Bruno Haible  <bruno@clisp.org>
78404
78405                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
78406                 launcher (untested).
78407
78408         2005-12-04  Bruno Haible  <bruno@clisp.org>
78409
78410                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
78411
78412         2006-07-22  Bruno Haible  <bruno@clisp.org>
78413
78414                 * gettext.m4: Update from GNU gettext-0.15.
78415                 * nls.m4: Likewise.
78416                 * po.m4: Likewise.
78417                 * inttypes-pri.m4: Likewise.
78418                 * inttypes-h.m4: Renamed from inttypes.m4.
78419                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
78420
78421 2006-07-22  Bruno Haible  <bruno@clisp.org>
78422
78423         Merge from GNU gettext 0.15.
78424
78425         2005-07-05  Bruno Haible  <bruno@clisp.org>
78426
78427                 * printf-args.c (printf_fetchargs): Work around broken
78428                 definition of wint_t on mingw.
78429
78430         2005-02-12  Bruno Haible  <bruno@clisp.org>
78431
78432                 * xallocsa.h: Add extern "C" for C++.
78433
78434         2006-05-17  Bruno Haible  <bruno@clisp.org>
78435
78436                 Cygwin portability.
78437                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
78438
78439         2006-04-30  Bruno Haible  <bruno@clisp.org>
78440
78441                 * progreloc.c: Include <mach-o/dyld.h> if available.
78442                 (find_executable): Use _NSGetExecutablePath when possible.
78443
78444         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
78445
78446                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
78447                 function.
78448
78449         2005-12-29  Bruno Haible  <bruno@clisp.org>
78450
78451                 * progreloc.c (set_program_name_and_installdir): Fix
78452                 compilation error.
78453
78454         2005-12-04  Bruno Haible  <bruno@clisp.org>
78455
78456                 Cygwin portability.
78457                 * progreloc.c: Include <windows.h> also on Cygwin.
78458                 (find_executable): Add support for Cygwin.
78459                 (set_program_name_and_installdir): Handle also platforms with
78460                 nonempty EXEEXT.
78461
78462         2006-07-11  Bruno Haible  <bruno@clisp.org>
78463
78464                 * javacomp.c: Fix a comment.
78465                 Reported by Jim Meyering.
78466
78467         2006-04-30  Bruno Haible  <bruno@clisp.org>
78468
78469                 * javacomp.h (compile_java_class): Add source_version,
78470                 target_version arguments.
78471                 * javacomp.c: Rewritten to choose only a compiler that
78472                 respects the specified source_version and target_version.
78473
78474         2006-06-27  Bruno Haible  <bruno@clisp.org>
78475
78476                 Assume correct S_ISDIR macro.
78477                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
78478
78479         2006-07-22  Bruno Haible  <bruno@clisp.org>
78480
78481                 * javaversion.h: New file, from GNU gettext.
78482                 * javaversion.c: New file, from GNU gettext.
78483                 * javaversion.java: New file, from GNU gettext.
78484                 * javaversion.class: New file, from GNU gettext.
78485
78486         2006-05-17  Bruno Haible  <bruno@clisp.org>
78487
78488                 Cygwin portability.
78489                 * javaexec.c (execute_java_class): Test for jview program
78490                 also on Cygwin.
78491
78492         2006-04-09  Bruno Haible  <bruno@clisp.org>
78493
78494                 * fatal-signal.c: Don't include string.h.
78495                 (at_fatal_signal): Use a copying loop instead of memcpy.
78496
78497         2005-12-04  Bruno Haible  <bruno@clisp.org>
78498
78499                 * csharpexec.c: Add support for 'clix' launcher (untested).
78500                 (execute_csharp_using_sscli): New function.
78501                 (execute_csharp_program): Call it.
78502
78503         2006-06-21  Bruno Haible  <bruno@clisp.org>
78504
78505                 Avoid warnings from recent versions of mcs.
78506                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
78507                 -o, -L, -r any more. Use options documented since mcs-1.0
78508                 instead. Similarly for -g.
78509
78510         2005-07-09  Bruno Haible  <bruno@clisp.org>
78511
78512                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
78513                 add a .dll suffix.
78514                 Reported by Mark Junker <mjscod@gmx.de>.
78515
78516         2006-06-17  Bruno Haible  <bruno@clisp.org>
78517
78518                 * config.charset: Update for NetBSD 3.0.
78519
78520         2006-05-17  Bruno Haible  <bruno@clisp.org>
78521
78522                 Cygwin portability.
78523                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
78524
78525         2006-05-16  Bruno Haible  <bruno@clisp.org>
78526
78527                 * localcharset.c [CYGWIN]: Include <windows.h>.
78528                 (get_charset_aliases): For Cygwin, return the same CPxxx
78529                 aliases list as under WIN32.
78530                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
78531                 the environment variables. Fall back to GetACP().
78532
78533         2006-04-05  Bruno Haible  <bruno@clisp.org>
78534
78535                 * config.charset: Update Juan Manuel Guerrero's address.
78536
78537         2005-02-12  Bruno Haible  <bruno@clisp.org>
78538
78539                 * allocsa.h: Add extern "C" for C++.
78540
78541         2005-02-10  Bruno Haible  <bruno@clisp.org>
78542
78543                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
78544                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
78545
78546         2006-07-22  Bruno Haible  <bruno@clisp.org>
78547
78548                 * gettext.h: Update to GNU gettext-0.15.
78549
78550 2006-07-22  Bruno Haible  <bruno@clisp.org>
78551
78552         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
78553         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
78554         lib-prefix.m4, longdouble.m4, ssize_t.m4.
78555
78556 2006-07-21  Eric Blake  <ebb9@byu.net>
78557
78558         * modules/stdlib-safer: New file.
78559         * MODULES.html.sh (File stream based Input/Output): Add
78560         stdlib-safer.
78561
78562 2006-07-21  Eric Blake  <ebb9@byu.net>
78563
78564         * lib/stdlib-safer.h: New file from coreutils, required by
78565         stdlib--.h.
78566
78567 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
78568
78569         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
78570
78571 2006-07-20  Bruno Haible  <bruno@clisp.org>
78572
78573         * gnulib-tool: Recognize new option --assume-autoconf.
78574         (autoconf_minversion): New variable.
78575         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
78576
78577 2006-07-20  Bruno Haible  <bruno@clisp.org>
78578
78579         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
78580
78581 2006-07-19  Derek R. Price  <derek@ximbiot.com>
78582
78583         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
78584         Reindent and repaginate.
78585
78586 2006-07-19  Derek Price  <derek@ximbiot.com>
78587
78588         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
78589         Correct grammar.
78590
78591 2006-07-17  Bruno Haible  <bruno@clisp.org>
78592
78593         * modules/list: New file.
78594         * modules/array-list: New file.
78595         * modules/carray-list, modules/carray-list-tests: New files.
78596         * modules/linked-list, modules/linked-list-tests: New files.
78597         * modules/avltree-list, modules/avltree-list-tests: New files.
78598         * modules/rbtree-list, modules/rbtree-list-tests: New files.
78599         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
78600         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
78601         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
78602         * modules/oset: New file.
78603         * modules/array-oset: New file.
78604         * modules/avltree-oset, modules/avltree-oset-tests: New files.
78605         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
78606         * tests/test-carray_list.c: New file.
78607         * tests/test-linked_list.c: New file.
78608         * tests/test-avltree_list.c: New file.
78609         * tests/test-rbtree_list.c: New file.
78610         * tests/test-linkedhash_list.c: New file.
78611         * tests/test-avltreehash_list.c: New file.
78612         * tests/test-rbtreehash_list.c: New file.
78613         * tests/test-avltree_oset.c: New file.
78614         * tests/test-rbtree_oset.c: New file.
78615         * MODULES.html.sh (Container data structures): New section.
78616
78617 2006-07-17  Bruno Haible  <bruno@clisp.org>
78618
78619         * m4/gl_list.m4: New file.
78620
78621 2006-07-17  Bruno Haible  <bruno@clisp.org>
78622
78623         * lib/gl_list.h: New file.
78624         * lib/gl_list.c: New file.
78625         * lib/gl_array_list.h: New file.
78626         * lib/gl_array_list.c: New file.
78627         * lib/gl_carray_list.h: New file.
78628         * lib/gl_carray_list.c: New file.
78629         * lib/gl_linked_list.h: New file.
78630         * lib/gl_linked_list.c: New file.
78631         * lib/gl_anylinked_list1.h: New file.
78632         * lib/gl_anylinked_list2.h: New file.
78633         * lib/gl_avltree_list.h: New file.
78634         * lib/gl_avltree_list.c: New file.
78635         * lib/gl_anyavltree_list1.h: New file.
78636         * lib/gl_anyavltree_list2.h: New file.
78637         * lib/gl_rbtree_list.h: New file.
78638         * lib/gl_rbtree_list.c: New file.
78639         * lib/gl_anyrbtree_list1.h: New file.
78640         * lib/gl_anyrbtree_list2.h: New file.
78641         * lib/gl_anytree_list1.h: New file.
78642         * lib/gl_anytree_list2.h: New file.
78643         * lib/gl_linkedhash_list.h: New file.
78644         * lib/gl_linkedhash_list.c: New file.
78645         * lib/gl_anyhash_list1.h: New file.
78646         * lib/gl_anyhash_list2.h: New file.
78647         * lib/gl_avltreehash_list.h: New file.
78648         * lib/gl_avltreehash_list.c: New file.
78649         * lib/gl_rbtreehash_list.h: New file.
78650         * lib/gl_rbtreehash_list.c: New file.
78651         * lib/gl_anytreehash_list1.h: New file.
78652         * lib/gl_anytreehash_list2.h: New file.
78653
78654         * lib/gl_oset.h: New file.
78655         * lib/gl_oset.c: New file.
78656         * lib/gl_array_oset.h: New file.
78657         * lib/gl_array_oset.c: New file.
78658         * lib/gl_avltree_oset.h: New file.
78659         * lib/gl_avltree_oset.c: New file.
78660         * lib/gl_rbtree_oset.h: New file.
78661         * lib/gl_rbtree_oset.c: New file.
78662         * lib/gl_anytree_oset.h: New file.
78663
78664 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78665
78666         * m4/mkancesdirs.m4: New file.
78667         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
78668         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
78669         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
78670         it.
78671
78672 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78673
78674         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
78675         * lib/mkancesdirs.h: New files.
78676         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
78677         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
78678         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
78679         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
78680         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
78681         callers changed.  Revamp internals significantly, by not
78682         attempting to create directories that are temporarily more
78683         permissive than the final results.  Do not attempt to use
78684         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
78685         This removes some race conditions, fixes some bugs, and simplifies
78686         things.  Use new dirchownmod function to do owner and mode changes.
78687         * lib/mkdir-p.h: Likewise.
78688         * lib/modechange.c (octal_to_mode): New function.
78689         (struct mode_change): New member mentioned.
78690         (make_node_op_equals): New arg mentioned.  All callers changed.
78691         (mode_compile): Keep track of which mode bits the user has explicitly
78692         mentioned.
78693         (mode_adjust): New arg DIR, so that we implement the X op correctly.
78694         New arg PMODE_BITS, to keep track of which mode bits the user
78695         mentioned; it treats S_ISUID and S_ISGID speciall.
78696         All callers changed.
78697         * lib/modechange.h: Likewise.
78698
78699 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78700
78701         * MODULES.html.sh: Add mkancestors.
78702         * modules/mkancesdirs: New module.
78703         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
78704         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
78705         The chdir-safer and afs files are now orphans; I'll remove them
78706         unless someone speaks up.
78707         Add lib/dirchownmod.c, lib/dirchownmod.h.
78708         (Depends-on): Remove alloca, chown, save-cwd, dirname.
78709         Add lchown, mkancesdirs.
78710         (Maintainer): Add self.
78711
78712 2006-07-15  Karl Berry  <karl@gnu.org>
78713
78714         * gnulib-tool: help message wording/arrangement.
78715
78716 2006-07-14  Simon Josefsson  <jas@extundo.com>
78717
78718         * doc/gnulib.texi (Libtool and Windows): New section.
78719
78720 2006-07-12  Simon Josefsson  <jas@extundo.com>
78721
78722         * modules/gendocs (License): Fix license, approved by Karl.
78723
78724 2006-07-12  Eric Blake  <ebb9@byu.net>
78725
78726         * MODULES.html.sh: Add gendocs.
78727
78728 2006-07-11  Eric Blake  <ebb9@byu.net>
78729
78730         * modules/fdl: New module, to install doc/fdl.texi.
78731         * MODULES.html.sh: Add new section for documentation modules.
78732         * gnulib-tool: Avoid space-tab.
78733         (--doc-base): New option, to manage files from doc.
78734
78735 2006-07-11  Eric Blake  <ebb9@byu.net>
78736
78737         * m4/absolute-header.m4: Fix comments to match recent change.
78738
78739 2006-07-11  Eric Blake  <ebb9@byu.net>
78740
78741         * gnulib-tool: List --doc-base before --tests-base.
78742
78743 2006-07-11  Derek R. Price  <derek@ximbiot.com>
78744
78745         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
78746
78747 2006-07-11  Bruno Haible  <bruno@clisp.org>
78748
78749         * README: Mention where to put documentation.
78750
78751 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78752
78753         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
78754
78755 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78756
78757         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
78758         to stdint.m4.
78759
78760 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78761
78762         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
78763         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
78764         "no/such/file/stdint.h" when there is no such file, so that
78765         the resulting C code can be parsed by dodgy compilers.
78766         Problems reported by Bob Proulx.
78767
78768 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78769
78770         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
78771         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78772         macros into the GNU _D_EXACT_NAMLEN.
78773         * lib/savedir.c:  Likewise.
78774         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
78775
78776 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78777         and Paul Eggert  <eggert@cs.ucla.edu>
78778
78779         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
78780         * m4/savedir.m4:
78781         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78782         macros into the GNU _D_EXACT_NAMLEN.
78783
78784 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78785
78786         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
78787         around the absolute name, to work around a problem with the HP-UX
78788         11.23 native C compiler, reported by Bob Proulx.
78789
78790 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78791
78792         * doc/maintain.texi, make-stds.texi: Sync from
78793         <http://savannah.gnu.org/projects/gnustandards>.
78794
78795 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78796
78797         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
78798
78799 2006-07-09  Jim Meyering  <jim@meyering.net>
78800
78801         * m4/glob.m4: Remove a doubled word in a comment.
78802
78803 2006-07-09  Jim Meyering  <jim@meyering.net>
78804
78805         * lib/argp-pv.c: Remove a doubled word in a comment.
78806         * lib/check-version.c (check_version): Likewise.
78807         * lib/javacomp.c (compile_java_class): Likewise.
78808
78809 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78810
78811         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
78812         for the benefit of people using Autoconf 2.60.  If you want to
78813         support older Autoconf versions you can copy m4/onceonly_2_57.m4
78814         (or m4/onceonly.m4, if pre-2.57) manually.
78815
78816 2006-07-08  Jim Meyering  <jim@meyering.net>
78817
78818         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
78819         comment.
78820         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
78821         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
78822         comment.
78823
78824 2006-07-08  Jim Meyering  <jim@meyering.net>
78825
78826         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
78827
78828 2006-07-07  Simon Josefsson  <jas@extundo.com>
78829
78830         * tests/test-crc.c: Change expected crc value, the test vector
78831         were probably computed using the old broken crc.c?
78832
78833 2006-07-06  Simon Josefsson  <jas@extundo.com>
78834
78835         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
78836         now the canonical place for the M4 file).
78837
78838         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
78839         from the sys_socket dependency now.
78840
78841         * modules/inet_pton (Files): Ditto.
78842
78843         * modules/inet_ntop (Files): Ditto.
78844
78845 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78846
78847         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
78848         not gl_PREREQ_GETUSERSHELL.
78849
78850 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78851
78852         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
78853         with only one argument, for Autoconf 2.60.
78854         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
78855         expand to nothing, so add a shell command to avoid syntax error.
78856         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78857
78858 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78859
78860         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
78861
78862 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78863
78864         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
78865         no longer needed.  Check for isblank decl.
78866         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
78867         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
78868         of existence.
78869
78870 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78871
78872         * lib/getloadavg.c: Use __VMS, not VMS.
78873         * lib/getopt.c: Likewise.
78874         * lib/getpagesize.h: Likewise.
78875         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
78876         and probably does not work.
78877
78878 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78879
78880         * lib/.cppi-disable: Add wcwidth.
78881         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
78882         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
78883         (ISGRAPH): Remove.  All uses changed to isgraph.
78884         (FOLD) [!defined _LIBC]: Remove special case.
78885         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
78886         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
78887         HAVE_ISBLANK.
78888         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
78889         case.
78890
78891 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78892
78893         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
78894         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
78895         brackets.  Other minor changes to suppress some compiler
78896         warnings.
78897
78898 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78899         and Paul Eggert  <eggert@cs.ucla.edu>
78900
78901         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
78902         of invoking obsolescent AC_HEADER_DIRENT macro.
78903         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
78904         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
78905         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
78906         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
78907         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
78908         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78909         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
78910         * m4/readdir.m4: Remove; no longer needed.
78911
78912 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78913         and Paul Eggert  <eggert@cs.ucla.edu>
78914
78915         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
78916         Don't worry about this obsolete case any more.
78917         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
78918         directories.
78919         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
78920         worry about this obsolete case any more.
78921         * lib/fts.c: Likewise.
78922         * lib/getcwd.c: Likewise.
78923         * lib/glob.h: Likewise.
78924         * lib/savedir.c: Likewise.
78925
78926 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
78929         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
78930         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
78931         needed.
78932         All uses removed.
78933         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78934         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78935         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
78936         needed.
78937         * m4/getdate.m4 (gl_GETDATE): Likewise.
78938         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78939         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78940         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78941         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78942         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78943         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78944         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
78945         needed.
78946
78947 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78948
78949         * lib/memcasecmp.c: Include <limits.h>.
78950         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
78951         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
78952         Don't assume isdigit succeeds only on '0' through '9'.
78953
78954 2006-07-05  Eric Blake  <ebb9@byu.net>
78955
78956         * modules/getaddrinfo (Depends-on): Add snprintf.
78957
78958 2006-07-05  Eric Blake  <ebb9@byu.net>
78959
78960         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
78961         to avoid 'header present but could not be compiled' on cygwin.
78962
78963 2006-07-05  Eric Blake  <ebb9@byu.net>
78964
78965         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
78966         missing from netdb.h.
78967         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
78968
78969 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78970
78971         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
78972         no longer needed.
78973         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
78974         * m4/getdate.m4 (gl_GETDATE): Likewise.
78975         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78976         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78977         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78978         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78979         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78980
78981 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78982
78983         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
78984         All uses of is_space replaced by isspace.
78985         * lib/exit.h: Don't talk about STDC_HEADERS.
78986         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
78987         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
78988         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
78989         replaced by isprint etc.
78990         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
78991         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78992         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
78993         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
78994         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
78995         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78996
78997 2006-07-05  Bruno Haible  <bruno@clisp.org>
78998
78999         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
79000         the function exists, before testing against AIX.
79001         Reported by Martin Lambers <marlam@marlam.de>.
79002
79003 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
79004
79005         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
79006         From Mark D. Baushke.
79007
79008 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
79009
79010         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
79011         to the absolute name, not just one, to bypass Sun C 5.8's
79012         "warning: #include of /usr/include/... may be non-portable".
79013
79014 2006-07-04  Eric Blake  <ebb9@byu.net>
79015
79016         * modules/dirname-tests: New test module.
79017         * tests/test-dirname.c: New file, replacing dirname.c
79018         TEST_DIRNAME section that was recently deleted.
79019
79020 2006-07-04  Bruno Haible  <bruno@clisp.org>
79021
79022         Assume ANSI C header files and <ctype.h> functions.
79023         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
79024         (mbsnwidth): Use isprint, iscntrl instead.
79025
79026 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79027
79028         Merge from coreutils.
79029         * MODULES.html.sh: Add xstrtold.
79030         * modules/xstrtold: New file.
79031         * modules/cycle-check (Files): Add lib/same-inode.h.
79032         * modules/dirname (Files): Add m4/double-slash-root.m4.
79033         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
79034         * modules/mkdir-p (Files): Add lib/same-inode.h.
79035         * modules/same (Files): Add lib/same-inode.h.
79036
79037 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79038
79039         * m4/absolute-header.m4: Renamed from full-header-path.m4.
79040         This is to keep the terminology clean; POSIX talks about
79041         "absolute pathnames", not "full pathnames", but the GNU
79042         Coding Standards say to use "path" for something else;
79043         so use "absolute" to keep both sides happy.
79044         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
79045         Set gl_absolute_header, not gl_full_header_path.
79046         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
79047         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
79048         All uses changed.
79049
79050         Merge from coreutils.
79051
79052         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
79053
79054         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
79055         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
79056         want to require the building of c-strtod.o.
79057         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
79058         needs -lm directly.
79059         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
79060
79061         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
79062
79063         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
79064         --as-needed option if available.  Problem reported by Albert Chin in
79065         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
79066         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
79067         cc merely issues a bunch of annoying warnings for --as-needed
79068         (this problem was reported by Bob Proulx).  Also, try linking with
79069         -lm to detect a bug in binutils 2.16 (this problem was reported
79070         by Ralf Wildenhues).
79071
79072         2006-06-18  Jim Meyering  <jim@meyering.net>
79073
79074         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
79075         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
79076         macro.
79077         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
79078         also check for glibc-2.4's abort-inducing bug.
79079
79080         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
79081         Low-probability clean-up should be to use rmdir to get rid of
79082         the just-created directory, not unlink.
79083
79084         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
79085         configure fail, and request a bug report to inform us about it.
79086         Add a comment that, barring reports to the contrary, in 2007 we'll
79087         assume ftruncate is universally available.
79088
79089         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
79090
79091         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
79092
79093         2006-03-12  Jim Meyering  <jim@meyering.net>
79094
79095         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
79096         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
79097         * m4/same.m4 (gl_SAME): Likewise.
79098         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
79099
79100         2006-03-11  Eric Blake  <ebb9@byu.net>
79101
79102         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
79103         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
79104         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
79105         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
79106
79107 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79108
79109         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
79110         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
79111         reported by Mark D. Baushke, one in
79112         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
79113
79114         Merge from coreutils.
79115
79116         * lib/.cppi-disable: Add stdint_.h.
79117         * lib/.cvsignore: Add stdint.h.
79118
79119         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
79120
79121         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
79122         both double and long double versions.
79123         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
79124         * lib/xstrtold.c: New file.
79125         * lib/xstrtod.h (xstrtold): New decl.
79126
79127         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79128
79129         * lib/filemode.c (setst): Remove.
79130         (strmode): Rewrite to avoid setst.  This makes the code shorter,
79131         (arguably) clearer, and the generated code is a bit smaller on my
79132         Debian GNU/Linux stable x86 host.
79133
79134         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
79135
79136         * lib/filemode.c: Include "filemode.h" first, to test the interface.
79137         Assume that filemode.h includes sys/types.h and sys/stat.h.
79138         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
79139         (ftypelet): Reorder to put common cases first, for efficiency.
79140         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
79141         to do 'M'.
79142         (strmode): Renamed from mode_string, and now stores 12 bytes instead
79143         of 10, for compatibility with FreeBSD.  All callers changed.
79144         (filemodestring): Now stores 12 bytes instead of 10, and sets file
79145         types that can't be deduced solely from st_mode.  First arg is now a
79146         const pointer.
79147         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
79148         (strmode): Renamed from mode_string.
79149         (filemodestring): New decl.
79150         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
79151         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
79152         needed.
79153         (S_ISPORT, S_ISWHT): New macros, if not already defined.
79154
79155         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
79156
79157         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
79158         fsusage.h now does that.  Include fsusage.h first, to test interface.
79159         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
79160         at most one method (the old code could have generated decls that
79161         didn't conform to C89, not that this was ever exercised).
79162         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
79163
79164         2006-03-19  Jim Meyering  <jim@meyering.net>
79165
79166         Work even in a chroot where d_ino values for entries in "/"
79167         don't match the stat.st_ino values for the same names.
79168         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
79169         number, iterate through all entries again, using lstat instead.
79170         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
79171         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
79172
79173         * lib/getcwd.c (__getcwd): Clarify a comment.
79174         Use memcpy in place of a call to strcpy.
79175
79176         2006-03-12  Jim Meyering  <jim@meyering.net>
79177
79178         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
79179         matches that of the current directory (which we're about to chdir ".."
79180         out of), then save the dev-ino of the parent, instead.
79181
79182         * lib/same-inode.h (SAME_INODE): New file/macro.
79183         * lib/chdir-safer.c (SAME_INODE): Remove definition.
79184         Include "same-inode.h", instead.
79185         * lib/same.c: Likewise.
79186         * lib/cycle-check.h: Include "same-inode.h".
79187         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
79188         * lib/cycle-check.c (SAME_INODE): Remove definition.
79189         * lib/root-dev-ino.h: Include "same-inode.h".
79190
79191         2006-03-11  Eric Blake  <ebb9@byu.net>
79192
79193         * lib/same.c (same_name): s/base_name/last_component/
79194         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
79195         * lib/filenamecat.c (file_name_concat): Likewise.
79196
79197         2006-03-11  Eric Blake  <ebb9@byu.net>,
79198                     Paul Eggert  <eggert@cs.ucla.edu>
79199
79200         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
79201         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
79202         drive prefix.
79203         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
79204         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
79205         (last_component): New method.
79206         * lib/dirname.c (dir_len): Determine when drive letters need a
79207         subsequent slash.  Preserve // when it is special.
79208         (dir_name): Don't append dot when drive letter is absolute.
79209         [TEST_DIRNAME]: Move into a full-blown gnulib test.
79210         * lib/basename.c (base_name): New semantics - malloc the result.
79211         Preserve // when it is special.  Preserve relative files that look
79212         like drive letters.
79213         (base_len): Preserve // when it is special.
79214         (last_component): New method, similar to old base_name semantics.
79215         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
79216         base_name.  Strip redundant slashes from ///.
79217
79218 2006-07-03  Jim Meyering  <jim@meyering.net>
79219
79220         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
79221         macro is used before the first cycle_check call.
79222
79223 2006-07-03  Eric Blake  <ebb9@byu.net>
79224
79225         * modules/dirname (Depends-on): Add xstrndup.
79226
79227 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
79228
79229         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
79230         test cases, so that config.log is a bit easier to follow.
79231
79232 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
79233
79234         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
79235         both are 64 bits, since this seems to be the tradition, and this
79236         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
79237         we ever run into a host that prefers long long to long in this
79238         case, we'll need another configure-time test.  Problem reported by
79239         Jim Meyering.
79240
79241 2006-07-02  Eric Blake  <ebb9@byu.net>
79242
79243         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
79244
79245 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79246
79247         * modules/inttypes (Depends-on): No longer depends on stdint.
79248         * modules/stdint (Description): Say more about assumptions.
79249         Say that the fast types might differ.  Say macros are used.
79250         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
79251         (Makefile.am): Revise list of substituted symbols to match
79252         new stdint.m4.
79253         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
79254         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
79255         * tests/test-stdint.c (verify_same_types)
79256         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
79257         the code conforms to C99/C89.
79258         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
79259         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
79260
79261 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79262
79263         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
79264         but fix a bug, by requiring at least 64 bits.
79265         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
79266         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
79267         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
79268         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
79269
79270         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
79271         changes.  Make 2.59 a prerequisite.  Check and substitute for
79272         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
79273         inttypes.h.  Do not use special include files; just use the
79274         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
79275         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
79276         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
79277         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
79278         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
79279         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
79280         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
79281         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
79282         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
79283         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
79284         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
79285         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
79286         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
79287         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
79288         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
79289         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
79290         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
79291         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
79292         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
79293         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
79294         WINT_MAX.  Check for C99 conformance more strictly, by detecting
79295         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
79296         not check for things that C99 does not require, e.g., int8_t.  If
79297         a test isn't needed unless <stdint.h> isn't working, and is
79298         unlikely to be needed for any other reason, then don't do it
79299         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
79300         size_t, since we assume C89 freestanding at least.  Do not check
79301         for sig_atomic_t, wchar_t, or wint_t, since the code now does
79302         the right thing even if the types are not defined.  Instead use:
79303         (gl_STDINT_TYPE_PROPERTIES): New macro.
79304         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
79305         testing whether <sys/types.h> clashes, as Autoconf does this for
79306         us now.  All uses removed.
79307         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
79308         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
79309         (gl_CHECK_TYPE_SAME):
79310         Remove; no longer needed.
79311         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
79312         exists, since we'll return 0 anyway in that case.
79313         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
79314
79315 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79316
79317         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
79318         possible collision with system files.
79319         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
79320         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
79321         WCHAR_MIN and WCHAR_MAX in this case.
79322         (<stddef.h>): Do not include; no longer needed.
79323         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
79324         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
79325         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
79326         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
79327         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
79328         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
79329         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
79330         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
79331         !defined(__c99))]: Include in this case too, since it's harmless
79332         now.
79333         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
79334         dangerous to do so.
79335         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
79336         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
79337         (_STDINT_MIN, _STDINT_MAX): New macros.
79338         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
79339         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
79340         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
79341         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
79342         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
79343         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
79344         macros, not typedefs; this simplifies things quite a bit.
79345         Use long int for all types narrower than int64_t.
79346         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
79347         Define in terms of long long int or int64_t or long int,
79348         not int64_t or int32_t.  This saves some compile-time testing.
79349         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
79350         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
79351         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
79352         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
79353         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
79354         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
79355         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
79356         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
79357         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
79358         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
79359         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
79360         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
79361         undef any previous version and define our own version, for
79362         simplicity and consistency with the new macros for types.
79363         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
79364         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
79365         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
79366         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
79367         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
79368         @WINT_T_SUFFIX@ to keep things simple here.
79369         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
79370         Simplify by assuming typical 8/16/32/64 host, since we're
79371         already doing that elsewhere anyway.
79372         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
79373         and assume long long int is 64 bits if available.  This
79374         speeds up 'configure'.
79375
79376 2006-07-01  Eric Blake  <ebb9@byu.net>
79377
79378         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
79379         Reported by Andreas Buening.
79380
79381 2006-07-01  Eric Blake  <ebb9@byu.net>
79382
79383         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
79384
79385 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
79386
79387         * lib/getaddrinfo.c: fixed typo
79388
79389 2006-06-29  Jim Meyering  <jim@meyering.net>
79390
79391         * modules/strftime (Maintainer): Add my name, since with the
79392         FPRINTFTIME changes strftime.c has forked from glibc.
79393
79394 2006-06-29  Eric Blake  <ebb9@byu.net>
79395
79396         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
79397
79398 2006-06-29  Eric Blake  <ebb9@byu.net>
79399
79400         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
79401
79402 2006-06-29  Eric Blake  <ebb9@byu.net>
79403
79404         * lib/stat_.h: New file.
79405
79406 2006-06-29  Eric Blake  <ebb9@byu.net>
79407
79408         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
79409         unused static function.
79410
79411 2006-06-29  Eric Blake  <ebb9@byu.net>
79412
79413         * doc/functions.texi (Function Portability): Document missing lstat
79414         on mingw.
79415
79416 2006-06-29  Eric Blake  <ebb9@byu.net>
79417
79418         * MODULES.html.sh: Add sys_stat.
79419         * modules/sys_stat: New module.
79420         * modules/mkstemp (Depends-on): Add sys_stat.
79421
79422 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79423
79424         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
79425
79426 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79427
79428         * m4/c-bs-a.m4: Removed.
79429
79430 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79431
79432         * lib/strftime.c: Assume strftime() exists.
79433
79434 2006-06-29  Derek Price  <derek@ximbiot.com>
79435
79436         * modules/c-bs-a: Removed - \a is C89.
79437         * MODULES.html.sh: Remove c-bs-a.
79438
79439 2006-06-29  Bruno Haible  <bruno@clisp.org>
79440
79441         * modules/wcwidth (License): Change to LGPL.
79442
79443 2006-06-28  Simon Josefsson  <jas@extundo.com>
79444
79445         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
79446         on _WIN32.
79447
79448         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
79449         getnameinfo.
79450
79451 2006-06-28  Simon Josefsson  <jas@extundo.com>
79452
79453         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
79454
79455 2006-06-28  Simon Josefsson  <jas@extundo.com>
79456
79457         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
79458         functions there.  It will succeed on Windows XP, but on Windows
79459         2000 and (presumably) earlier, it will fail, and use the internal
79460         re-implementation.
79461         (use_win32_p): New function.
79462         (getaddrinfo): Use strtoul on servname, to support numeric ports.
79463         Support AI_NUMERICSERV to disable getservbyname.
79464         (getnameinfo): New function, only supports
79465         NI_NUMERICHOST|NI_NUMERICSERV for now.
79466
79467         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
79468         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
79469         getnameinfo.
79470
79471 2006-06-28  Eric Blake  <ebb9@byu.net>
79472
79473         * modules/wcwidth: New file.
79474         * modules/mbchar (Depends-on): Add wcwidth.
79475         * modules/mbswidth (Depends-on): Add wcwidth.
79476         * MODULES.html.sh: Add wcwidth.
79477
79478 2006-06-28  Eric Blake  <ebb9@byu.net>
79479
79480         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
79481         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
79482
79483 2006-06-28  Eric Blake  <ebb9@byu.net>
79484
79485         * lib/xvasprintf.h: Fix comments.
79486
79487 2006-06-28  Eric Blake  <ebb9@byu.net>
79488
79489         * lib/mbchar.h (wcwidth): Include wcwidth.h.
79490         * lib/mbswidth.c (wcwidth): Move from here...
79491         * lib/wcwidth.h: ...to this new file.
79492
79493 2006-06-28  Derek R. Price  <derek@ximbiot.com>
79494
79495         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
79496
79497         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
79498         it's obsolete.
79499         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
79500
79501 2006-06-28  Derek R. Price  <derek@ximbiot.com>
79502
79503         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
79504         Autoconf 2.60 says this stuff was obsolete.
79505
79506 2006-06-28  Bruno Haible  <bruno@clisp.org>
79507
79508         * modules/wcwidth (Files): Add m4/wchar_t.m4.
79509
79510 2006-06-28  Bruno Haible  <bruno@clisp.org>
79511
79512         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
79513         gt_TYPE_WCHAR_T.
79514
79515 2006-06-28  Bruno Haible  <bruno@clisp.org>
79516
79517         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
79518         declaration for wcwidth.
79519         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
79520
79521 2006-06-28  Bruno Haible  <bruno@clisp.org>
79522
79523         * lib/mkdtemp.c [MINGW]: Include <io.h>.
79524         (mkdir): Define using _mkdir.
79525
79526 2006-06-28  Bruno Haible  <bruno@clisp.org>
79527
79528         * lib/getaddrinfo.h: Fix POSIX URL.
79529         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
79530         _WIN32.
79531         (use_win32_p): Make static.
79532         (getaddrinfo): Reject service name if it is empty or does not consist
79533         solely of decimal digits, or if its value is > 65535.
79534         (getnameinfo): Remove useless casts.
79535
79536 2006-06-27  Simon Josefsson  <jas@extundo.com>
79537
79538         * modules/sys_select: New file, suggested by Bruno Haible, Paul
79539         Eggert and Martin Lambers.
79540
79541 2006-06-27  Simon Josefsson  <jas@extundo.com>
79542
79543         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
79544         Eggert and Martin Lambers.
79545
79546 2006-06-27  Bruno Haible  <bruno@clisp.org>
79547
79548         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
79549         result to 0, not to empty.
79550         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
79551
79552 2006-06-27  Bruno Haible  <bruno@clisp.org>
79553
79554         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
79555
79556 2006-06-26  Simon Josefsson  <jas@extundo.com>
79557
79558         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
79559         present.
79560
79561 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
79562
79563         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
79564         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
79565         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
79566
79567 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
79568
79569         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
79570
79571 2006-06-26  Bruno Haible  <bruno@clisp.org>
79572
79573         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
79574
79575 2006-06-26  Bruno Haible  <bruno@clisp.org>
79576
79577         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
79578
79579 2006-06-26  Bruno Haible  <bruno@clisp.org>
79580
79581         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
79582         SGI C compiler in pre-C99 mode.
79583         Suggested by Mark D. Baushke and Larry Jones.
79584
79585 2006-06-26  Bruno Haible  <bruno@clisp.org>
79586
79587         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
79588         WCHAR_MAX.
79589         Reported by Mark D. Baushke and Larry Jones.
79590
79591 2006-06-26  Bruno Haible  <bruno@clisp.org>
79592
79593         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
79594         in pre-C99 mode.
79595         Suggested by Mark D. Baushke and Larry Jones.
79596
79597 2006-06-23  Simon Josefsson  <jas@extundo.com>
79598             Bruno Haible  <bruno@clisp.org>
79599
79600         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
79601         Emit mostlyclean-local rule.
79602         (func_emit_tests_Makefile_am): Likewise.
79603         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
79604
79605 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
79606
79607         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
79608
79609 2006-06-23  Bruno Haible  <bruno@clisp.org>
79610
79611         * tests/test-stdint.c: Update to match ISO C 99 Technical
79612         Corrigendum 1.
79613
79614 2006-06-23  Bruno Haible  <bruno@clisp.org>
79615
79616         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
79617
79618 2006-06-23  Bruno Haible  <bruno@clisp.org>
79619
79620         * lib/stdint_.h: Treat IRIX like OpenBSD.
79621
79622 2006-06-23  Bruno Haible  <bruno@clisp.org>
79623
79624         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
79625         ISO C 99 Technical Corrigendum 1.
79626
79627 2006-06-22  Simon Josefsson  <jas@extundo.com>
79628
79629         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
79630         MinGW.
79631
79632 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
79633
79634         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
79635         needed.  Some compiler complained about some of them.  Problem reported
79636         by Larry Jones in
79637         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
79638
79639 2006-06-21  Simon Josefsson  <jas@extundo.com>
79640
79641         * tests/test-getaddrinfo.c: New file.
79642
79643         * modules/getaddrinfo-tests: New file.
79644
79645         * MODULES.html.sh: Add inet_pton.
79646
79647         * modules/inet_pton: New file.
79648
79649 2006-06-21  Simon Josefsson  <jas@extundo.com>
79650
79651         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
79652         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
79653         of using the (limited) gnulib implementation on Windows XP.
79654
79655         * m4/inet_pton.m4: New file.
79656
79657 2006-06-21  Simon Josefsson  <jas@extundo.com>
79658
79659         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
79660         variable.
79661
79662         * lib/socket_.h: Don't define WINVER.
79663
79664         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
79665         slightly modified to work in gnulib.
79666
79667 2006-06-21  Simon Josefsson  <jas@extundo.com>
79668
79669         * doc/gnulib.texi (Windows sockets): Add.
79670
79671 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
79672
79673         * lib/read-file.c (fread_file): Start with buffer allocation of
79674         0 bytes rather than 1 byte; this simplifies the code.
79675         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
79676         code to free buffer and save/restore errno.
79677         (internal_read_file): Remove unused local.
79678
79679 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
79680
79681         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
79682         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
79683         Problem reported by Denis Excoffier in
79684         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
79685
79686 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79687
79688         * modules/sys_socket, modules/socklen: Include sys/types since
79689         FreeBSD 4.x's sys/socket.h needs it.
79690
79691 2006-06-19  Simon Josefsson  <jas@extundo.com>
79692
79693         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
79694
79695 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
79696
79697         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
79698
79699 2006-06-19  Bruno Haible  <bruno@clisp.org>
79700
79701         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
79702         and FULL_PATH_INTTYPES_H in angle brackets.
79703         Reported by Mark D. Baushke <mdb@gnu.org>.
79704
79705 2006-06-17  Eric Blake  <ebb9@byu.net>
79706
79707         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
79708         errno.
79709
79710 2006-06-17  Bruno Haible  <bruno@clisp.org>
79711
79712         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
79713         <sys/inttypes.h>.
79714
79715 2006-06-17  Bruno Haible  <bruno@clisp.org>
79716
79717         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
79718         whether errno is declared. Assume <errno.h> declares errno.
79719
79720 2006-06-17  Bruno Haible  <bruno@clisp.org>
79721
79722         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
79723
79724 2006-06-17  Bruno Haible  <bruno@clisp.org>
79725
79726         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
79727         problem on Solaris 2.5.1.
79728
79729 2006-06-16  Eric Blake  <ebb9@byu.net>
79730
79731         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
79732         * lib/unicodeio.c [!defined errno]: Likewise.
79733         * lib/strtol.c [!defined errno]: Likewise.
79734         * lib/strtod.c [!defined errno]: Likewise.
79735
79736 2006-06-15  Eric Blake  <ebb9@byu.net>
79737
79738         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
79739
79740 2006-06-15  Eric Blake  <ebb9@byu.net>
79741
79742         * config/srclist.txt (ssize_t.m4): Lose sync.
79743
79744 2006-06-15  Bruno Haible  <bruno@clisp.org>
79745
79746         * modules/stdint (Files): Include m4/full-header-path.m4,
79747         m4/size_max.m4, m4/wchar_t.m4.
79748         (Makefile.am): Many more substitutions.
79749         * modules/stdint-tests: New file.
79750         * tests/test-stdint.c: New file.
79751
79752 2006-06-15  Bruno Haible  <bruno@clisp.org>
79753
79754         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
79755         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
79756         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
79757         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
79758         gl_CHECK_TYPE_SAME): New macros.
79759
79760 2006-06-15  Bruno Haible  <bruno@clisp.org>
79761
79762         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
79763
79764 2006-06-15  Bruno Haible  <bruno@clisp.org>
79765
79766         * lib/stdint_.h: Rewritten to be fully auto-configured.
79767         Fixes bug on HP-UX/IA64.
79768
79769 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
79770
79771         * lib/getdate.y (__attribute__): Don't define if already defined.
79772         Problem reported by Larry Jones.
79773         * lib/utimens.c (__attribute__): Likewise.
79774
79775 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
79776
79777         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
79778         reported by Andreas Schwab.
79779
79780 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79781             Bruno Haible  <bruno@clisp.org>
79782
79783         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
79784         check for the declaration of strnlen and a run test that exposes the
79785         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
79786         rpl_strndup.
79787
79788 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79789             Bruno Haible  <bruno@clisp.org>
79790
79791         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
79792
79793 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79794
79795         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
79796         compile test, for Tru64 4.0D.
79797
79798 2006-05-28  Karl Berry  <karl@gnu.org>
79799
79800         * config/srclist.txt (printf-args.c): lose sync.
79801
79802 2006-05-26  Martin Lambers  <marlam@marlam.de>
79803
79804         * lib/getpass.c: Updates the test for the native W32 API, and adds
79805         missing includes, thus fixing compilation warnings.
79806
79807 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79808
79809         * lib/exclude.c (exclude_fnmatch): New function.
79810         (excluded_file_name): Call exclude_fnmatch.
79811         * lib/exclude.h (excluded_file_name): New prototype
79812
79813 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
79814
79815         * lib/tempname.c (small_open, large_open): New macros.
79816         (__open, __open64) [!_LIBC]: Remove.
79817         (__gen_tempname): Use small_open and large_open instead of __open
79818         and __open64.  This fixes a portability bug on HP-UX 11.11i
79819         reported by Simon Wing-Tang in
79820         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
79821
79822 2006-05-24  Bruno Haible  <bruno@clisp.org>
79823
79824         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
79825         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
79826         Reported by Thorsten Maerz <torte@netztorte.de> via
79827         Aaron Stone <aaron@serendipity.cx>.
79828
79829 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79830
79831         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
79832         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
79833         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
79834         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
79835         not really conditional on the cache.
79836         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
79837
79838 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79839
79840         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
79841         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
79842         (my_usleep): Don't mishandle maximum value.
79843
79844 2006-05-19  Jim Meyering  <jim@meyering.net>
79845
79846         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
79847
79848 2006-05-17  Bruno Haible  <bruno@clisp.org>
79849
79850         Cygwin portability.
79851         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
79852
79853 2006-05-17  Bruno Haible  <bruno@clisp.org>
79854
79855         * lib/stdint_.h: Fix recognition of Cygwin.
79856
79857 2006-05-15  Bruno Haible  <bruno@clisp.org>
79858
79859         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
79860         on libtool patch by Ralf Wildenhues.
79861
79862 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79863
79864         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
79865         test for C99 conformance; (bool) 0.5 is an integer constant
79866         expression, but (bool) -0.5 is not.  Problem reported by Fedor
79867         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
79868
79869 2006-05-11  Simon Josefsson  <jas@extundo.com>
79870
79871         * m4/xvasprintf.m4: Fix obvious typo.
79872
79873 2006-05-11  Jim Meyering  <jim@meyering.net>
79874
79875         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
79876         James Lemley.
79877
79878 2006-05-10  Simon Josefsson  <jas@extundo.com>
79879
79880         * lib/md4.c: Typo fix, update copyright years.
79881         (K1, K2): Don't use L because it turn computations into 64-bit on
79882         64-bit platforms.
79883
79884 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
79885
79886         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
79887         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
79888         unwanted sign propagation, e.g., on hosts with 64-bit int.
79889         There still are some problems with reeelly weird theoretical hosts
79890         (e.g., 33-bit int) but it's not worth worrying about now.
79891         * lib/sha1.c (rol): Likewise.
79892         (K1, K2, K3, K4): Remove unnecessary L suffix.
79893
79894 2006-05-10  Bruno Haible  <bruno@clisp.org>
79895
79896         * lib/des.c: Cast to avoid warnings.
79897
79898 2006-05-09  Bruno Haible  <bruno@clisp.org>
79899
79900         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
79901         (Depends-on): Depend also on xsize, stdarg.
79902         (configure.ac): Add gl_XVASPRINTF.
79903
79904 2006-05-09  Bruno Haible  <bruno@clisp.org>
79905
79906         * m4/xvasprintf.m4: New file.
79907
79908 2006-05-09  Bruno Haible  <bruno@clisp.org>
79909
79910         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
79911         (EOVERFLOW): Define fallback value.
79912         (xstrcat): New function.
79913         (xvasprintf): Recognize the special case of a string concatenation.
79914
79915 2006-05-08  Eric Blake  <ebb9@byu.net>
79916
79917         * gnulib-tool (func_version): Base copyright year on CVS date.
79918         (func_emit_copyright_notice): New function.
79919         (func_emit_lib_Makefile_am): Use it.
79920         (func_emit_tests_Makefile_am): Likewise.
79921         (func_import): Likewise.
79922
79923 2006-05-08  Bruno Haible  <bruno@clisp.org>
79924
79925         * modules/stdarg: New file.
79926         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
79927
79928 2006-05-08  Bruno Haible  <bruno@clisp.org>
79929
79930         * m4/stdarg.m4: New file, from GNU gettext.
79931
79932 2006-05-08  Bruno Haible  <bruno@clisp.org>
79933
79934         * config/srclist.txt (build-aux/config.rpath): different from latest
79935         release.
79936
79937 2006-05-08  Bruno Haible  <bruno@clisp.org>
79938
79939         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
79940
79941 2006-05-05  Jim Meyering  <jim@meyering.net>
79942
79943         * m4/warning.m4: New file, derived from bison's file by the same name.
79944
79945 2006-05-03  Bruno Haible  <bruno@clisp.org>
79946
79947         * lib/stdint_.h: Shorter URL.
79948         * lib/inttypes.h: Likewise.
79949
79950 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79951
79952         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
79953
79954 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79955
79956         * lib/verify.h: Document the internals better.  Most of this change
79957         was written by Bruno Haible.
79958
79959 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79960
79961         * doc/verify.texi: New file, partly based on a proposal by
79962         Bruno Haible.
79963
79964 2006-05-02  Bruno Haible  <bruno@clisp.org>
79965
79966         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
79967         test from here...
79968         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
79969
79970 2006-04-29  Bruno Haible  <bruno@clisp.org>
79971
79972         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
79973         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
79974
79975 2006-04-29  Bruno Haible  <bruno@clisp.org>
79976
79977         * gnulib-tool: Make --update option actually work.
79978
79979 2006-04-29  Bruno Haible  <bruno@clisp.org>
79980
79981         * doc/gcd.texi: New file.
79982         * doc/gnulib.texi: Include it.
79983
79984 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
79985
79986         * lib/getdate.y (get_date): When adding relative date, start with the
79987         initial time, not with the result of the first mktime call.
79988
79989 2006-04-25  Bruno Haible  <bruno@clisp.org>
79990
79991         * gnulib-tool (func_import): Output the include directives in three
79992         blocks, sorted separately.
79993         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79994
79995 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79996
79997         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
79998         to define main with arguments, for C++.  Reported by Eric Blake.
79999         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
80000         Prefer 'int main ()' to 'int main (void)', for C++.
80001         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
80002         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
80003         for 'main', for C99 and C++.
80004
80005 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
80006
80007         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
80008         Don't assume that exit status -1 is valid.
80009         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
80010         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
80011         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
80012         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
80013         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
80014         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
80015         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
80016         functions can be used without declaring them, or that you can
80017         exit with status -1.
80018         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
80019
80020 2006-04-24  Karl Berry  <karl@gnu.org>
80021
80022         * config/srclist.txt (longdouble.m4): sync lost.
80023
80024 2006-04-24  Eric Blake  <ebb9@byu.net>
80025
80026         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
80027
80028 2006-04-24  Bruno Haible  <bruno@clisp.org>
80029
80030         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
80031         poll() implementation in AIX.
80032         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80033
80034 2006-04-24  Bruno Haible  <bruno@clisp.org>
80035
80036         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
80037         assigned exactly once.
80038
80039 2006-04-23  Claudio Fontana  <claudio@gnu.org>
80040             Bruno Haible  <bruno@clisp.org>
80041
80042         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
80043         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
80044         for AM_CPPFLAGS.
80045
80046 2006-04-23  Bruno Haible  <bruno@clisp.org>
80047
80048         * modules/copy-file: Depend on unistd.
80049         * modules/execute: Likewise.
80050         * modules/fatal-signal: Likewise.
80051         * modules/findprog: Likewise.
80052         * modules/mkdtemp : Likewise.
80053         * modules/pipe: Likewise.
80054         * modules/wait-process: Likewise.
80055
80056 2006-04-23  Bruno Haible  <bruno@clisp.org>
80057
80058         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
80059         condition was already detected.
80060         Reported by Ben Pfaff <blp@cs.stanford.edu>.
80061
80062 2006-04-23  Bruno Haible  <bruno@clisp.org>
80063
80064         * lib/copy-file.c: Include <unistd.h> unconditionally.
80065         * lib/execute.c: Likewise.
80066         * lib/fatal-signal.c: Likewise.
80067         * lib/findprog.c: Likewise.
80068         * lib/mkdtemp.c: Likewise.
80069         * lib/pipe.h: Likewise.
80070         * lib/pipe.c: Likewise.
80071         * lib/wait-process.h: Likewise.
80072
80073 2006-04-23  Bruno Haible  <bruno@clisp.org>
80074
80075         * gnulib-tool (func_usage): Fix --import description. Document
80076         --update.
80077         (func_import): Create temporary file in a temporary directory, if
80078         --dry-run is specified. Silence errors from 'grep' when there are no
80079         m4 files in $m4dir.
80080         (func_create_testdir): Silence errors from 'grep' when there are no
80081         m4 files in $m4dir.
80082         Reported by Karl Berry <karl@freefriends.org>.
80083
80084 2006-04-20  Bruno Haible  <bruno@clisp.org>
80085
80086         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
80087         one argument, so that the code will be portable to Autoconf 2.60.
80088         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
80089         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80090         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
80091
80092 2006-04-19  Derek Price  <derek@ximbiot.com>
80093             Eric Blake  <ebb9@byu.net>
80094
80095         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
80096         rather than "/full/path.h".  Update comment to match.  Shorten &
80097         generalize m4_translit call via AS_TR_CPP.
80098
80099 2006-04-19  Derek Price  <derek@ximbiot.com>
80100             Eric Blake  <ebb9@byu.net>
80101
80102         * lib/inttypes.h: Correct grammar in comment.
80103
80104 2006-04-18  Derek Price  <derek@ximbiot.com>
80105             Paul Eggert  <eggert@cs.ucla.edu>
80106
80107         * modules/inttypes: New file.
80108         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
80109
80110 2006-04-18  Derek Price  <derek@ximbiot.com>
80111             Paul Eggert  <eggert@cs.ucla.edu>
80112
80113         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
80114         New files.
80115
80116 2006-04-18  Derek Price  <derek@ximbiot.com>
80117             Paul Eggert  <eggert@cs.ucla.edu>
80118
80119         * lib/inttypes.h: New file.
80120         * lib/strtoimax.c: Assume <inttypes.h>.
80121
80122 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
80123
80124         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
80125         isn't mounted.  Problem reported by Kir Kolyshkin.
80126
80127 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80128
80129         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
80130         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
80131         Derek R. Price.
80132         * lib/regex.h (RE_DUP_MAX): Update comment to match current
80133         implementation.
80134
80135 2006-04-12  Eric Blake  <ebb9@byu.net>
80136
80137         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
80138         is now done automatically by the corresponding Autoconf macro.
80139
80140 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
80141
80142         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
80143         time_r.h.
80144
80145 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80146
80147         Merge regex changes from libc, removing some of our
80148         POSIX-conformance changes that were rejected and redoing them in a
80149         less-intrusive way.
80150
80151         * lib/regcomp.c (re_compile_internal, init_dfa):
80152         Length arg is now size_t, not Idx.  All uses changed.
80153         (peek_token): Forward decl now says internal_function.
80154         (__re_error_msgid, __re_error_msgid_idx):
80155         Now static rather than extern with attribute_hidden.
80156         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
80157         For some reason libc prefers K&R style defns for external functions.
80158         (regerror) [!defined _LIBC]: Likewise.
80159         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
80160         (seek_collating_symbol_entry, lookup_collation_sequence_value):
80161         (build_range_exp, build_collating_symbol):
80162         Use K&R-style defn.
80163         (re_compile_fastmap): Use '\0' to memset, not 0.
80164         (utf8_sb_map): Make the calculations more obvious.
80165         (init_dfa, parse_bracket_exp, build_charclass_op):
80166         Call calloc and cast result, as glibc does.
80167         (init_word_char, fetch_token, peek_token, peek_token_bracket):
80168         (build_range_exp, build_collating_symbol):
80169         Now internal functions.
80170
80171         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
80172
80173         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
80174         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
80175         Don't depend on VMS; depend on __VMS instead, for POSIX
80176         namespace cleanness.
80177         (regoff_t): Define to ssize_t, not long int.
80178
80179         Remove the REG_ macros named below.  Instead, make the old names
80180         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
80181         __USE_GNU_REGEX.
80182         (REG_BACKSLASH_ESCAPE_IN_LISTS):
80183         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
80184         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
80185         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
80186         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
80187         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
80188         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
80189         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
80190         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
80191         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
80192         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
80193         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
80194         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
80195         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
80196         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
80197         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
80198         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
80199         (REG_NREGS):
80200         Remove.  All uses replaced by the old RE_* names.
80201         (RE_BACKSLASH_ESCAPE_IN_LISTS):
80202         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
80203         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
80204         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
80205         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
80206         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
80207         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
80208         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
80209         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
80210         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
80211         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
80212         Don't bother having these macros be independent of each others'
80213         values, since they no longer exist in the POSIX name space.
80214
80215         Rename the following member names back to their old names,
80216         unless !__USE_GNU_REGEX.  All uses changed back.
80217         (buffer): Renamed from re_buffer.
80218         (allocated): Renamed from re_allocated.
80219         (used): Renamed from re_used.
80220         (syntax): Renamed from re_syntax.
80221         (fastmap): Renamed from re_fastmap.
80222         (translate): Renamed from re_translate.
80223         (can_be_null): Renamed from re_can_be_null.
80224         (regs_allocated): Renamed from re_regs_allocated.
80225         (fastmap_accurate): Renamed from re_fastmap_accurate.
80226         (no_sub): Renamed from re_no_sub.
80227         (not_bol): Renamed from re_not_bol.
80228         (not_eol): Renamed from re_not_eol.
80229         (newline_anchor): Renamed from re_newline_anchor.
80230         (num_regs): Renamed from rm_num_regs.
80231         (start): Renamed from rm_start.
80232         (end): Renamed from rm_end.
80233
80234         (free_state): Move up a bit.
80235
80236         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
80237         #define to be empty.
80238         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
80239         when that is what is intended.
80240         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
80241         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
80242         (MAX): New macro.
80243         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
80244         All uses changed back to re_malloc, etc.  It's now the caller's
80245         responsibility to check for overflow; all callers changed.
80246         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
80247         (re_x2nrealloc): Remove.
80248         (free_state): Remove decl.
80249
80250         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
80251         (re_set_registers, re_exec):
80252         Use K&R-style defn.
80253
80254         2006-01-31  Roland McGrath  <roland@redhat.com>
80255
80256         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
80257         Reported by Mike Frysinger <vapier@gentoo.org>.
80258
80259         2006-01-15  Andreas Jaeger  <aj@suse.de>
80260
80261         [BZ #1950]
80262         * lib/regex_internal.c (re_string_reconstruct): Adjust for
80263         build_wcs_upper_buffer change.
80264         (build_wcs_upper_buffer): Change return type.
80265
80266         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
80267
80268         * lib/regex_internal.h: Include <stdint.h> if available.
80269
80270         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
80271
80272         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
80273
80274         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
80275
80276         * lib/regcomp.c: Adjust for changed secondary hash function.
80277
80278         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
80279
80280         * lib/regex.h: Pretty printing.
80281         Clean up namespace a bit.
80282
80283         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
80284
80285         * lib/regexec.c (update_cur_sifted_state, check_arrival,
80286         check_arrival_add_next_nodes): Avoid using uninitialized variable.
80287
80288         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80289                     Ulrich Drepper  <drepper@redhat.com>
80290
80291         [BZ #1302]
80292         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
80293         changed.
80294         (bitset_word_t): Renamed from bitset_word.  All uses changed.
80295
80296         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
80297
80298         [BZ #281]
80299         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
80300         * lib/regcomp.c: Remove unnecessary uses of
80301         unsigned RE_TRANSLATE_TYPE.
80302         * lib/regex_internal.h: Likewise.
80303         * lib/regex_internal.c: Likewise.
80304         * lib/regexec.c: Likewise.
80305         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
80306
80307         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
80308
80309         * lib/regexec.c (find_recover_state): Remove unnecessary
80310         initialization.
80311         (transit_state_bkref): Make DFA a const pointer.
80312         (get_subexp): Likewise.
80313         (check_arrival): Likewise.
80314         (update_cur_sifted_state): Likewise.
80315         (re_search_internal): Likewise.
80316         (prune_impossible_nodes): Likewise.
80317         (acquire_init_state_context): Likewise.
80318         (proceed_next_node): Likewise.
80319         (set_regs): Likewise.
80320         (free_fail_stack_return): Likewise.
80321         (check_arrival_expand_ecl): Mark DFA parameter as const.
80322         (check_arrival_expand_ecl_sub): Likewise.
80323         (check_subexp_limits): Likewise.
80324         (sub_epsilon_src_nodes):  Likewise.
80325         (add_epsilon_src_nodes):  Likewise.
80326         (merge_state_array): Likewise.
80327         (update_regs): Likewise.
80328         (build_trtable): Likewise.
80329         (sift_states_backward): Mark MCTX parameter as const.
80330         (build_sifted_states): Likewise.
80331         (update_cur_sifted_state): Likewise.
80332         (sift_states_mkref): Likewise.
80333         (check_arrival_expand_ecl): Mark eclosure as const.
80334         (check_dst_limits_calc_pos_1): Likewise.
80335         * lib/regex_internal.h (re_match_context_t): Make dfa a const
80336         pointer.
80337
80338         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
80339
80340         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
80341         (transit_state_sb): Likewise.
80342         (transit_state_mb): Likewise.
80343         (sift_states_iter_mb): Likewise.
80344         (check_arrival_add_next_nodes): Likewise.
80345         (check_node_accept_bytes): Change first parameter to pointer-to-const.
80346         [_LIBC] (re_search_2_stub): Use mempcpy.
80347
80348         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
80349         mbrtowc for very simple UTF-8 case.
80350
80351         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
80352         a pointer-to-const.
80353         (re_acquire_state_context): Likewise.
80354         * lib/regex_internal.h: Adjust prototypes.
80355
80356         * lib/regex.c: Prevent using C++ compilers.
80357
80358         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
80359         (re_acquire_state_context): Likewise.
80360
80361 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80362
80363         * modules/regex (Depends-on): Add ssize_t.
80364
80365 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80366
80367         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
80368         translation table.
80369
80370 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80371
80372         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
80373
80374 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
80375             Bruno Haible  <bruno@clisp.org>
80376
80377         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
80378         <sys/types.h> and <inttypes.h>.
80379
80380 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80381
80382         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
80383         `__error_t_defined', so argp.h will not typedef the former.
80384
80385 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
80386
80387         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
80388         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
80389         glibc names.  Even if glibc is changed to conform to POSIX, the
80390         traditional names will be available anyway, since regex depends on
80391         the extensions module.  Also, fix a longstanding typo in the
80392         implementation of Spencer ERE test #75 from grep 2.3.  Problems
80393         reported by Emanuele Giaquinta.  Also, change sense of cached
80394         variable, so that the message makes sense.
80395
80396 2006-03-24  Simon Josefsson  <jas@extundo.com>
80397
80398         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
80399         including some doc fixes.
80400         (base64_encode_alloc): Fix +1 bug on allocation failures.
80401
80402 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80403
80404         * lib/base64.c (base64_encode): Do not read past end of array with
80405         unsanitized input on systems with CHAR_BIT > 8.
80406
80407 2006-03-24  Eric Blake  <ebb9@byu.net>
80408
80409         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
80410
80411 2006-03-22  Karl Berry  <karl@gnu.org>
80412
80413         * config/srclist.txt (*setenv.[ch]): get from coreutils.
80414         * config/srclistvars.sh (COREUTILS): new var.
80415
80416 2006-03-17  Jim Meyering  <jim@meyering.net>
80417
80418         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
80419         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
80420
80421 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
80422
80423         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
80424         no longer needs it.  Instead, check that regoff_t is as least
80425         as wide as ptrdiff_t.
80426
80427         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
80428         so that our regex.h stays compatible with the installed regex.
80429         This is helpful for installers who configure --without-included-regex.
80430         Problem reported by Emanuele Giaquinta.
80431
80432 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
80433
80434         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
80435         Typedef to long int, not to off_, as POSIX will likely change
80436         in that direction.
80437
80438 2006-03-15  Eric Blake  <ebb9@byu.net>
80439
80440         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
80441
80442 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80443
80444         * lib/argp-help.c (validate_uparams): Fix typo
80445         * lib/argp-parse.c (argp_default_options): Consistently begin help
80446         messages with a lowercase letter.
80447
80448 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
80449
80450         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
80451         overrun buffers and shouldn't be used (much as gets shouldn't be
80452         used).
80453         * lib/time_r.c (asctime_r, ctime_r): Likewise.
80454
80455 2006-03-08  Simon Josefsson  <jas@extundo.com>
80456
80457         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
80458         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80459
80460 2006-03-08  Simon Josefsson  <jas@extundo.com>
80461
80462         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
80463         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80464
80465 2006-03-08  Simon Josefsson  <jas@extundo.com>
80466
80467         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
80468         signal that configure disabled the device.
80469
80470 2006-03-08  Simon Josefsson  <jas@extundo.com>
80471
80472         * build-aux/maint.mk: Fix refresh-po, to handle no translated
80473         languages.
80474
80475 2006-03-07  Simon Josefsson  <jas@extundo.com>
80476
80477         * modules/getopt (Depends-on): Add unistd.
80478
80479         * modules/unistd: New file.
80480
80481 2006-03-07  Simon Josefsson  <jas@extundo.com>
80482
80483         * modules/gc-random: New file.
80484
80485 2006-03-07  Simon Josefsson  <jas@extundo.com>
80486
80487         * m4/unistd_h.m4: New file.
80488
80489 2006-03-07  Simon Josefsson  <jas@extundo.com>
80490
80491         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
80492         test to be side-effect free by storing the result in the cache
80493         variable gl_cv_lib_readline, and moving the assignment of
80494         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
80495         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80496
80497 2006-03-07  Simon Josefsson  <jas@extundo.com>
80498
80499         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
80500         error on missing devices (the functions will return an error).
80501
80502         * m4/gc.m4: Move random stuff to gc-random.m4
80503
80504 2006-03-07  Simon Josefsson  <jas@extundo.com>
80505
80506         * lib/unistd_.h: New file.
80507
80508 2006-03-07  Simon Josefsson  <jas@extundo.com>
80509
80510         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
80511
80512 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
80513
80514         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
80515         Problem reported by Juan Manuel Guerrero.
80516
80517 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
80518
80519         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
80520         the unistd module.
80521         * lib/getlogin_r.c: Likewise.
80522         * lib/getlogin_r.h: Likewise.
80523         * lib/glob.c: Likewise.
80524         * lib/pagealign_alloc.c: Likewise.
80525         * lib/unistd_.h: Remove; no longer needed.
80526
80527 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
80528
80529         * MODULES.html.sh (Support for systems lacking POSIX:2001):
80530         Add unistd.
80531         * modules/c-stack (Depends-on): Add unistd.
80532         * modules/getlogin_r: Likewise.
80533         * modules/glob: Likewise.
80534         * modules/pagealign_alloc: Likewise.
80535         * modules/unistd (Files): Remove lib/unistd_.h.
80536         (EXTRA_DIST): Remove.
80537         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
80538         need unistd_.h.
80539         (MOSTLYCLEANFILES): Remove unistd.h-t.
80540
80541 2006-03-03  Simon Josefsson  <jas@extundo.com>
80542
80543         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
80544
80545 2006-03-03  Simon Josefsson  <jas@extundo.com>
80546
80547         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
80548         libidn and bison.
80549
80550 2006-03-03  Simon Josefsson  <jas@extundo.com>
80551
80552         * build-aux/maint.mk: Add indent target.
80553
80554 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
80555
80556         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
80557         our replacement poll.h in any case, to avoid a differing
80558         declaration from a system header.  Seen on AIX.
80559
80560 2006-03-01  Simon Josefsson  <jas@extundo.com>
80561
80562         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
80563         <kasal@ucw.cz>.
80564
80565 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80566
80567         * modules/gettime (Depends-on): Add extensions module.
80568         * modules/nanosleep (Depends-on): Likewise.
80569         * modules/settime (Depends-on): Likewise.
80570
80571 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
80572
80573         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
80574         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
80575         pedantically.
80576         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
80577         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
80578
80579         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
80580         not "==".  Reported by Ralf Wildenhues.
80581
80582 2006-03-01  Karl Berry  <karl@gnu.org>
80583
80584         * doc/Copyright/request-*: new files, synced from gnuorg.
80585
80586 2006-03-01  Karl Berry  <karl@gnu.org>
80587
80588         * config/srclist.txt (Copyright/*): new entries.
80589
80590 2006-02-28  Simon Josefsson  <jas@extundo.com>
80591
80592         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
80593
80594 2006-02-27  Simon Josefsson  <jas@extundo.com>
80595
80596         * lib/base64.h: Indent #define's.  From Jim Meyering
80597         <jim@meyering.net>.
80598
80599 2006-02-27  Jim Meyering  <jim@meyering.net>
80600
80601         Revert the change of 2006-02-24, so these files can continue
80602         to be sync'd from gettext.
80603         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
80604         of `config.h'.
80605
80606 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
80607
80608         * modules/intprops: New file.
80609         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
80610         Add intprops.
80611         * modules/getloadavg (Files): Remove lib/intprops.h.
80612         (Depends-on): Add intprops.
80613         * modules/human: Likewise.
80614         * modules/inttostr: Likewise.
80615         * modules/openat: Likewise.
80616         * modules/sig2str: Likewise.
80617         * modules/userspec: Likewise.
80618         * modules/utimecmp: Likewise.
80619         * modules/xnanosleep: Likewise.
80620         * modules/xstrtol: Likewise.
80621
80622 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
80623
80624         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
80625         * modules/lock-tests (TESTS): Use $(EXEEXT).
80626         * modules/tls-tests: Likewise.
80627         * modules/argp-tests: Likewise.
80628         (check_PROGRAMS): New var, replacing...
80629         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
80630
80631 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80632
80633         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
80634         `config.h'.
80635
80636 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
80637
80638         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
80639
80640 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80641
80642         Sync from coreutils.
80643         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
80644         gl_CHDIR_SAFER.
80645
80646 2006-02-22  Jim Meyering  <jim@meyering.net>
80647
80648         Sync from coreutils.
80649         * m4/chdir-safer.m4: New file.
80650
80651 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
80652
80653         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
80654         AT_FDCWD exceeds INT_MAX.
80655         * lib/openat.h (AT_FDCWD): Likewise.
80656
80657 2006-02-17  Eric Blake  <address@hidden>
80658
80659         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
80660
80661 2006-02-16  Simon Josefsson  <jas@extundo.com>
80662
80663         * modules/getaddrinfo (Depends-on): Add sys_socket.
80664
80665 2006-02-15  Simon Josefsson  <jas@extundo.com>
80666
80667         * build-aux/maint.mk: Add dsyntax-check rule.
80668
80669 2006-02-15  Eric Blake  <ebb9@byu.net>
80670
80671         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
80672         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
80673         'present but cannot compile' warnings on cygwin.
80674         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
80675         use ws2tcpip.h if sys/socket.h works.
80676         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
80677         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
80678
80679 2006-02-14  Simon Josefsson  <jas@extundo.com>
80680
80681         * modules/maintainer-makefile (Files): Rename.
80682
80683         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
80684         and (the local) Makefile.cfg to maint-cfg.mk.
80685
80686         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
80687         to the latter.
80688
80689         * modules/maintainer-makefile: New module.
80690
80691         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
80692         severaly stripped to make it possible to build it up from scratch
80693         with reliable tests.
80694
80695         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
80696         fixes to permit overriding the default actions when configure and
80697         makefile are not available.
80698
80699 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
80700
80701         Sync from coreutils.
80702         * modules/lstat (Depends-on): Don't depend on xalloc.
80703         (License): Change from GPL to LGPL, since this is now simply a
80704         replacement for a libc function.
80705
80706 2006-02-14  Jim Meyering  <jim@meyering.net>
80707
80708         Sync from coreutils.
80709
80710         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
80711         failure on deficient systems, and simplify gnulib lgpl dependencies.
80712         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
80713         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
80714
80715         * lib/xalloc-die.c: Remove unused definition of N_.
80716
80717 2006-02-14  Jim Meyering  <jim@meyering.net>
80718
80719         Sync from coreutils.
80720         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
80721         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
80722         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
80723         double-quote uses of that variable, to accommodate the rare case in
80724         which getmntent is available in none of the libraries checked.  This
80725         happens at least on FreeBSD 5.0.
80726
80727 2006-02-13  Simon Josefsson  <jas@extundo.com>
80728
80729         * gnulib-tool (Usage): Fix --import, from
80730         karl@freefriends.org (Karl Berry).
80731
80732 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80733
80734         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
80735
80736 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
80737
80738         * lib/argp-namefrob.h: Restore changes accidentally lost during the
80739         "autoupdate" on 2005-12-12.
80740
80741 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80742
80743         * modules/closeout (Depends-on): Remove atexit.
80744
80745 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80746
80747         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
80748         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
80749
80750 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
80751
80752         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
80753         __EXTENSIONS__ if this causes compilation to fail.  Problem
80754         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
80755         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
80756
80757 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
80758
80759         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
80760         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
80761         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
80762         All uses changed.
80763
80764 2006-01-26  Simon Josefsson  <jas@extundo.com>
80765
80766         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
80767         prototype is visible on mingw32.
80768
80769         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
80770         for mingw32.
80771
80772         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
80773         mingw32).
80774
80775 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
80776
80777         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
80778         attempt to open for write; this always fails, at least on POSIX
80779         hosts.  This reinstates the 2006-01-09 change, which was
80780         inadvertently removed.
80781
80782 2006-01-26  Bruno Haible  <bruno@clisp.org>
80783
80784         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
80785         Reported by Paul Eggert.
80786
80787 2006-01-26  Bruno Haible  <bruno@clisp.org>
80788             Paul Eggert  <eggert@cs.ucla.edu>
80789
80790         * lib/stdbool_.h (_Bool)
80791         [(! (defined __cplusplus || defined __BEOS__)
80792           && !defined __GNUC__
80793           && !(defined __HP_cc || defined __xlc__
80794                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
80795                || defined __sgi))]:
80796         #define to signed char in these cases too; this simplifies
80797         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
80798         etc., separately) and makes it more conservative.
80799
80800 2006-01-25  Simon Josefsson  <jas@extundo.com>
80801
80802         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
80803         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
80804         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
80805
80806 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80807
80808         * lib/argp-namefrob.h: Bugfix. Remove stray #
80809
80810 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80811
80812         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
80813         so that we test the test.
80814         Check for yet another HP-UX cc bug involving *bool |= bool.
80815
80816 2006-01-25  Karl Berry  <karl@gnu.org>
80817
80818         * config/srclist.txt (vasnprintf.c): sync lost.
80819
80820 2006-01-25  Jim Meyering  <jim@meyering.net>
80821
80822         Sync from the stable (b5) branch of coreutils:
80823
80824         * lib/fts.c (fts_children): Don't let close() clobber errno from
80825         failed fchdir().
80826
80827         * lib/fts.c (fts_stat): When following a symlink-to-directory,
80828         don't necessarily interpret stat-fails+lstat-succeeds as indicating
80829         a dangling symlink.  That can also happen at least for ELOOP.
80830         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
80831         FYI, this bug predates the inclusion of fts.c in coreutils.
80832
80833         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
80834         in their own block, so pre-c99 compilers don't object.
80835
80836         Avoid the double-free (first in fts_read, second in fts_close) that
80837         would occur when an `active' directory is made inaccessible (e.g.,
80838         via chmod a-x) during a traversal.
80839         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80840         before returning.  Reproduce this failure by
80841         mkdir -p a/b; cd a; chmod a-x . b
80842         Reported by Stavros Passas.
80843
80844 2006-01-25  Jim Meyering  <jim@meyering.net>
80845
80846         * lib/fileblocks.c: Remove more useless parentheses.
80847         * lib/readutmp.h: Likewise.
80848
80849 2006-01-25  Bruno Haible  <bruno@clisp.org>
80850
80851         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
80852         warnings.
80853         Reported by Paul Eggert.
80854
80855 2006-01-25  Bruno Haible  <bruno@clisp.org>
80856
80857         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
80858         rid of a trap command. For Solaris sh.
80859         Reported by Mark D. Baushke <mdb@gnu.org>.
80860
80861 2006-01-24  Simon Josefsson  <jas@extundo.com>
80862
80863         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
80864         Bruno.
80865
80866 2006-01-24  Karl Berry  <karl@gnu.org>
80867
80868         * config/srclist.txt (argp-namefrob.h): sync lost.
80869
80870 2006-01-24  Jim Meyering  <jim@meyering.net>
80871
80872         * modules/openat (Files): Add lib/intprops.h.
80873         From Mark D. Baushke.
80874
80875 2006-01-24  Jim Meyering  <jim@meyering.net>
80876
80877         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
80878         Reported by Mark D. Baushke.
80879
80880 2006-01-24  Jim Meyering  <jim@meyering.net>
80881
80882         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
80883
80884 2006-01-24  Bruno Haible  <bruno@clisp.org>
80885
80886         * modules/strnlen (Maintainer): Change from glibc to all.
80887
80888 2006-01-24  Bruno Haible  <bruno@clisp.org>
80889
80890         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
80891         Patch by Paul Eggert.
80892
80893 2006-01-24  Bruno Haible  <bruno@clisp.org>
80894
80895         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
80896         already has it.
80897         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
80898         2005-11-26.
80899
80900         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
80901         'signed char' to avoid problems with the built-in _Bool type.
80902         Reported by Paul Eggert on 2005-11-26.
80903
80904 2006-01-24  Bruno Haible  <bruno@clisp.org>
80905
80906         * gnulib-tool (func_import): Avoid constructing complicated sed
80907         expressions inside backquote.
80908         Report and solution by Mark D. Baushke <mdb@gnu.org>.
80909
80910 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
80911
80912         These changes imported from libc.
80913         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
80914         test and two separate function calls.
80915         * lib/strndup.c (__strndup): Add libc_hidden_def.
80916
80917 2006-01-23  Simon Josefsson  <jas@extundo.com>
80918
80919         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
80920         Remove the test_*_SOURCES variable: automake infers it by default.
80921         * modules/tls-tests: Likewise.
80922
80923 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80924
80925         Work around porting bugs reported by Dieter in
80926         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
80927         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
80928         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
80929         Include "getopt.h" first, to check interface.
80930         (getenv): Declare only if defined HAVE_DECL_GETENV &&
80931         !HAVE_DECL_GETENV.
80932         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
80933         (__strndup): Revert to K&R-style function dfns, the glibc style.
80934         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
80935         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
80936         Include strnlen.h first, to get prototype properly.
80937         (strnlen): Renamed from __strnlen.
80938         Remove weak alias.
80939
80940 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80941
80942         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
80943
80944 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80945
80946         * config/srclist.txt: Adjust to reflect glibc reorganization.
80947         This affects only comments.
80948
80949 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80950
80951          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
80952          Reported by Bruce Korb <bkorb@gnu.org>.
80953
80954 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
80955
80956         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
80957         to pacify gcc -Wswitch-default.
80958
80959 2006-01-22  Bruno Haible  <bruno@clisp.org>
80960
80961         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
80962         temporary buffer for sprintf, take into account the precision also
80963         for 'd', 'i', 'u', 'o', 'x', 'X'.
80964
80965 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80966
80967         * modules/argp-tests: New module
80968         * tests/test-argp.c: New file
80969         * tests/test-argp-2.sh: New file
80970
80971 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80972
80973         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
80974         (__argp_base_name): Removed
80975         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
80976         typo.
80977         (__argp_base_name): Provide macro definition or extern declaration
80978         depending on the configuration
80979
80980 2006-01-20  Simon Josefsson  <jas@extundo.com>
80981
80982         * modules/inet_ntop (Depends-on): Depend on sys_socket.
80983
80984 2006-01-20  Simon Josefsson  <jas@extundo.com>
80985
80986         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
80987
80988 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80989
80990         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
80991         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
80992         Suggested by Bruno Haible.
80993
80994 2006-01-20  Karl Berry  <karl@gnu.org>
80995
80996         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
80997         until changes propagate, I guess.
80998
80999 2006-01-19  Simon Josefsson  <jas@extundo.com>
81000
81001         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
81002
81003 2006-01-19  Simon Josefsson  <jas@extundo.com>
81004
81005         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
81006
81007 2006-01-19  Simon Josefsson  <jas@extundo.com>
81008
81009         * gnulib-tool: Set check_PROGRAMS.
81010
81011         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
81012         modules/des-tests, modules/gc-arcfour-tests,
81013         modules/gc-arctwo-tests, modules/gc-des-tests,
81014         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
81015         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
81016         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
81017         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
81018         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
81019         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
81020         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
81021         test_*_SOURCES.
81022
81023 2006-01-18  Simon Josefsson  <jas@extundo.com>
81024
81025         * modules/socklen (Depends-on): Depend on sys_socket.
81026
81027 2006-01-18  Simon Josefsson  <jas@extundo.com>
81028
81029         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
81030         modules/des-tests, modules/gc-arcfour-tests,
81031         modules/gc-arctwo-tests, modules/gc-des-tests,
81032         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
81033         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
81034         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
81035         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
81036         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
81037         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
81038         $(EXEEXT) to automake TESTS variable, for mingw32.
81039
81040 2006-01-17  Simon Josefsson  <jas@extundo.com>
81041
81042         * modules/socklen (Include): Need sys/socket.h.
81043
81044 2006-01-17  Bruno Haible  <bruno@clisp.org>
81045
81046         * modules/ssize_t (Include): Add <sys/types.h>.
81047
81048 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
81049
81050         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
81051         it's not portable and it doesn't work with cross-compiles.
81052         Problem reported by Bruno Haible.  Fix missing-$ typo in
81053         'test "gl_cv_ignore_unused_libraries" ...' that prevented
81054         -zignore from being used with Sun's C compiler.
81055
81056 2006-01-12  Simon Josefsson  <jas@extundo.com>
81057
81058         * lib/base64.c: Fix warning, reported by Bruno Haible
81059         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
81060
81061 2006-01-12  Bruno Haible  <bruno@clisp.org>
81062
81063         * modules/ldd: New file.
81064         * build-aux/ldd.sh.in: New file.
81065         * MODULES.html.sh (Support for building libraries and executables): Add
81066         ldd.
81067
81068 2006-01-12  Bruno Haible  <bruno@clisp.org>
81069
81070         * m4/ldd.m4: New file.
81071
81072 2006-01-12  Bruno Haible  <bruno@clisp.org>
81073
81074         * gnulib-tool (func_import, func_create_testdir): Don't go into an
81075         endless loop while replacing $auxdir with build-aux.
81076
81077 2006-01-11  Simon Josefsson  <jas@extundo.com>
81078
81079         * lib/stdint_.h (SIZE_MAX): Add missing (.
81080
81081 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
81082
81083         Sync from coreutils.
81084         * lib/md5.c: Fix commentary typos.
81085         (alignof, UNALIGNED_P): No need for a GCC-specific version.
81086         * lib/md5.h (__attribute__): Remove; unused.
81087         * lib/sha1.c: Fix commentary to match md5 better.
81088         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
81089         so that we don't need to worry about alignment.  All uses changed.
81090         This merges the 2005-10-28 md5 change into sha1.
81091
81092 2006-01-11  Jim Meyering  <jim@meyering.net>
81093
81094         Sync from coreutils.
81095         * lib/md5.c (OP): Fix spacing.
81096
81097 2006-01-11  Bruno Haible  <bruno@clisp.org>
81098
81099         Ensure automatic ordering between gl_LOCK and gl_ARGP.
81100         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
81101         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
81102
81103 2006-01-11  Bruno Haible  <bruno@clisp.org>
81104
81105         Ensure automatic ordering between gl_LOCK and gl_ARGP.
81106         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
81107         the "early" section as well.
81108
81109 2006-01-11  Bruno Haible  <bruno@clisp.org>
81110
81111         Avoid "ar: no archive members specified" error on MacOS X.
81112         * gnulib-tool (func_modules_add_dummy): New function.
81113         (func_import, func_create_testdir): Invoke it.
81114
81115 2006-01-11  Bruno Haible  <bruno@clisp.org>
81116
81117         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
81118         with $auxdir in AC_CONFIG_FILES statements.
81119
81120 2006-01-11  Bruno Haible  <bruno@clisp.org>
81121
81122         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
81123         Initialize also noinst_HEADERS to empty.
81124
81125 2006-01-11  Bruno Haible  <bruno@clisp.org>
81126
81127         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
81128         variables.
81129         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
81130         autoreconf.
81131
81132 2006-01-11  Bruno Haible  <bruno@clisp.org>
81133
81134         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
81135         overridable by the user.
81136         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81137
81138 2006-01-10  Simon Josefsson  <jas@extundo.com>
81139
81140         * modules/sys_socket: New file.
81141
81142 2006-01-10  Simon Josefsson  <jas@extundo.com>
81143
81144         * m4/sys_socket_h.m4: New file.
81145
81146 2006-01-10  Simon Josefsson  <jas@extundo.com>
81147
81148         * lib/socket_.h: New file.
81149
81150 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81151
81152         * modules/readutmp (Maintainer): Add myself.
81153
81154 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81155
81156         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
81157         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
81158         People who are still concerned with buggy memcmp implementations
81159         can invoke gl_FUNC_MEMCMP themselves.
81160
81161 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81162
81163         * lib/regex_internal.h (BITSET_WORD_BITS):
81164         Work around a bug in 64-bit PGC (before version 6.1-2), where the
81165         preprocessor mishandles large unsigned values as if they were signed.
81166         Problem reported by Claudio Fontana in
81167         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
81168
81169 2006-01-10  Jim Meyering  <jim@meyering.net>
81170
81171         Avoid the double-free (first in fts_read, second in fts_close) that
81172         would occur when an `active' directory is made inaccessible (e.g.,
81173         via chmod a-x) during a traversal.
81174         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
81175         before returning.  Reproduce this failure by
81176         mkdir -p a/b; cd a; chmod a-x . b
81177         Reported by Stavros Passas.
81178
81179         Sync from coreutils.
81180         * lib/sha1.c: Tweak grammar in a comment.
81181
81182 2006-01-10  Jim Meyering  <jim@meyering.net>
81183
81184         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
81185         Patch by Joerg Sonnenberger.
81186
81187 2006-01-10  Bruno Haible  <bruno@clisp.org>
81188
81189         * modules/readutmp: Depend on module free.
81190         * modules/strtok_r: Depend on module restrict.
81191
81192 2006-01-10  Bruno Haible  <bruno@clisp.org>
81193
81194         * modules/gettext (configure.ac): Add an invocation of
81195         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
81196
81197 2006-01-10  Bruno Haible  <bruno@clisp.org>
81198
81199         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
81200         Reported by Werner Lemberg <wl@gnu.org>.
81201
81202 2006-01-10  Bruno Haible  <bruno@clisp.org>
81203
81204         * lib/localcharset.c: Update from GNU gettext.
81205
81206 2006-01-10  Bruno Haible  <bruno@clisp.org>
81207
81208         * lib/argp.h (__const): Remove macro. Use const instead.
81209         * lib/argp-fmtstream.h (__const): Likewise.
81210         * lib/glob_.h (__const): Remove macro.
81211         * lib/glob-libc.h: Use const instead of __const.
81212
81213 2006-01-10  Bruno Haible  <bruno@clisp.org>
81214
81215         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
81216         variable.
81217         Needed to avoid an automake error regarding the 'gettext' module.
81218
81219 2006-01-09  Simon Josefsson  <jas@extundo.com>
81220
81221         * modules/inet_ntop (Depends-on): Add restrict.
81222
81223 2006-01-09  Simon Josefsson  <jas@extundo.com>
81224
81225         * modules/gc-rijndael-tests (License): Put under LGPL.
81226
81227         * modules/gc-des-tests (License): Likewise.
81228
81229         * modules/gc-arcfour-tests (License): Likewise.
81230
81231         * modules/gc-arctwo-tests (License): Likewise.
81232
81233         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
81234
81235         * modules/gc-hmac-sha1-tests (Files): Likewise.
81236
81237         * modules/gc-hmac-md5-tests (License): Likewise.
81238
81239         * modules/gc-sha1-tests (License): Likewise.
81240
81241         * modules/gc-md5-tests (License): Likewise.
81242
81243         * modules/gc-md4-tests (License): Likewise.
81244
81245         * modules/gc-md2-tests (License): Likewise.
81246
81247         * modules/gc-tests (License): Likewise.
81248
81249         * modules/des-tests (License): Likewise.
81250
81251         * modules/md4-tests (License): Likewise.
81252
81253         * modules/md2-tests (License): Likewise.
81254
81255 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81256
81257         Sync from coreutils:
81258
81259         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
81260         * modules/lib-ignore: New file.
81261         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
81262         chdir-safer.m4, lchmod.m4.
81263         * modules/openat: Add mkdirat.c, openat-priv.h.
81264
81265 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81266
81267         Sync from coreutils.
81268         * m4/lib-ignore.m4: New file.
81269         * m4/lchmod.m4: New file.
81270
81271 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81272
81273         Sync from coreutils.
81274         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
81275         for write access: POSIX says that must fail.
81276         * lib/fts.c (diropen): Likewise.
81277         * lib/save-cwd.c (save_cwd): Likewise.
81278         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
81279         well, for minor improvements on hosts that lack O_DIRECTORY.
81280         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
81281         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
81282         Fall back on chown if open failed with EACCES.
81283
81284         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
81285         Report an error at compile-time if only a 1-second nominal clock
81286         resolution is found.
81287
81288         * lib/lchmod.h: New file.
81289         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
81290         (make_dir_parents): Use lchown rather than chown, and
81291         lchmod rather than chmod.
81292
81293         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
81294         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
81295         "proc" reported by n0dalus.
81296
81297         * lib/mountlist.c: Include <limits.h>.
81298         (dev_from_mount_options)
81299         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
81300         New function.  It no longer assumes "dev=" has the System V meaning
81301         on Linux (since it doesn't).  It also parses "dev=" more carefully.
81302         (read_file_system_list)
81303         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
81304         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
81305         dev= in that case.
81306
81307         * lib/posixtm.h (PDS_PRE_2000): New macro.
81308         * lib/posixtm.c (year): Arg is now syntax_bits rather than
81309         allow_century.  All usages changed.  Reject dates outside the range
81310         1969-1999 if PDS_PRE_2000 is used.
81311
81312 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81313
81314         Sync from coreutils.
81315         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
81316         (Time of day items): Mention the possibility of leap seconds.
81317         Problem reported by Dr. David Alan Gilbert.
81318
81319 2006-01-09  Jim Meyering  <jim@meyering.net>
81320
81321         Sync from coreutils.
81322
81323         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
81324
81325         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
81326
81327         * lib/modechange.c (mode_compile): Reject an invalid mode string
81328         that starts with an octal digit.  From Andreas Gruenbacher.
81329
81330         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
81331         and dup to open_safer and dup_safer, respectively.
81332         (openat_permissive): Fix typo in comment.
81333
81334         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
81335         "gettext.h"; either no longer needed or are guaranteed by openat.h.
81336         (_): Remove; no longer needed.
81337         (openat): Renamed from rpl_openat; no need for rpl_openat
81338         since openat.h renames openat for us.
81339         Replace most of the body with a call to openat_permissive,
81340         to avoid duplicate code.
81341         Port to (probably hypothetical) environments were mode_t is
81342         wider than int.
81343         (openat_permissive): Require mode arg, so that we can check
81344         types better.  Put it just after flags.  Change cwd failure
81345         indicator from pointer-to-bool to pointer-to-errno-value.
81346         All callers changed.
81347         Invoke openat_save_fail and/or openat_restore_fail if
81348         cwd_errno is null, so that openat can call us.
81349         (openat_permissive, fdopendir, fstatat, unlinkat):
81350         Simplify errno handling to avoid some duplicate code,
81351         as it's OK to set errno on success.
81352         * lib/openat.h: Revamp code so that function macros depend on
81353         __OPENAT_PREFIX only, not also on AT_FDCWD.
81354         (openat_ro): Remove.  Caller changed to use openat_permissive.
81355         (openat_permissive): Now a macro, if not a function.
81356         (openat_restore_fail, openat_save_fail): Now always functions,
81357         since mkdirat needs them even if __OPENAT_PREFIX is defined.
81358
81359         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
81360         and openat.c.
81361         * lib/mkdirat.c: Include openat-priv.h.
81362         Remove definitions of macros defined therein.
81363         * lib/openat.c: Likewise.
81364
81365         * lib/mkdirat.c (mkdirat): New file and function.
81366         * lib/openat.h (mkdirat): Declare.
81367
81368         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
81369
81370         * lib/openat.h (openat_permissive): Declare.
81371         (openat_ro): Define.
81372
81373         * lib/openat.c (EXPECTED_ERRNO): New macro.
81374         (openat_permissive): New function -- used in remove.c rewrite.
81375         (all functions): Set errno just before returning, only if there
81376         was an actual failure.
81377         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
81378
81379         Emulate openat-family functions using Linux's procfs, if possible.
81380         Idea and some code based on Ulrich Drepper's glibc changes.
81381
81382         * lib/openat.c: (BUILD_PROC_NAME): New macro.
81383         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
81384         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
81385         before falling back on save_cwd and restore_cwd.
81386         (fdopendir, fstatat, unlinkat): Likewise.
81387
81388         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
81389         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
81390
81391         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
81392         as second argument to va_arg.  Otherwise, some versions of gcc
81393         warn that `if this code is reached, the program will abort'.
81394
81395 2006-01-09  Jim Meyering  <jim@meyering.net>
81396
81397         Sync from coreutils.
81398         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
81399         Require openat-priv.h.
81400
81401 2006-01-09  Bruno Haible  <bruno@clisp.org>
81402
81403         * modules/strnlen (Include): Use strnlen.h.
81404
81405 2006-01-09  Bruno Haible  <bruno@clisp.org>
81406
81407         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
81408
81409 2006-01-09  Bruno Haible  <bruno@clisp.org>
81410
81411         * lib/sysexit_.h (EX_OK): New macro.
81412         Suggested by Martin Lambers <marlam@marlam.de>.
81413
81414 2006-01-09  Bruno Haible  <bruno@clisp.org>
81415
81416         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
81417         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
81418
81419 2006-01-09  Bruno Haible  <bruno@clisp.org>
81420
81421         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
81422         numbers.
81423
81424 2006-01-09  Bruno Haible  <bruno@clisp.org>
81425
81426         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
81427         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
81428         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
81429         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
81430
81431 2006-01-09  Bruno Haible  <bruno@clisp.org>
81432
81433         * build-aux/javacomp.sh.in: New file, moved from lib/.
81434         * modules/javacomp-script (Files): Update.
81435         (configure.ac): Add AC_CONFIG_FILES invocation.
81436         (EXTRA_DIST): Remove variable.
81437
81438         * build-aux/javaexec.sh.in: New file, moved from lib/.
81439         * modules/javaexec (Files): Update.
81440         (configure.ac): Add AC_CONFIG_FILES invocation.
81441         (EXTRA_DIST): Remove javaexec.sh.in.
81442
81443         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
81444         * modules/csharpcomp-script (Files): Update.
81445         (configure.ac): Add AC_CONFIG_FILES invocation.
81446         (EXTRA_DIST): Remove variable.
81447
81448         * build-aux/csharpexec.sh.in: New file, moved from lib/.
81449         * modules/csharpexec (Files): Update.
81450         (configure.ac): Add AC_CONFIG_FILES invocation.
81451         (EXTRA_DIST): Remove csharpexec.sh.in.
81452
81453 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
81454
81455         Sync from coreutils.
81456
81457         Add POSIX ACL support
81458         * lib/acl.h (copy_acl, set_acl): Add declarations.
81459         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
81460         systems other than Linux.
81461         (chmod_or_fchmod): New function: use fchmod when possible,
81462         and chmod otherwise.
81463         (file_has_acl): Add a POSIX ACL implementation, with a
81464         Linux-specific subcase.
81465         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
81466         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
81467         acls are unsupported.
81468         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
81469         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
81470         are unsupported.
81471
81472 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
81473
81474         Sync from coreutils.
81475         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
81476
81477 2006-01-07  Bruno Haible  <bruno@clisp.org>
81478
81479         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
81480         gl_EARLY.
81481
81482 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81483
81484         * lib/strftime.c (tzname): Don't declare if it is already #defined.
81485         Problem reported for Mingw by Mark Junker.
81486
81487 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
81488
81489         * README: Gnulib normally doesn't generate a tarball.
81490
81491 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
81492
81493         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
81494         long int, not int, for nanosecond counts, so that people who are
81495         used to POSIX struct timespec won't be surprised.  Reported by Jim
81496         Meyering.
81497
81498 2005-12-28  Bruno Haible  <bruno@clisp.org>
81499
81500         * build-aux/config.rpath: Update from GNU gettext.
81501
81502 2005-12-16  Jim Meyering  <jim@meyering.net>
81503
81504         * modules/fprintftime: New module.
81505         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
81506
81507 2005-12-16  Jim Meyering  <jim@meyering.net>
81508
81509         * m4/fprintftime.m4: New file.
81510
81511 2005-12-16  Jim Meyering  <jim@meyering.net>
81512
81513         * lib/fprintftime.c, lib/fprintftime.h: New files.
81514
81515 2005-12-15  Simon Josefsson  <jas@extundo.com>
81516
81517         * modules/socklen (configure.ac): Fix M4 macro name, to align with
81518         new m4/socklen.m4.
81519
81520 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
81521
81522         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
81523         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
81524
81525 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
81526
81527         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
81528         * lib/argp-help.c (fill_in_uparams): Check if the constructed
81529         struct uparams is valid. Fall back to the default values if it is
81530         not.
81531
81532 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81533
81534         * modules/argp (Files): Add argp-pin.c
81535         (Depends-on): dirname
81536         (lib_SOURCES): Add argp-pin.c
81537
81538 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81539
81540         * m4/argp.m4:  Check if program_invocation_name and
81541         program_invocation_short_name are declared and define appropriate
81542         macros if they are not.
81543
81544 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
81545
81546         * lib/argp-help.c (__argp_base_name): New function
81547         (__argp_short_program_name): Rewrite using __argp_base_name
81548         * lib/argp-namefrob.h: Define program_invocation_name and
81549         program_invocation_short_name if requested
81550         (__argp_base_name): Add prototype
81551         * lib/argp-parse.c (argp_def): Use gettext wrappers
81552         (argp_default_parser): Use __argp_base_name
81553         * lib/argp-pin.c: New file. Defines program_invocation_name and
81554         program_invocation_short_name on systems that lack them.
81555
81556 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81557
81558         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
81559         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
81560         porting problem reported by Georg Schwarz in
81561         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
81562
81563 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
81564
81565         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
81566         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
81567         porting problem reported by Georg Schwarz in
81568         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
81569
81570 2005-12-05  Bruno Haible  <bruno@clisp.org>
81571
81572         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
81573         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
81574         Reported by Mark Junker <mjscod@gmx.de>.
81575
81576 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
81577
81578         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
81579         Use implementation from Albert Chin, with some
81580         comments/corrections by Stepan Kasal and myself.
81581
81582 2005-12-02  Bruno Haible  <bruno@clisp.org>
81583
81584         * gnulib-tool (func_import): Accept GPLed build tool modules when
81585         --lgpl is given.
81586         * modules/csharpcomp-script: New file.
81587         * modules/csharpcomp: Depend on it.
81588         * modules/javacomp-script: New file.
81589         * modules/javacomp: Depend on it.
81590         Suggested by Simon Josefsson.
81591
81592 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
81593
81594         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
81595         statement, to work around an HP-UX 10.20 compiler bug reported by
81596         Peter O'Gorman.
81597
81598 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
81599
81600         * modules/savedir (Depends-on): Add openat.
81601
81602 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
81603
81604         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
81605         (uintmax_t) [defined uintmax_t]: Do not declare.
81606         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
81607         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
81608         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
81609         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
81610         sake of portability to weird hosts that C allows (though we don't
81611         know of any practical examples).
81612
81613         * lib/savedir.h (fdsavedir): New decl.
81614         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
81615         contains most of the former guts of savedir.
81616         (savedir): Use savedirstream.
81617         Include "openat.h".
81618
81619 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
81620
81621         * modules/obstack (Files): Add m4/ulonglong.m4.
81622         Problem reported by Davide Angelocola.
81623
81624 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
81627         coreutils no longer futzes with rounding modes.
81628
81629 2005-11-14  Jim Meyering  <jim@meyering.net>
81630
81631         * lib/mkstemp-safer.c: Include <config.h>, required for possible
81632         replacement of mkstemp.
81633
81634 2005-11-10  Simon Josefsson  <jas@extundo.com>
81635
81636         * lib/readline.c: Remove EOL.
81637
81638 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81639
81640         * modules/gethrxtime (Depends-on): Add gettime.
81641
81642 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81643
81644         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
81645         or gettimeofday; no longer needed.
81646
81647 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81648
81649         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
81650         time business.
81651         (gethrxtime) [! (HAVE_NANOUPTIME
81652         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
81653         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
81654         our own approximation.
81655
81656 2005-11-08  Eric Blake  <ebb9@byu.net>
81657
81658         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81659
81660 2005-11-08  Eric Blake  <ebb9@byu.net>
81661
81662         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81663
81664 2005-11-04  Bruno Haible  <bruno@clisp.org>
81665
81666         * gnulib-tool: Implement --update mode.
81667
81668 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81669
81670         Fix porting problem reported by Theodoros V. Kalamatianos.
81671         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
81672         Don't assume that futimes failing means we must fail.
81673
81674 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81675
81676         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
81677         variables to suggest the intended function of the PATH_MAX check.
81678
81679 2005-10-30  Kean Johnston  <jkj@sco.com>
81680
81681         Trivial changes to support SCO systems.
81682         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
81683         as PATH_MAX.
81684         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
81685         where __ptr is null when no I/O is pending.
81686
81687 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81688
81689         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
81690         leave errno alone.  Problem reported by Dmitry V. Levin.
81691
81692 2005-10-28  Simon Josefsson  <jas@extundo.com>
81693
81694         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
81695         Test more.
81696
81697         * tests/test-gc-md2.c, tests/test-md2.c: New files.
81698
81699         * modules/md2, modules/md2-tests: New files.
81700
81701 2005-10-28  Simon Josefsson  <jas@extundo.com>
81702
81703         * m4/inet_ntop.m4: More tests.
81704
81705         * m4/gc-md2.m4, md2.m4: New file.
81706
81707 2005-10-28  Simon Josefsson  <jas@extundo.com>
81708
81709         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
81710         "restrict" keywords, as per POSIX.  Protect the function
81711         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
81712         Don't use K&R prototypes.  Check the sprintf return values.
81713         Re-define EAFNOSUPPORT if not present.  Indent.
81714
81715         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
81716         suggested by Bruno Haible <bruno@clisp.org>.
81717
81718         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
81719
81720         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
81721
81722         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
81723         libgcrypt).
81724
81725         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
81726
81727         * lib/md2.h, lib/md2.c: New files.
81728
81729 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
81730
81731         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
81732         errno alone.  Problem reported by Frederic Jolliton.
81733
81734 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
81735
81736         * modules/verify (License): Change from GPL to LGPL.  This is a
81737         tiny module and there are apparently near-equivalents that are
81738         under the BSD license.
81739
81740 2005-10-24  Simon Josefsson  <jas@extundo.com>
81741
81742         * modules/sha1: Relicense to LGPL.
81743
81744 2005-10-24  Simon Josefsson  <jas@extundo.com>
81745
81746         * lib/md4.h: Shrink buffer size, now that we changed the type.
81747
81748 2005-10-23  Simon Josefsson  <jas@extundo.com>
81749
81750         * gnulib-tool (func_import): Fix --tests-base.
81751
81752 2005-10-22  Simon Josefsson  <jas@extundo.com>
81753
81754         * modules/arcfour (Depends-on): Need stdint.
81755
81756 2005-10-22  Simon Josefsson  <jas@extundo.com>
81757
81758         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
81759         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
81760
81761 2005-10-22  Simon Josefsson  <jas@extundo.com>
81762
81763         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
81764         suggested by Bruno Haible <bruno@clisp.org>.
81765
81766 2005-10-22  Simon Josefsson  <jas@extundo.com>
81767
81768         * lib/crc.h: Include stddef.h, for size_t.
81769
81770 2005-10-22  Simon Josefsson  <jas@extundo.com>
81771
81772         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
81773         arcfour_context struct (simplify test vector testing in GNU
81774         Shishi).
81775
81776 2005-10-21  Simon Josefsson  <jas@extundo.com>
81777
81778         * modules/des, modules/des-tests: New files.
81779
81780         * modules/gc-des, modules/gc-des-tests: New files.
81781
81782         * tests/test-des.c, tests/test-gc-des.c: New file.
81783
81784 2005-10-21  Simon Josefsson  <jas@extundo.com>
81785
81786         * modules/arctwo, modules/arctwo-tests: New files.
81787
81788         * tests/test-arctwo.c: New file.
81789
81790         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
81791
81792         * tests/test-gc-arctwo.c: New file.
81793
81794 2005-10-21  Simon Josefsson  <jas@extundo.com>
81795
81796         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
81797         Bruno Haible <bruno@clisp.org>.
81798
81799         * m4/gc-des.m4: New file.
81800
81801 2005-10-21  Simon Josefsson  <jas@extundo.com>
81802
81803         * m4/arctwo.m4: New file.
81804
81805         * m4/gc-arctwo.m4: New file.
81806
81807 2005-10-21  Simon Josefsson  <jas@extundo.com>
81808
81809         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
81810         block.
81811
81812 2005-10-21  Simon Josefsson  <jas@extundo.com>
81813
81814         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
81815         <bruno@clisp.org>.
81816
81817         * lib/hmac-sha1.c (hmac_sha1): Likewise.
81818
81819         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
81820         Bruno Haible <bruno@clisp.org>.
81821
81822         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
81823         <bruno@clisp.org>.
81824
81825 2005-10-21  Simon Josefsson  <jas@extundo.com>
81826
81827         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
81828
81829 2005-10-21  Simon Josefsson  <jas@extundo.com>
81830
81831         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
81832
81833 2005-10-21  Simon Josefsson  <jas@extundo.com>
81834
81835         * lib/des.h, lib/des.c: New files.
81836
81837         * lib/gc-gnulib.c: Support DES.c
81838
81839 2005-10-21  Simon Josefsson  <jas@extundo.com>
81840
81841         * lib/arctwo.h, lib/arctwo.c: New files.
81842
81843         * lib/gc-gnulib.c: Support ARCTWO.
81844
81845 2005-10-21  Simon Josefsson  <jas@extundo.com>
81846
81847         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
81848         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81849
81850 2005-10-21  Simon Josefsson  <jas@extundo.com>
81851
81852         * gnulib-tool (func_import, func_create_testdir): Define automake
81853         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
81854         Makefile.am snippet),
81855         suggested by Bruno Haible <bruno@clisp.org>.
81856
81857         * modules/gc (Makefile.am): Use it.
81858
81859 2005-10-21  Bruno Haible  <bruno@clisp.org>
81860
81861         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
81862         patch.
81863
81864 2005-10-19  Simon Josefsson  <jas@extundo.com>
81865
81866         * tests/test-gc-rijndael.c: New file.
81867
81868         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
81869
81870 2005-10-19  Simon Josefsson  <jas@extundo.com>
81871
81872         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
81873         interface too.
81874
81875 2005-10-19  Simon Josefsson  <jas@extundo.com>
81876
81877         * tests/test-gc-arcfour.c: New file.
81878
81879         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
81880
81881 2005-10-19  Simon Josefsson  <jas@extundo.com>
81882
81883         * modules/gc-md4, modules/gc-md4-tests: New file.
81884
81885         * tests/test-gc-md4.c: New file.
81886
81887 2005-10-19  Simon Josefsson  <jas@extundo.com>
81888
81889         * m4/gc-md4.m4: New file.
81890
81891 2005-10-19  Simon Josefsson  <jas@extundo.com>
81892
81893         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
81894         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
81895         <kasal@ucw.cz>.
81896
81897 2005-10-19  Simon Josefsson  <jas@extundo.com>
81898
81899         * m4/gc-arcfour.m4: New file.
81900
81901         * m4/gc-rijndael.m4: New file.
81902
81903 2005-10-19  Simon Josefsson  <jas@extundo.com>
81904
81905         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
81906
81907 2005-10-19  Simon Josefsson  <jas@extundo.com>
81908
81909         * lib/gc-gnulib.c: Support ARCFOUR.
81910
81911 2005-10-19  Simon Josefsson  <jas@extundo.com>
81912
81913         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
81914         support.
81915
81916         * lib/gc.h: Add ECB enum type.
81917
81918         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
81919
81920 2005-10-18  Simon Josefsson  <jas@extundo.com>
81921
81922         * tests/test-md5.c: New file.
81923
81924         * modules/md5-tests: New file.
81925
81926 2005-10-18  Simon Josefsson  <jas@extundo.com>
81927
81928         * tests/test-md4.c: New file.
81929
81930         * modules/md4, modules/md4-tests: New files.
81931
81932 2005-10-18  Simon Josefsson  <jas@extundo.com>
81933
81934         * m4/md4.m4: New file.
81935
81936 2005-10-18  Simon Josefsson  <jas@extundo.com>
81937
81938         * lib/md4.h, lib/md4.c: New files, based on md5.?.
81939
81940 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
81941
81942         * gnulib-tool (func_create_testdir): Omit the second check whether
81943         BUILT_SOURCES in nonempty.
81944
81945 2005-10-17  Simon Josefsson  <jas@extundo.com>
81946
81947         * tests/test-rijndael.c: New file.
81948
81949 2005-10-17  Simon Josefsson  <jas@extundo.com>
81950
81951         * modules/sha1: Depend on stdint instead of md5.
81952
81953         * modules/md5: Depend on stdint, remove uint32_t.
81954
81955 2005-10-17  Simon Josefsson  <jas@extundo.com>
81956
81957         * modules/gc-sha1-tests: New file.
81958
81959         * tests/test-gc-sha1.c: New file.
81960
81961 2005-10-17  Simon Josefsson  <jas@extundo.com>
81962
81963         * m4/md5.m4: Remove call to uint32_t.m4.
81964
81965 2005-10-17  Simon Josefsson  <jas@extundo.com>
81966
81967         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
81968
81969         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
81970         md5.h.
81971
81972         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
81973
81974         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
81975
81976 2005-10-17  Simon Josefsson  <jas@extundo.com>
81977
81978         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
81979
81980 2005-10-17  Simon Josefsson  <jas@extundo.com>
81981
81982         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
81983
81984 2005-10-17  Simon Josefsson  <jas@extundo.com>
81985
81986         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
81987
81988         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
81989
81990 2005-10-17  Bruno Haible  <bruno@clisp.org>
81991
81992         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
81993         that it can also be used in a test.
81994
81995 2005-10-16  Bruno Haible  <bruno@clisp.org>
81996
81997         * gnulib-tool (func_emit_tests_Makefile_am): Also define
81998         TESTS_ENVIRONMENT, so that individual tests can augment it.
81999
82000         * gnulib-tool (func_create_testdir): Use an intermediate target for
82001         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
82002         macros, like $(ALLOCA_H), which cannot be passed through the command
82003         line.
82004
82005 2005-10-15  Simon Josefsson  <jas@extundo.com>
82006
82007         * modules/rijndael-tests: New file.
82008
82009         * modules/rijndael: New file.
82010
82011 2005-10-15  Simon Josefsson  <jas@extundo.com>
82012
82013         * m4/rijndael.m4: New file.
82014
82015 2005-10-15  Simon Josefsson  <jas@extundo.com>
82016
82017         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
82018
82019         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
82020
82021 2005-10-14  Simon Josefsson  <jas@extundo.com>
82022
82023         * tests/test-arcfour.c: New file.
82024
82025         * modules/arcfour, modules/arcfour-tests: New files.
82026
82027 2005-10-14  Simon Josefsson  <jas@extundo.com>
82028
82029         * m4/arcfour.m4: New file.
82030
82031 2005-10-14  Simon Josefsson  <jas@extundo.com>
82032
82033         * lib/arcfour.h, lib/arcfour.c: New files.
82034
82035 2005-10-14  Roland McGrath  <roland@redhat.com>
82036
82037         Import from libc.  [BZ #1331]
82038         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
82039         macro argument.
82040         Reported by Matej Vela <vela@debian.org>.
82041
82042 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
82043
82044         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
82045         include <wchar.h>; no longer needed.
82046
82047 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
82048
82049         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
82050
82051 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
82052         and  Ulrich Drepper  <drepper@redhat.com>
82053
82054         Import from libc.
82055         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
82056         instead of inline stream orientation test and two separate
82057         function calls.  Pay no attention to USE_IN_LIBIO.
82058
82059 2005-10-13  Simon Josefsson  <jas@extundo.com>
82060
82061         * modules/gc-hmac-md5-tests: New file.
82062
82063         * tests/test-gc-hmac-sha1.c: New file.
82064
82065         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
82066
82067         * modules/gc-hmac-md5-tests: New file.
82068
82069         * tests/test-gc-md5.c: New file.
82070
82071         * modules/gc-md5-tests: New file.
82072
82073 2005-10-13  Simon Josefsson  <jas@extundo.com>
82074
82075         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
82076         Move memory allocation outside of loop.
82077
82078 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
82079
82080         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
82081         intermediate directory is in a read-only file system.  Problem
82082         reported by Eric Blake.
82083
82084 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
82085
82086         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
82087
82088 2005-10-12  Simon Josefsson  <jas@extundo.com>
82089
82090         * tests/test-hmac-sha1.c: New file.
82091
82092         * modules/hmac-sha1-tests: New file.
82093
82094         * modules/hmac-sha1: New file.
82095
82096 2005-10-12  Simon Josefsson  <jas@extundo.com>
82097
82098         * modules/gc-sha1: New file.
82099
82100 2005-10-12  Simon Josefsson  <jas@extundo.com>
82101
82102         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
82103
82104         * tests/test-gc-pbkdf2-sha1.c: New file.
82105
82106 2005-10-12  Simon Josefsson  <jas@extundo.com>
82107
82108         * modules/gc-md5, modules/gc-hmac-md5: New files.
82109
82110         * modules/gc (Files): Remove md5, memxor and hmac files.
82111
82112 2005-10-12  Simon Josefsson  <jas@extundo.com>
82113
82114         * m4/gc-pbkdf2-sha1.m4: New file.
82115
82116         * m4/gc-hmac-sha1.m4: New file.
82117
82118         * m4/gc-sha1: New file.
82119
82120         * m4/hmac-sha1.m4: New file.
82121
82122 2005-10-12  Simon Josefsson  <jas@extundo.com>
82123
82124         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
82125
82126         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
82127
82128 2005-10-12  Simon Josefsson  <jas@extundo.com>
82129
82130         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
82131         suggested by Bruno Haible <bruno@clisp.org>.
82132
82133 2005-10-12  Simon Josefsson  <jas@extundo.com>
82134
82135         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
82136
82137 2005-10-12  Simon Josefsson  <jas@extundo.com>
82138
82139         * lib/gc-pbkdf2-sha1.c: New file.
82140
82141         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
82142
82143 2005-10-12  Simon Josefsson  <jas@extundo.com>
82144
82145         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
82146
82147         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
82148
82149 2005-10-12  Simon Josefsson  <jas@extundo.com>
82150
82151         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
82152         GC_USE_HMAC_MD5, respectively.
82153
82154         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
82155         (gc_md5): Fix typo.
82156
82157         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
82158
82159         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
82160
82161         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
82162
82163 2005-10-12  Bruno Haible  <bruno@clisp.org>
82164
82165         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
82166         Reported by Stepan Kasal <kasal@ucw.cz>.
82167
82168 2005-10-11  Simon Josefsson  <jas@extundo.com>
82169
82170         * tests/test-crc.c: New file.
82171
82172         * modules/crc, modules/crc-tests: New files.
82173
82174 2005-10-11  Simon Josefsson  <jas@extundo.com>
82175
82176         * m4/crc.m4: New file.
82177
82178 2005-10-11  Simon Josefsson  <jas@extundo.com>
82179
82180         * lib/gc.h: Add gc_hash and gc_hash_buffer.
82181
82182         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
82183
82184         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
82185
82186 2005-10-11  Simon Josefsson  <jas@extundo.com>
82187
82188         * lib/crc.h, lib/crc.c: New files.
82189
82190         * lib/gc.h (gc_hash_buffer): Add doc.
82191
82192 2005-10-11  Bruno Haible  <bruno@clisp.org>
82193
82194         * modules/c-strcasestr: New file.
82195         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
82196
82197 2005-10-11  Bruno Haible  <bruno@clisp.org>
82198
82199         * modules/c-strcase: New file.
82200         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
82201
82202 2005-10-11  Bruno Haible  <bruno@clisp.org>
82203
82204         * lib/strcasecmp.c: Include limits.h.
82205         (strcasecmp): Avoid integer overflow on exotic platforms.
82206         * lib/strncasecmp.c: Include limits.h.
82207         (strncasecmp): Avoid integer overflow on exotic platforms.
82208         Reported by Paul Eggert.
82209
82210 2005-10-11  Bruno Haible  <bruno@clisp.org>
82211
82212         * lib/c-strcasestr.h: New file, from GNU gettext.
82213         * lib/c-strcasestr.c: New file, from GNU gettext.
82214
82215 2005-10-11  Bruno Haible  <bruno@clisp.org>
82216
82217         * lib/c-strcase.h: New file, from GNU gettext.
82218         * lib/c-strcasecmp.c: New file, from GNU gettext.
82219         * lib/c-strncasecmp.c: New file, from GNU gettext.
82220
82221 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82222
82223         * modules/mempcpy (License): GPL -> LGPL.
82224         * modules/strchrnul (License): Likewise.
82225         * modules/sysexits (License): Likewise.
82226
82227 2005-10-08  Simon Josefsson  <jas@extundo.com>
82228
82229         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
82230
82231 2005-10-07  Simon Josefsson  <jas@extundo.com>
82232
82233         * m4/memxor.m4: Remove gl_C_RESTRICT call.
82234
82235 2005-10-06  Simon Josefsson  <jas@extundo.com>
82236
82237         * tests/test-hmac-md5.c: New file.
82238
82239         * modules/hmac-md5-tests: New file.
82240
82241         * modules/hmac-md5: New file.
82242
82243 2005-10-06  Simon Josefsson  <jas@extundo.com>
82244
82245         * m4/hmac-md5.m4: New file.
82246
82247         * m4/memxor.m4: Require gl_C_RESTRICT.
82248
82249 2005-10-06  Simon Josefsson  <jas@extundo.com>
82250
82251         * lib/memxor.c (memxor): Avoid casts and warnings.
82252
82253 2005-10-06  Simon Josefsson  <jas@extundo.com>
82254
82255         * lib/hmac-md5.c: New file.
82256
82257         * lib/hmac.h: New file.
82258
82259 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82260
82261         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
82262         promotes to int, not unsigned int, to catch the AIX 5.3
82263         compiler bug.
82264
82265 2005-10-05  Simon Josefsson  <jas@extundo.com>
82266
82267         * modules/memxor: New file.
82268
82269         * modules/iconv (Files): Move config.rpath to havelib, it is used
82270         there.
82271
82272         * modules/havelib (Files): Add config.rpath.
82273
82274 2005-10-05  Simon Josefsson  <jas@extundo.com>
82275
82276         * m4/memxor.m4: New file.
82277
82278 2005-10-05  Simon Josefsson  <jas@extundo.com>
82279
82280         * lib/memxor.c (memxor): Fix compiler error.
82281
82282         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
82283         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
82284
82285         * lib/memxor.h, lib/memxor.c: New files.
82286
82287         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
82288         we assume all systems have it, suggested by Jim Meyering
82289         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
82290         any systems lack sys/socket.h; mingw32 is known to lack it, but we
82291         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
82292         same reasons.
82293
82294 2005-10-05  Simon Josefsson  <jas@extundo.com>
82295
82296         * config/srclist.txt: Add glibc bug 1423 for md5.h.
82297
82298 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
82301         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
82302         needed, since the source code now assumes these .h files.
82303
82304 2005-10-05  Derek Price  <derek@ximbiot.com>
82305
82306         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
82307
82308 2005-10-05  Bruno Haible  <bruno@clisp.org>
82309
82310         * modules/stdint (License): Change to LGPL.
82311
82312 2005-10-04  Simon Josefsson  <jas@extundo.com>
82313
82314         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
82315         D. Baushke" <mdb@gnu.org>.
82316
82317 2005-10-04  Bruno Haible  <bruno@clisp.org>
82318
82319         * lib/verify.h (verify_true): Provide alternative definition for C++.
82320
82321 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
82322
82323         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
82324         (SSIZE_MAX): New macro, if not already defined.
82325         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
82326         than 2 GiB.
82327
82328 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82329
82330         Sync from coreutils.
82331         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
82332         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
82333         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
82334         ULLONG_MAX doesn't work with 2.7.2.1.
82335
82336 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82337
82338         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
82339         From Ben Pfaff.
82340
82341         * modules/exclude (Depends-on): Depend on verify.
82342         * modules/strtoimax (Depends-on): Likewise.
82343         * modules/utimecmp (Depends-on): Likewise.
82344
82345 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82346
82347         * lib/exclude.c: Include verify.h.
82348         (verify): Remove.  All callers changed to use verify.h's version.
82349         * lib/strtoimax.c: Likewise.
82350         * lib/utimecmp.c: Likewis.e
82351
82352         Sync from coreutils.
82353         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
82354         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
82355         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
82356         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
82357         bother returning ENOSYS if settimeofday or stime fails; just let
82358         them return whatever errno they want to return.
82359         * lib/utimens.c: Include unistd.h, for dup2.
82360         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
82361         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
82362
82363 2005-10-02  Jim Meyering  <jim@meyering.net>
82364
82365         Sync from coreutils.
82366         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
82367         from glibc-2.2.5 that fails for read-only files.
82368
82369 2005-10-02  Jim Meyering  <jim@meyering.net>
82370
82371         Sync from coreutils.
82372         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
82373         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
82374         `#if HAVE_CONFIG_H'.
82375         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
82376         Remove AT_FDCWD test.
82377         Do not consume the fd unless successful.
82378         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
82379         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
82380         block, so that we don't even try to compile it if settimeofday is
82381         available.  This works around a compilation failure on OSF1 V5.1,
82382         due to stime requiring a `long int*' while tv_sec is `int'.
82383
82384 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
82385
82386         Sync from coreutils.
82387         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
82388         against `yes', rather than just testing for nonempty.
82389
82390 2005-10-01  Simon Josefsson  <jas@extundo.com>
82391
82392         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
82393         and Darwin.
82394
82395         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
82396         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
82397         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
82398         freeaddrinfo and gai_strerror are declared by the POSIX headers.
82399         Check if struct addrinfo is declared.
82400
82401 2005-10-01  Simon Josefsson  <jas@extundo.com>
82402
82403         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
82404         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
82405         AI_* and EAI_* definitions.  Protect function declarations.
82406
82407 2005-10-01  Jim Meyering  <jim@meyering.net>
82408
82409         Sync from coreutils.
82410
82411         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
82412         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
82413         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
82414         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
82415         in the inet and nsl libraries.  Required on Solaris 5.7.
82416
82417 2005-10-01  Jim Meyering  <jim@meyering.net>
82418
82419         Sync from coreutils.
82420         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
82421         in the inet and nsl libraries.  Required on Solaris 5.7.
82422
82423 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
82424
82425         * lib/getdelim.c (getdelim): Remove unused variables.
82426
82427 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
82428
82429         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
82430         so that the code works even with ancient cpp.  Portability problem
82431         with GCC 2.7.2.1 reported by Thomas M.Ott.
82432
82433 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
82434
82435         * modules/regex (Depends-on): Add strcase.
82436
82437         * modules/gethostname (Licence): Change from GPL to LGPL, since
82438         gethostname.c is a trivial implementation of a standard library
82439         function.
82440         * modules/poll (License): Change from GPL to LGPL, since it's
82441         derived from LGPL code.
82442
82443 2005-09-27  Jim Meyering  <jim@meyering.net>
82444
82445         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
82446         HAVE_CONFIG_H.
82447
82448         * lib/intprops.h (signed_type_or_expr__): Define.
82449         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
82450         for unsigned types.
82451
82452 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
82453
82454         * lib/verify.h (verify_expr): Remove, replacing with:
82455         (verify_true): New macro that returns true instead of void.
82456         (verify_type__): Remove.
82457         (verify): Use verify_true rather than verify_type__.
82458
82459 2005-09-26  Bruno Haible  <bruno@clisp.org>
82460
82461         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
82462         is necessary.
82463         (lib_SOURCES): Remove mbchar.c.
82464         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
82465         (Files): Add m4/mbrtowc.m4.
82466         * modules/mbiter: Likewise.
82467         * modules/mbuiter: Likewise.
82468
82469 2005-09-26  Bruno Haible  <bruno@clisp.org>
82470
82471         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
82472         compile mbchar.c if they are not both present.
82473         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
82474         * m4/mbiter.m4 (gl_MBITER): Likewise.
82475         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
82476         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
82477         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
82478
82479 2005-09-25  Jim Meyering  <jim@meyering.net>
82480
82481         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
82482         also uses socklen_t.
82483
82484 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
82485
82486         * lib/utimens.c (ENOSYS): Define if not already defined.
82487         (futimens): Support having a null PATH if the file descriptor
82488         is nonnegative.
82489
82490         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
82491         Remove.
82492         (__attribute): Define to empty unless GCC 3.1 or later.
82493         This works around a core dump on OpenBSD 3.4, which has GCC
82494         2.95.3, which dumps core when given __attribute__(()).  It also
82495         simplifies other tests, since we really don't want to bother with
82496         worrying about which ancient version of GCC supported what.
82497         Original problem reported by Yoann Vandoorselaere, with part of
82498         the fix suggested by Derek Price.
82499
82500 2005-09-24  Jim Meyering  <jim@meyering.net>
82501
82502         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
82503         so we can once again use a positive bitfield width of 1 -- now we
82504         don't have to explain why we were using a bitfield width of 2.
82505
82506 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
82507
82508         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
82509         and similarly for the other external symbols.  Problem reported
82510         by James Gallager.
82511
82512         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
82513         bug reported by Jim Meyering.
82514
82515         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
82516         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
82517         not needed, since socklen is a prerequisite module.
82518
82519 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
82520
82521         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
82522         Problem reported by Eric Blake.
82523         (getaddrinfo): Initialize se so that it's not garbage.
82524         Redo internal storage allocation so that it doesn't make unportable
82525         assumptions about alignment.
82526         Fix a memory leak.
82527
82528         * lib/utimens.c (futimens): Use futimesat if available.
82529         Prefer it to futimes since it doesn't have the futimes bug.
82530
82531         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
82532         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
82533         Instead, declare a function that returns a pointer to an array,
82534         and use verify_type__ to declare the size of the array.
82535         Problem and germ of a solution reported by Bruno Haible.
82536         (verify_type__): Use 2, not 1, for bitfield size, to avoid
82537         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
82538
82539 2005-09-23  Jim Meyering  <jim@meyering.net>
82540
82541         Sync from coreutils.
82542         Correct build failure (socklen_t not defined) on at least
82543         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
82544         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
82545
82546 2005-09-23  Jim Meyering  <jim@meyering.net>
82547
82548         * modules/getaddrinfo (Depends-on): Add socklen.
82549
82550 2005-09-23  Bruno Haible  <bruno@clisp.org>
82551
82552         * tests/test-verify.c: New file.
82553
82554 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82555
82556         Sync from coreutils.
82557
82558         * modules/argmatch (Depends-on): Add verify.
82559         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
82560         unistd-safer.
82561         * modules/save-cwd (Depends-on): Likewise.
82562
82563         * modules/openat (Files): Add lib/openat-die.c.
82564         (Depends-on): Remove error, exitfail.
82565         Add dirname.
82566
82567         * modules/verify: New file.
82568         * MODULES.html.sh (Diagnostics <assert.h>): New section,
82569         with "verify" module.
82570
82571 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82572
82573         Sync from coreutils.
82574
82575         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
82576         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
82577         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
82578         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
82579         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
82580         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
82581         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
82582         Don't bother checking for string.h, stdlib.h, unistd.h.
82583         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
82584         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
82585         module's job.
82586         * m4/jm-macros.m4 (gl_MACROS): Likewise.
82587         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
82588
82589         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
82590         (gl_GETDATE): Use it.
82591
82592         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
82593
82594 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82595
82596         Sync from coreutils.
82597
82598         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
82599         stat-time.h.
82600         * lib/argmatch.h: Include verify.h
82601         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
82602         (ARGMATCH_ASSERT): Remove; unused.
82603         * lib/canonicalize.c: Assume STDC_HEADERS.
82604         * lib/exclude.c: Include "strcase.h".
82605         * lib/regex_internal.h [!defined _LIBC]: Likewise.
82606         * lib/getusershell.c: Include stdio--.h rather than stdio.h
82607         and stdio-safer.h.
82608         (getusershell): Call fopen, not fopen_safer.
82609         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
82610         Do not include unistd-safer.h.
82611         (save_cwd): Don't call fd_safer; no longer needed
82612         now that we include fcntl--.h.
82613
82614         * lib/getdate.y (relative_time): New type.
82615         (RELATIVE_TIME_0): New constant.
82616         (parser_control): Use relative_time instead of doing it ourselves.
82617         (%union): Add new relative_time rel member.
82618         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
82619         Now typeless.
82620         (relunit, relunit_snumber): Now of type rel.
82621         (zone, rel, relunit, get_date): Adjust to above changes.
82622
82623         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
82624         Do not include unistd-safer.h.
82625         (getloadavg): Don't call fd_safer; no longer needed
82626         now that we include fcntl--.h.
82627
82628         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
82629         (make_dir_parents): Treat ENOSYS like EEXIST.
82630
82631         Improve quality of diagnostics on restore_cwd failure.
82632         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
82633         (make_dir_parents): Last arg is now int * (for errno), not bool *.
82634         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
82635         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
82636         each time through the loop.  Do not diagnose restore_cwd failure;
82637         that is the caller's job (and perhaps the caller does not care).
82638
82639         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
82640         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
82641         If the file already exists but is not a directory, don't bother
82642         to try to make its parents.
82643         Close potential file descriptor leak if we can't chdir("/") (!).
82644         Don't always return true if chdir($PWD) fails; return true only
82645         if the requested action was done successfully (except for the
82646         chdir($PWD)).
82647         Don't log final directory unless we actually made it.
82648         Refactor to avoid duplicate code to fix up permissions.
82649         Don't attempt to fix up parent permissions if chdir($PWD) fails.
82650
82651         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
82652         to make it a bit faster and (I hope) clearer.
82653         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
82654         Fix bug in formats like %2N.
82655
82656         * lib/verify.h: New file.
82657
82658 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82659
82660         Sync from coreutils.
82661         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
82662
82663 2005-09-22  Jim Meyering  <jim@meyering.net>
82664
82665         Sync from coreutils.
82666
82667         * m4/lstat.m4 (gl_FUNC_LSTAT):
82668         Use AC_LIBSOURCES to require lstat.c and lstat.h.
82669         Remove obsolete comment.
82670         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
82671         * m4/xstrtod.m4: Likewise.
82672
82673         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
82674
82675 2005-09-22  Jim Meyering  <jim@meyering.net>
82676
82677         Sync from coreutils.
82678
82679         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
82680
82681         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
82682         the .tm_year member, since otherwise gcc-4.0 would now warn about
82683         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
82684
82685         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
82686         order to avoid an unsuppressible warning from gcc on 64-bit systems.
82687
82688         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
82689         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
82690         when run in a time zone for which daylight savings time is in effect
82691         for the starting date.
82692
82693         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
82694         stop us from restricting permissions of just-created absolute-named
82695         directories.
82696         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
82697         to restore initial working directory.
82698         * lib/mkdir-p.c (make_dir_parents): New parameter:
82699         different_working_dir, to tell caller if/when we change the working
82700         directory and are unable to return to the initial one.
82701         * lib/mkdir-p.h (make_dir_parents): Update prototype.
82702         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
82703         `return false'.  This fixes a bug introduced on 2004-07-30.
82704
82705         * lib/openat.c (fdopendir): Be sure to close the supplied
82706         file descriptor before returning.  This makes our replacement
82707         implementation a little closer to Solaris's, where fdopendir
82708         ties the file descriptor to the returned DIR* pointer.
82709         * lib/openat.c (unlinkat): New function.
82710         * lib/openat.h (unlinkat): Add prototype.
82711         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
82712         (openat_restore_fail): Rename from openat_restore_die.
82713         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
82714
82715         Provide an alternative to exiting immediately upon save_cwd or
82716         restore_cwd failure.  Now, an application can arrange e.g.,
82717         to perform a longjump in that case.
82718         * lib/openat.c: Include dirname.h.
82719         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
82720         (rpl_openat, fdopendir, fstatat): Call openat_save_die
82721         and openat_restore_die rather than calling error directly.
82722         Don't include "error.h" or "exitfail.h"; they're no longer needed.
82723
82724         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
82725         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
82726         define.
82727
82728         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
82729         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
82730                             int utc, int nanoseconds);
82731         Background:
82732         date should not have to allocate a megabyte of virtual memory to
82733         handle a format argument like +%1048575T.  When implemented with
82734         strftime, it must allocate such a buffer, use strftime to fill it
82735         in, print it, then free it.
82736         With fprintftime, it simply prints everything and exits.
82737         With no need for memory allocation, that's one fewer way to fail.
82738         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
82739         optional field width, not before, so we accept %9:z, not %:9z.
82740         (my_strftime): Be sure to use L_('x') for literals.
82741
82742         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
82743         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
82744         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
82745         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
82746         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
82747         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
82748         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
82749         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
82750         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
82751         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
82752         * lib/xgethostname.c, lib/xreadlink.c:
82753         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
82754
82755         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
82756         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
82757         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
82758         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82759         and don't include <sys/file.h>).
82760
82761 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
82762
82763         Sync from coreutils.
82764
82765         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
82766         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
82767         [!LDAV_DONE]: Avoid unused variable warning.
82768
82769 2005-09-21  Bruno Haible  <bruno@clisp.org>
82770
82771         * lib/unicodeio.h (unicode_to_mb): New declaration.
82772
82773 2005-09-20  Derek Price  <derek@ximbiot.com>
82774
82775         * lib/getaddrinfo.c: Don't include <netdb.h> included from
82776         getaddrinfo.h.
82777
82778 2005-09-20  Bruno Haible  <bruno@clisp.org>
82779
82780         * gnulib-tool: Remove trailing slashes from the values specified for
82781         --source-base, --m4-base, --tests-base, --aux-dir.
82782         Suggested by Simon Josefsson <jas@extundo.com>.
82783
82784 2005-09-20  Bruno Haible  <bruno@clisp.org>
82785
82786         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
82787         func_modules_to_filelist, func_import, func_create_testdir): Make all
82788         sorting results locale-independent, so that gnulib-cache.m4 doesn't
82789         change when gnulib-tool is invoked in a different locale.
82790
82791 2005-09-19  Simon Josefsson  <jas@extundo.com>
82792
82793         * m4/socklen.m4: Fix typo.
82794
82795 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82796
82797         Use a consistent style for including <config.h>.
82798         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
82799         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
82800         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
82801         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
82802         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
82803         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
82804         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
82805         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
82806         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
82807         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
82808         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
82809         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
82810         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
82811         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
82812         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
82813         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
82814         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
82815         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
82816         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
82817         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
82818         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
82819         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
82820         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
82821         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
82822         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
82823         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
82824         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
82825         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
82826         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
82827         lib/xstrtoumax.c, lib/yesno.c:
82828         Standardize inclusion of config.h.
82829         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
82830         lib/inttostr.h:  Removed inclusion of config.h from header files.
82831         * lib/inttostr.c:  Adjusted in-tree users.
82832         * lib/timespec.h: Remove superfluous warning to include config.h.
82833         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
82834         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
82835         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
82836         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
82837         config.h with HAVE_CONFIG_H.
82838
82839 2005-09-19  Jim Meyering  <jim@meyering.net>
82840
82841         * modules/pathmax (License): Change to LGPL.
82842
82843 2005-09-19  Derek Price  <derek@ximbiot.com>
82844
82845         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
82846
82847 2005-09-19  Bruno Haible  <bruno@clisp.org>
82848
82849         * gnulib-tool (import): Provide default for --tests-base.
82850
82851 2005-09-19  Bruno Haible  <bruno@clisp.org>
82852
82853         * doc/quote.texi: New file, extracted from gnulib.texi.
82854         * doc/ctime.texi: New file, extracted from gnulib.texi.
82855         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
82856         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
82857         * doc/gnulib.texi: Include them.
82858
82859 2005-09-18  Bruno Haible  <bruno@clisp.org>
82860
82861         Portability fix.
82862         * gnulib-tool (func_readlink): New function.
82863         (func_ln_if_changed): Use it.
82864
82865 2005-09-18  Bruno Haible  <bruno@clisp.org>
82866
82867         * gnulib-tool: Support --with-tests also with --import.
82868         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
82869         (func_import): Use variables $testsbase and $inctests. Emit a
82870         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
82871         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
82872         SUBDIRS += $testsdir.
82873         (func_create_testdir): Update.
82874
82875 2005-09-18  Bruno Haible  <bruno@clisp.org>
82876
82877         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
82878         instead of $dry_run.
82879         (func_cp_if_changed, func_mv_if_changed): Remove functions.
82880         (func_ln_if_changed): Don't handle dry-run here.
82881         (func_import): In dry-run mode, detect more precisely which actions
82882         would be performed, and don't use "...ing" verbs.
82883
82884 2005-09-18  Bruno Haible  <bruno@clisp.org>
82885
82886         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
82887         (func_import): Use join on two temporary files instead of three nested
82888         loops, in order to determine which files are new or old.
82889
82890 2005-09-18  Bruno Haible  <bruno@clisp.org>
82891
82892         * gnulib-tool (func_import): Comment out code that spits out the
82893         new files with --dry-run.
82894
82895 2005-09-18  Bruno Haible  <bruno@clisp.org>
82896
82897         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
82898
82899 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82900
82901         * lib/stat-time.h: New file.
82902         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
82903         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
82904         in a different way.
82905         (timespec_cmp): New function.
82906         * lib/utimecmp.c: Include stat-time.h.
82907         (SYSCALL_RESOLUTION): Depend on whether various struct stat
82908         members exist, not on the obsolescent ST_MTIM_NSEC.
82909         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
82910
82911 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82912
82913         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
82914
82915 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82916
82917         * MODULES.html.sh (File system functions): Add stat-time.
82918         * modules/stat-time: New file.
82919         * modules/timespec (Files): Remove m4/st_mtim.m4; this
82920         is now done in a different way, by the stat-time module.
82921         * modules/utimecmp (Depends-on): Add stat-time.
82922
82923 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
82924
82925         * m4/st_mtim.m4: Remove.  Superseded by...
82926         * m4/stat-time.m4: New file.
82927         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
82928         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
82929
82930 2005-09-15  Derek Price  <derek@ximbiot.com>
82931
82932         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
82933
82934 2005-09-15  Derek Price  <derek@ximbiot.com>
82935
82936         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
82937         * lib/regex_internal.c: Ditto, using this...
82938         (__GNUC_PREREQ): ...new macro.
82939         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
82940         using...
82941         (__GNUC_PREREQ): ...this new macro.
82942
82943         * lib/strstr.h: Include string.h. Define strstr as a macro here.
82944
82945 2005-09-15  Derek Price  <derek@ximbiot.com>
82946             Paul Eggert  <eggert@cs.ucla.edu>
82947
82948         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
82949         changes, consolidating in...
82950         * lib/regex_internal.h: ...this file.
82951
82952 2005-09-13  Jim Meyering  <jim@meyering.net>
82953
82954         * lib/canon-host.c: Filter through gnu indent and reword comments
82955         slightly.
82956         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
82957
82958 2005-09-13  Derek Price  <derek@ximbiot.com>
82959
82960         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
82961         failure.
82962         Reported by Jim Meyering  <jim@meyering.net>.
82963
82964 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82965
82966         * lib/base64.c: Typo.
82967         (base64_encode): Put b64str in initialized data section.
82968
82969 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
82970
82971         Merge glibc and coreutils changes into gnulib, plus a few
82972         extra fixes.
82973         * lib/md5.c: Use #error rather than a string.
82974         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
82975         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
82976         (__attribute__): Define to empty for non recent-GCC.
82977         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
82978         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
82979         Renamed from their non-__ counterparts, with new macros replacing
82980         them if not _LIBC.  Add __THROW attribute.
82981         (rol): Remove.
82982         (struct md5_ctx): Align buffer if using GCC.
82983         * lib/sha1.h (struct sha1_ctx): Likewise.
82984         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
82985         The old name was backwards.
82986         (NOTSWAP): Remove; not used.
82987         (rol): New macro, moved here from md5.h.
82988         (sha1_process_block): Remove a FIXME that doesn't make sense.
82989
82990 2005-09-12  Derek Price  <derek@ximbiot.com>
82991
82992         Return usable errors from canon-host.
82993         * lib/canon-host.h: New file.
82994         * lib/canon-host.c (canon_host): Wrap...
82995         (canon_host_r): ...this new function, which now relies exclusively on
82996         getaddrinfo.
82997         (ch_strerror): New function.
82998         (last_cherror): New global.
82999         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
83000         interface.
83001         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
83002         void *.
83003         (freeaddrinfo): Free ai->ai_canonname when set.
83004
83005 2005-09-12  Derek Price  <derek@ximbiot.com>
83006
83007         Make canon-host require getaddrinfo.
83008         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
83009         AC_LIBSOURCE canon-host.h.  Call...
83010         (gl_PREREQ_CANON_HOST): ...this new function, which requires
83011         gl_GETADDRINFO.
83012         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
83013
83014 2005-09-12  Derek Price  <derek@ximbiot.com>
83015
83016         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
83017         LGPL.
83018         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
83019
83020 2005-09-12  Derek Price  <derek@ximbiot.com>
83021
83022         * lib/gai_strerror.c: Include config.h when available.  Include
83023         getaddrinfo.h before other headers to test interface.
83024         Reported by Larry Jones <lawrence.jones@ugs.com>.
83025
83026 2005-09-12  Derek Price  <derek@ximbiot.com>
83027             Paul Eggert  <eggert@cs.ucla.edu>
83028
83029         * modules/glob (Files): Add glob-libc.h.
83030
83031 2005-09-12  Derek Price  <derek@ximbiot.com>
83032             Paul Eggert  <eggert@cs.ucla.edu>
83033
83034         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
83035         glob_.h, glob-libc.h.
83036         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
83037
83038 2005-09-12  Derek Price  <derek@ximbiot.com>
83039             Paul Eggert  <eggert@cs.ucla.edu>
83040
83041         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
83042         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
83043         protecting things that should be done only in gnulib contexts.
83044         * lib/glob_.h: New file, containing only the glob things needed for
83045         gnulib.
83046         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
83047         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
83048         (glob, globfree, glob_pattern_p): Now defined simply in terms of
83049         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
83050         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
83051         and to respect the namespace rules better.
83052
83053 2005-09-08  Simon Josefsson  <jas@extundo.com>
83054
83055         * modules/socklen: New file.
83056
83057 2005-09-08  Simon Josefsson  <jas@extundo.com>
83058
83059         * m4/socklen.m4: New file.
83060
83061 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
83062
83063         * modules/utimens (Files): Add m4/utimbuf.m4, since
83064         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
83065         Reported by Sergey Poznyakoff.
83066
83067 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
83068
83069         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
83070         definitions, since that's the preferred style in glibc.
83071         Fix a minor spacing issue, and update copyright notice to match
83072         glibc's.
83073
83074 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
83075
83076         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
83077
83078 2005-09-06  Simon Josefsson  <jas@extundo.com>
83079
83080         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
83081         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
83082
83083 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
83084
83085         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
83086         warning.
83087
83088 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
83089
83090         * config/srclist.txt: Add glibc bug 1302.
83091
83092 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
83093
83094         Change bitset word type from unsigned int to unsigned long int,
83095         as this has better performance on typical 64-bit hosts.
83096         Port bitset code to hosts with unusual word sizes.
83097         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
83098         (build_collating_symbol):
83099         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
83100         argument is a bitset.  This is merely a style issue, but it makes
83101         it clearer that an entire array is expected.
83102         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
83103         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
83104         Port to the case where bitset_word is not the same as unsigned int.
83105         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
83106         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
83107         Likewise.
83108         * lib/regexec.c (check_dst_limits_calc_pos_1,
83109         check_subexp_matching_top):
83110         (build_trtable, group_nodes_into_DFAstates):
83111         Likewise.
83112         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
83113         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
83114         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
83115         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
83116         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
83117         * lib/regcomp.c (optimize_subexps, lower_subexp):
83118         Work even if bitset_word has holes in its bitwise representation.
83119         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
83120         * lib/regexec.c (check_dst_limits_calc_pos_1,
83121         check_subexp_matching_top):
83122         Likewise.
83123         * lib/regex_internal.c (re_string_reconstruct):
83124         Don't assume UCHAR_MAX == 255.
83125         * lib/regex_internal.h (bitset_set_all): Likewise.
83126         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
83127         All uses changed.
83128         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
83129         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
83130         All uses changed.
83131         (BITSET_WORD_MAX): New macro.
83132         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
83133         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
83134         (bitset_empty, bitset_copy):
83135         Prefer sizeof (bitset) to multiplying it out ourselves.
83136         (bitset_not_merge): Remove; unused.
83137         (bitset_contain): Return bool, not unsigned int with one bit on.
83138         All callers changed.
83139         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
83140         alignment than re_node_set; do this by defining a new internal
83141         type struct dests_alloc and using it to allocate memory.
83142
83143 2005-09-05  Bruno Haible  <bruno@clisp.org>
83144
83145         * gnulib-tool (func_import): Fix comparison in handling of symbolic
83146         links.
83147
83148 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
83149
83150         * modules/size_max (Makefile.am): Add size_max.h
83151
83152 2005-09-04  Derek Price  <derek@ximbiot.com>
83153
83154         * gnulib-tool (func_import): Fix reversed $symbolic logic.
83155
83156 2005-09-03  Simon Josefsson  <jas@extundo.com>
83157
83158         * gnulib-tool: Fix typo.
83159
83160 2005-09-03  Simon Josefsson  <jas@extundo.com>
83161
83162         * config/srclist.txt: Add glibc bug 1293.
83163
83164 2005-09-03  Derek Price  <derek@ximbiot.com>
83165
83166         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
83167         From Larry Jones <lawrence.jones@ugs.com>.
83168
83169 2005-09-02  Simon Josefsson  <jas@extundo.com>
83170
83171         * modules/socklen: New file.
83172
83173 2005-09-02  Simon Josefsson  <jas@extundo.com>
83174
83175         * modules/havelib: New module.
83176
83177         * modules/gettext, modules/iconv, modules/lock, modules/readline:
83178         Use havelib.
83179
83180 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
83181
83182         Check for arithmetic overflow when calculating sizes, to prevent
83183         some buffer-overflow issues.  These patches are conservative, in the
83184         sense that when I couldn't determine whether an overflow was possible,
83185         I inserted a run-time check.
83186         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
83187         macros.
83188         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
83189         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
83190         (re_xnrealloc, re_x2nrealloc): New inline functions.
83191         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
83192         parse_bracket_exp):
83193         (build_equiv_class, build_charclass): Check for arithmetic overflow
83194         in size expression calculations.
83195         * lib/regex_internal.c (re_string_realloc_buffers):
83196         (build_wcs_upper_buffer, re_node_set_add_intersect):
83197         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
83198         (re_dfa_add_node, register_state): Likewise.
83199         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
83200         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
83201         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
83202         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
83203
83204 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
83205
83206         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83207         m4/ulonglong.m4.  Problem reported by Martin Lambers.
83208
83209 2005-09-02  Bruno Haible  <bruno@clisp.org>
83210
83211         Support for lib vs. lib64 distinction on biarch platforms.
83212         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
83213         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
83214         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
83215
83216 2005-09-02  Bruno Haible  <bruno@clisp.org>
83217
83218         * gnulib-tool (import): In the other first-use case, provide defaults
83219         as well.
83220
83221 2005-09-02  Bruno Haible  <bruno@clisp.org>
83222
83223         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
83224         patches not yet found in the latest gettext release.
83225
83226 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
83227
83228         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
83229         to avoid a collision with bits/local_lim.h in glibc.
83230         All uses changed.  Problem reported by Dmitry V. Levin in
83231         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
83232
83233         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
83234         bugs in int versus size_t comparisons.
83235         (re_string_context_at): Fix bug where the code assumed that
83236         Idx is signed.
83237
83238         Use bool where appropriate.
83239         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
83240         All callers changed.
83241         (calc_eclosure_iter): Likewise, for ROOT arg.
83242         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
83243         (build_charclass_op): Likewise, for NON_MATCH arg.
83244         * lib/regex_internal.c (re_string_allocate, re_string_construct):
83245         (re_string_construct_common): Likewise, for ICASE arg.
83246         * lib/regexec.c (re_search_2_stub, re_search_stub):
83247         Likewise, for RET_LEN arg.
83248         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
83249         (set_regs): Likewise, for FL_BACKTRACK arg.
83250         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
83251         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
83252         (calc_eclosure_iter, parse_bracket_exp):
83253         Use bool for internal variables that are booleans.
83254         * lib/regexec.c (re_search_internal, check_matching,
83255         proceed_next_node):
83256         (set_regs, build_sifted_states, sift_states_bkref):
83257         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
83258         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83259         (find_collation_sequence_value):
83260         Likewise.
83261         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
83262         (re_node_set_compare):
83263         Return bool, not int. All callers changed.
83264         * lib/regexec.c (check_halt_node_context, check_dst_limits):
83265         (build_trtable, check_node_accept): Likewise.
83266         * lib/regex_internal.h: Include stdbool.h.
83267
83268         Fix bugs uncovered when converting to bool.
83269         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
83270         failure instead of charging ahead blindly.
83271         * lib/regex_internal.c (register_state): Likewise.
83272         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
83273         for freeing internal storage.
83274         (group_nodes_into_DFA_states): Use unsigned int, not int, for
83275         bitset pieces used as boolean, to avoid undefined behavior
83276         on hosts that do int overflow checking.
83277
83278 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
83279
83280         * config/srclist.txt: Add glibc bugs 1285-1287.
83281
83282 2005-09-01  Jim Meyering  <jim@meyering.net>
83283
83284         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
83285         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
83286         Require gl_STAT_MACROS, too.
83287
83288 2005-09-01  Bruno Haible  <bruno@clisp.org>
83289
83290         * gnulib-tool (import): In the first-use case, provide defaults.
83291
83292 2005-09-01  Bruno Haible  <bruno@clisp.org>
83293
83294         * gnulib-tool (func_import): Remove the .tmp files.
83295
83296 2005-09-01  Bruno Haible  <bruno@clisp.org>
83297
83298         * gnulib-tool (func_import): Fix handling of symbolic links.
83299
83300 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83301
83302         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
83303         old glibc regex code mishandles strings longer than 2**31 bytes.
83304         This patch fixes this when the regex code is used in gnulib
83305         (i.e., outside glibc).
83306
83307         This patch should not affect the use of the regex code inside
83308         glibc.  No doubt this problem also needs to be handled for glibc
83309         as well, but the result will be an incompatible change to the
83310         glibc ABI, and the old ABI will have to be supported too.  That
83311         can be the the subject for another patch.
83312
83313         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
83314         governing whether the rest of this patch is active.  By default,
83315         the macro is disabled and the patch has no effect.
83316         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
83317         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
83318         (struct re_pattern_buffer, re_search, re_search_2, re_match):
83319         (re_match_2, re_set_registers): Use the new types.
83320         * lib/regex_internal.h (Idx, re_hashval_t): New types.
83321         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
83322         New macros.
83323         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
83324         (re_string_context_at, bin_tree_t, re_dfastate_t):
83325         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
83326         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
83327         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
83328         (re_string_char_size_at, re_string_wchar_at):
83329         (re_string_elem_size_at):
83330         Use the new types and macros to port to 64-bit hosts.
83331         Use unsigned types for internal values, so that the code
83332         mostly works even for arrays larger than SSIZE_MAX.
83333         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
83334         (search_duplicated_node, calc_eclosure_iter, fetch_number):
83335         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
83336         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
83337         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
83338         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
83339         (calc_inveclosure, parse_dup_op, build_range_exp):
83340         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
83341         (fetch_number, create_token_tree, mark_opt_subexp):
83342         Likewise.
83343         * lib/regex_internal.c (re_string_construct_common,
83344         create_ci_newstate):
83345         (create_cd_newstate, re_string_allocate, re_string_construct):
83346         (re_string_realloc_buffers, build_wcs_upper_buffer):
83347         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83348         (re_string_reconstruct, re_string_peek_byte_case):
83349         (re_string_fetch_byte_case, re_string_context_at):
83350         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83351         (re_node_set_init_copy, re_node_set_add_intersect):
83352         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83353         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83354         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83355         (re_acquire_state, re_acquire_state_context, register_state):
83356         Likewise.
83357         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
83358         search_cur_bkref_entry):
83359         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
83360         (re_search_internal, re_search_2_stub, re_search_stub)
83361         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
83362         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
83363         (update_cur_sifted_state, check_dst_limits):
83364         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
83365         (check_subexp_limits, sift_states_bkref, merge_state_array):
83366         (check_subexp_matching_top, get_subexp, get_subexp_sub):
83367         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
83368         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83369         (expand_bkref_cache, check_node_accept_bytes):
83370         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
83371         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
83372         (acquire_init_state_context, check_halt_node_context):
83373         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
83374         (sift_states_backward, clean_state_log_if_needed):
83375         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
83376         (find_recover_state, transit_state_sb, transit_state_mb):
83377         (transit_state_bkref, build_trtable, match_ctx_clean):
83378         Likewise.
83379         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
83380         to work around an assumption that REG_MISSING is negative.
83381
83382         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
83383         (seek_collating_symbol_entry) [defined _LIBC]:
83384         (lookup_collation_sequence_value) [defined _LIBC]:
83385         (build_range_exp, build_collating_symbol) [defined _LIBC]:
83386         Use prototypes rather than old-style function definitions.
83387         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
83388         (transit_state_sb) [0]:
83389         (find_collation_sequence_value) [defined _LIBC]: Likewise.
83390
83391         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
83392         rm_eo.
83393
83394         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
83395         (optimize_subexps, lower_subexp):
83396         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
83397         since the signed shift might overflow.  Use 1u<<31 instead.
83398         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
83399         Likewise.
83400         * lib/regexec.c (check_dst_limits_calc_pos_1,
83401         check_subexp_matching_top): Likewise.
83402
83403         * lib/regcomp.c (optimize_subexps, lower_subexp):
83404         Use CHAR_BIT rather than 8, for clarity.
83405         * lib/regexec.c (check_dst_limits_calc_pos_1):
83406         (check_subexp_matching_top): Likewise.
83407         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
83408         have to worry about portability issues when shifting it left.
83409         Remove no-longer-needed test for table_size > 0.
83410         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
83411         in a word, as the resulting behavior is undefined.
83412         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
83413         in one case, a <= should have been an <, and in another case the
83414         whole test was missing.
83415         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
83416         the standard name CHAR_BIT.
83417         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
83418         this is not true on one's complement and signed-magnitude hosts.
83419
83420         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
83421         next_last_offset.
83422         (struct re_dfa_t): Remove unused member states_alloc.
83423         * lib/regcomp.c (init_dfa): Don't initialize unused members.
83424
83425 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83426
83427         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
83428         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
83429         and large-file glibc and in 32-bit large-file Solaris.
83430
83431 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83432
83433         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
83434         lengths fit in regoff_t; this isn't true if regoff_t is the same
83435         width as size_t.
83436         * lib/regex.c (re_search_internal): 5th arg is LAST_START
83437         (= START + RANGE) instead of RANGE.  This avoids overflow
83438         problems when regoff_t is the same width as size_t.
83439         All callers changed.
83440         (re_search_2_stub): Check for overflow when adding the
83441         sizes of the two strings.
83442         (re_search_stub): Check for overflow when adding START
83443         to RANGE; if it occurs, substitute the extreme value.
83444
83445 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83446
83447         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
83448
83449 2005-08-31  Jim Meyering  <jim@meyering.net>
83450
83451         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
83452         a pointer-to-const.
83453         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
83454         (register_state): Likewise.
83455         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
83456         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
83457         (group_nodes_into_DFAstates): Likewise.
83458
83459 2005-08-31  Jim Meyering  <jim@meyering.net>
83460
83461         * check-module: Add a FIXME comment.
83462
83463 2005-08-31  Eric Blake  <ebb9@byu.net>
83464
83465         * modules/unistd-safer (Files): Add unistd--.h.
83466         * modules/stdio-safer (Files): Add stdio--.h.
83467
83468 2005-08-31  Derek Price  <derek@ximbiot.com>
83469
83470         * lib/getdelim.c (getdelim): Return EOF on EOF.
83471         Reported by Larry Jones <lawrence.jones@ugs.com>.
83472
83473 2005-08-31  Bruno Haible  <bruno@clisp.org>
83474
83475         Avoid unnecessary diffs in the generated lib/Makefile.am.
83476         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
83477         the generated files.
83478         (func_import): Don't set cmd.
83479
83480 2005-08-31  Bruno Haible  <bruno@clisp.org>
83481
83482         * lib/strstr.c: Include <stddef.h>, for NULL.
83483         * lib/strcasestr.c: Likewise.
83484         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
83485
83486 2005-08-31  Bruno Haible  <bruno@clisp.org>
83487
83488         * gnulib-tool: New option --macro-prefix.
83489         (func_import): Use macro_prefix.
83490         (import): Handle option --macro-prefix.
83491
83492 2005-08-31  Bruno Haible  <bruno@clisp.org>
83493
83494         * gnulib-tool (import): Rename most ac_* variables to cached_*.
83495         Also use new variables cached_lgpl, cached_libtool.
83496
83497 2005-08-31  Bruno Haible  <bruno@clisp.org>
83498
83499         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
83500         always instantiating them.
83501
83502 2005-08-31  Bruno Haible  <bruno@clisp.org>
83503
83504         * gnulib-tool (func_import): Read the previous cached settings
83505         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
83506         earlier added by gnulib but are now dropped. Warn when a gnulib file
83507         overwrites a non-gnulib file.
83508
83509 2005-08-31  Bruno Haible  <bruno@clisp.org>
83510
83511         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
83512         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
83513         projects that don't keep autogenerated files in CVS. Put into
83514         actioncmd only the specified modules, not the transitive closure.
83515
83516 2005-08-31  Bruno Haible  <bruno@clisp.org>
83517
83518         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
83519         Create directories that shall be filled.
83520         (import): Don't look for gl_* macros in configure.ac. Recurse across
83521         all directories containing a gnulib-cache.m4 files, if meaningful.
83522
83523 2005-08-31  Bruno Haible  <bruno@clisp.org>
83524
83525         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
83526         (import): Set seen_libtool when we see gl_LIBTOOL.
83527
83528 2005-08-31  Bruno Haible  <bruno@clisp.org>
83529
83530         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
83531         declaration macro definitions from generated gnulib.m4.
83532
83533 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
83534
83535         * lib/iconvme.h: Add prototype for iconv_alloc.
83536
83537 2005-08-29  Simon Josefsson  <jas@extundo.com>
83538
83539         * lib/iconvme.c: Fix errno.
83540
83541 2005-08-29  Bruno Haible  <bruno@clisp.org>
83542
83543         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
83544         that it works when the directory contains spaces.
83545
83546 2005-08-29  Bruno Haible  <bruno@clisp.org>
83547
83548         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
83549
83550 2005-08-29  Bruno Haible  <bruno@clisp.org>
83551
83552         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
83553         Emit more advice.
83554
83555 2005-08-29  Bruno Haible  <bruno@clisp.org>
83556         and Stepan Kasal  <kasal@ucw.cz>
83557
83558         * check-module: If more parameters are given, check each of them
83559         separately; add more exceptions, as noted by Jim Meyering.
83560         (check_module): New procedure.
83561         (%exempt_header): Now contains all exceptions.
83562
83563 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
83564
83565         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
83566
83567 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83568
83569         * lib/iconvme.c: Split iconv_string into iconv_alloc.
83570
83571 2005-08-28  Bruno Haible  <bruno@clisp.org>
83572
83573         * m4/gnulib-tool.m4: New file.
83574
83575 2005-08-27  Jim Meyering  <jim@meyering.net>
83576
83577         * modules/unistd-safer (Files): Add pipe-safer.c.
83578         * modules/fcntl-safer (Files): Add creat-safer.c.
83579
83580 2005-08-27  Jim Meyering  <jim@meyering.net>
83581
83582         * m4/stdlib-safer.m4: New file.  From coreutils.
83583         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
83584         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
83585         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
83586         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
83587         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
83588
83589 2005-08-27  Jim Meyering  <jim@meyering.net>
83590
83591         * lib/fopen-safer.c: Merge minor changes from coreutils.
83592         * lib/dup-safer.c: Likewise.
83593         * lib/fd-safer.c: Likewise.
83594
83595         Merge from coreutils.
83596         * lib/stdio--.h: New file.
83597         * lib/stdlib--.h: New file.
83598         * lib/mkstemp-safer.c: New file.
83599
83600         GNU tar needs these.
83601         * lib/pipe-safer.c: New file.
83602         * lib/creat-safer.c: New file.
83603         * lib/fcntl--.h (creat): Define to creat_safer.
83604         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
83605         * lib/unistd--.h (pipe): Define to pipe_safer.
83606         * lib/unistd-safer.h: Declare pipe_safer.
83607
83608 2005-08-26  Simon Josefsson  <jas@extundo.com>
83609
83610         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
83611         Haible <bruno@clisp.org>.
83612
83613 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
83614
83615         * lib/regex_internal.h: Remove all references to
83616         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
83617         or better.
83618         (bitset_not, bitset_merge, bitset_not_merge):
83619         (bitset_mask, re_string_allocate, re_string_construct):
83620         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
83621         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
83622         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
83623         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
83624         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83625         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83626         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
83627         (re_acquire_state_context):
83628         Remove unnecessary forward decls.
83629         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
83630         Put __attribute at function definition,
83631         now that the function decl has been removed.
83632         * lib/regex_internal.c (re_string_peek_byte_case):
83633         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
83634         Likewise.
83635
83636 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
83637
83638         * m4/regex.m4: Add AC_PREREQ(2.50).
83639         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
83640
83641 2005-08-25  Simon Josefsson  <jas@extundo.com>
83642
83643         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
83644         __fsetlocking.
83645
83646 2005-08-25  Simon Josefsson  <jas@extundo.com>
83647
83648         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
83649         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
83650         GLIBC specific code.
83651
83652 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83653
83654         Make regex safe for g++.  This fixes one real bug (an "err"
83655         that should have been "*err").  g++ problem reported by
83656         Sam Steingold.
83657         * lib/regex_internal.h (re_calloc): New macro, consistent with
83658         re_malloc etc.  All callers of calloc changed to use re_calloc.
83659         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
83660         not int.  All callers changed.
83661         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
83662         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
83663         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
83664         (find_recover_state): Change "err" to "*err"; this fixes what
83665         appears to be a real bug.
83666         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
83667         versus int.
83668
83669 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83670
83671         * modules/regex (Depends-on): Add malloc, since the code
83672         assumes that !malloc(0) means failure.
83673
83674 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83675
83676         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
83677
83678         alloca modernization/simplification for regex.
83679         * lib/regex.c: Remove portability cruft for alloca.  This no longer
83680         needs to be at the start of the file, and can be moved into
83681         regex_internal.h and simplified.
83682         * lib/regex_internal.h: Include <alloca.h>.
83683         (__libc_use_alloca) [!defined _LIBC]: New macro.
83684         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
83685         now works outside glibc.
83686
83687 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83688
83689         * config/srclist.txt: Add glibc bugs 1241, 1245.
83690
83691 2005-08-25  Jim Meyering  <jim@meyering.net>
83692
83693         * lib/open-safer.c: Include <config.h>.
83694         Otherwise, we'd lose LARGEFILE support in any file using
83695         e.g. "fcntl--.h"
83696
83697 2005-08-25  Bruno Haible  <bruno@clisp.org>
83698
83699         * m4/minmax.m4: Require autoconf 2.52.
83700         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
83701         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
83702         alternatives of translit over the alphabet.
83703         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
83704
83705 2005-08-24  Simon Josefsson  <jas@extundo.com>
83706
83707         * tests/test-getpass.c: New file.
83708
83709 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83710
83711         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
83712         for GNU regex features.
83713
83714 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83715
83716         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
83717         * lib/regex.h (regerror): Likewise.
83718
83719         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
83720         requires this.  (The code never needed it.)
83721
83722         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
83723         All uses of recently-renamed identifiers changed to use the new,
83724         POSIX-compliant names.  The code will build and run just fine
83725         without these changes, but it's better to eat our own dog food
83726         and use the standard-conforming names.
83727
83728         * lib/regex.h: Fix a multitude of POSIX name space violations.
83729         These changes have an effect only for programs that define
83730         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
83731         do not change anything for programs compiled in the normal way.
83732         Also, there is no effect on the ABI.
83733
83734         (_REGEX_SOURCE): New macro.
83735         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
83736         defined and _GNU_SOURCE is not; this fixes a name space violation.
83737
83738         Rename the following macros to obey POSIX requirements.
83739         The old names are still visible as macros if _REGEX_SOURCE is defined.
83740         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
83741         RE_BACKSLASH_ESCAPE_IN_LISTS.
83742         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
83743         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
83744         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
83745         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
83746         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
83747         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
83748         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
83749         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
83750         (REG_INTERVALS): renamed from RE_INTERVALS.
83751         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
83752         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
83753         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
83754         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
83755         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
83756         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
83757         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
83758         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
83759         RE_UNMATCHED_RIGHT_PAREN_ORD.
83760         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
83761         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
83762         (REG_DEBUG): renamed from RE_DEBUG.
83763         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
83764         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
83765         unusual, since we can't clash with the POSIX REG_ICASE.
83766         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
83767         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
83768         (REG_NO_SUB): renamed from RE_NO_SUB.
83769         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
83770         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
83771         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
83772         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
83773         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
83774         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
83775         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
83776         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
83777         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
83778         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
83779         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
83780         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
83781         RE_SYNTAX_POSIX_MINIMAL_BASIC.
83782         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
83783         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
83784         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
83785         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
83786         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
83787         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
83788         (REG_FIXED): Renamed from REGS_FIXED.
83789         (REG_NREGS): Renamed from RE_NREGS.
83790
83791         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
83792         of other REG_* macros, since POSIX says the user is allowed to
83793         #undef these macros selectively.
83794
83795         (reg_errcode_t): Update comment stating what other tables need
83796         to be consistent.
83797
83798         Rename the following enum values to obey POSIX requirements.
83799         The old names are still visible as macros.
83800         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
83801         is not defined, since GNU is supposed to be a superset of POSIX as
83802         much as possible, and since we want reg_errcode_t to be a signed
83803         type for implementation consistency.
83804         (_REG_NOERROR): Renamed from REG_NOERROR.
83805         (_REG_NOMATCH): Renamed from REG_NOMATCH.
83806         (_REG_BADPAT): Renamed from REG_BADPAT.
83807         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
83808         (_REG_ECTYPE): Renamed from REG_ECTYPE.
83809         (_REG_EESCAPE): Renamed from REG_EESCAPE.
83810         (_REG_ESUBREG): Renamed from REG_ESUBREG.
83811         (_REG_EBRACK): Renamed from REG_EBRACK.
83812         (_REG_EPAREN): Renamed from REG_EPAREN.
83813         (_REG_EBRACE): Renamed from REG_EBRACE.
83814         (_REG_BADBR): Renamed from REG_BADBR.
83815         (_REG_ERANGE): Renamed from REG_ERANGE.
83816         (_REG_ESPACE): Renamed from REG_ESPACE.
83817         (_REG_BADRPT): Renamed from REG_BADRPT.
83818         (_REG_EEND): Renamed from REG_EEND.
83819         (_REG_ESIZE): Renamed from REG_ESIZE.
83820         (_REG_ERPAREN): Renamed from REG_ERPAREN.
83821         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
83822         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
83823         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
83824         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
83825
83826         (_REG_RE_NAME, _REG_RM_NAME): New macros.
83827         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
83828         changed.  But support the old name if the new one is not defined
83829         and if _REGEX_SOURCE.
83830
83831         Change the following member names in struct re_pattern_buffer.
83832         The old names are still supported if !_REGEX_SOURCE.
83833         The new names are always supported, regardless of _REGEX_SOURCE.
83834         (re_buffer): Renamed from buffer.
83835         (re_allocated): Renamed from allocated.
83836         (re_used): Renamed from used.
83837         (re_syntax): Renamed from syntax.
83838         (re_fastmap): Renamed from fastmap.
83839         (re_translate): Renamed from translate.
83840         (re_can_be_null): Renamed from can_be_null.
83841         (re_regs_allocated): Renamed from regs_allocated.
83842         (re_fastmap_accurate): Renamed from fastmap_accurate.
83843         (re_no_sub): Renamed from no_sub.
83844         (re_not_bol): Renamed from not_bol.
83845         (re_not_eol): Renamed from not_eol.
83846         (re_newline_anchor): Renamed from newline_anchor.
83847
83848         Change the following member names in struct re_registers.
83849         The old names are still supported if !_REGEX_SOURCE.
83850         The new names are always supported, regardless of _REGEX_SOURCE.
83851         (rm_num_regs): Renamed from num_regs.
83852         (rm_start): Renamed from start.
83853         (rm_end): Renamed from end.
83854
83855         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
83856         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
83857         Prepend __ to parameter names.
83858
83859         Undo yesterday's changes.
83860
83861 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83862
83863         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
83864         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
83865         lib/regex.c.
83866
83867 2005-08-24  Jim Meyering  <jim@meyering.net>
83868
83869         Sync from coreutils.
83870         * m4/fcntl-safer.m4: New file.
83871
83872         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
83873         and object files for this module.
83874
83875 2005-08-24  Jim Meyering  <jim@meyering.net>
83876
83877         Sync from coreutils.
83878         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
83879
83880 2005-08-24  Jim Meyering  <jim@meyering.net>
83881
83882         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
83883         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
83884
83885 2005-08-24  Jim Meyering  <jim@meyering.net>
83886
83887         * modules/fcntl-safer: New module.
83888         * modules/fts (Depends-on): Add fcntl-safer.
83889         * MODULES.html.sh (File descriptor based Input/Output):
83890         Add fcntl-safer.
83891
83892 2005-08-24  Bruno Haible  <bruno@clisp.org>
83893
83894         Support for unit test modules.
83895         * modules/README: Mention tests modules.
83896         * modules/TEMPLATE-TESTS: New file.
83897         * gnulib-tool: New options --extract-tests-module, --with-tests and
83898         --tests-base (unused for the moment).
83899         (testsbase, inctests): New variables.
83900         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
83901         (func_verify_module): Exclude TEMPLATE-TESTS.
83902         (func_verify_nontests_module, func_verify_tests_module): New functions.
83903         (func_get_dependencies): Add implicit dependency for tests modules.
83904         (func_get_tests_module): New function.
83905         (func_modules_transitive_closure): When --with-tests was specified,
83906         include the unit tests as well, unless explicitly avoided.
83907         (func_emit_lib_Makefile_am): Ignore the tests modules here.
83908         (func_emit_tests_Makefile_am): New function.
83909         (func_create_testdir): When --with-tests was specified, emit a
83910         tests/ directory.
83911         * MODULES.html.sh (Future developments): Update.
83912
83913 2005-08-24  Bruno Haible  <bruno@clisp.org>
83914
83915         * modules/tls-tests: New file.
83916         * tests/test-tls.c: New file, from GNU gettext.
83917
83918 2005-08-24  Bruno Haible  <bruno@clisp.org>
83919
83920         * modules/lock-tests: New file.
83921         * tests/test-lock.c: New file, from GNU gettext.
83922
83923 2005-08-24  Bruno Haible  <bruno@clisp.org>
83924
83925         * lib/lock.h: Add multiple inclusion guard.
83926         * lib/tls.h: Add multiple inclusion guard.
83927
83928 2005-08-24  Bruno Haible  <bruno@clisp.org>
83929
83930         * gnulib-tool: Add support for the --aux-dir option to
83931         --create-testdir, --create-megatestdir, --test, --megatest.
83932         (func_create_testdir, func_create_megatestdir): Optionally emit a
83933         AC_CONFIG_AUX_DIR directive.
83934         (create-testdir, create-megatestdir, test, megatest): Provide a
83935         default value for $auxdir.
83936
83937 2005-08-24  Bruno Haible  <bruno@clisp.org>
83938
83939         * gnulib-tool (import): Use compound statement instead of subshell
83940         where possible.
83941
83942 2005-08-24  Bruno Haible  <bruno@clisp.org>
83943
83944         * gnulib-tool (import): Change --aux-dir default to "build-aux".
83945
83946 2005-08-24  Bruno Haible  <bruno@clisp.org>
83947
83948         * gnulib-tool (func_version): Update.
83949
83950 2005-08-24  Bruno Haible  <bruno@clisp.org>
83951
83952         * gnulib-tool (func_import, func_create_testdir,
83953         func_create_megatestdir): Quote all autoconf macro arguments.
83954
83955 2005-08-24  Bruno Haible  <bruno@clisp.org>
83956
83957         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
83958         option --force, because --force causes the aclocal.m4 of each
83959         subdirectory to be newer than the corresponding config.h.in.
83960
83961 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83962
83963         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
83964         All contents moved to gl_REGEX.
83965         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
83966         assume that it does.
83967
83968 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83969
83970         * lib/regex.h (REG_NOSYS)
83971         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
83972         Define, since POSIX requires it as of 2001.
83973         (_REG_ENOSYS)
83974         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
83975         New private symbol, used to keep the enum signed in all cases.
83976         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
83977         Youngman in
83978         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
83979
83980         * lib/regex_internal.c (re_string_skip_chars, register_state):
83981         (calc_state_hash):
83982         Remove forward decls; no longer needed now that we use prototypes.
83983         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
83984         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
83985         (clean_state_log_if_needed): Likewise.
83986
83987 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83988
83989         * config/srclist.txt: Add glibc bugs 1231-1233.
83990
83991 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83992
83993         Fix problems reported by Sam Steingold in
83994         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
83995         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
83996         assumed that reg_errcode_t is a signed type, which is not
83997         necessarily true if _XOPEN_SOURCE is not defined.
83998         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
83999         since some compilers warn about it otherwise.
84000
84001 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
84002
84003         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
84004         (init_word_char, create_initial_state, duplicate_node_closure):
84005         (fetch_token, peek_token_bracket, build_range_exp):
84006         (build_collating_symbol): Remove forward decls; no longer needed
84007         now that we use prototypes.
84008
84009         * lib/regcomp.c:
84010         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
84011         (re_compile_fastmap_iter, regcomp, regerror, regfree):
84012         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
84013         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
84014         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
84015         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
84016         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
84017         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
84018         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
84019         (build_range_exp, build_collating_symbol, parse_bracket_exp):
84020         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
84021         (build_charclass, build_charclass_op, fetch_number, create_tree):
84022         (create_token_tree, mark_opt_subexp, duplicate_tree):
84023         Use prototypes rather than old-style definitions.
84024
84025         * lib/regex_internal.c:
84026         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
84027         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
84028         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
84029         (re_string_reconstruct, re_string_peek_byte_case):
84030         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
84031         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
84032         (re_node_set_init_copy, re_node_set_add_intersect):
84033         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84034         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84035         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
84036         (re_acquire_state, re_acquire_state_context, register_state):
84037         (create_ci_newstate, create_cd_newstate, free_state):
84038         Likewise.
84039         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
84040         re_search_2):
84041         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
84042         (re_search_internal, prune_impossible_nodes):
84043         (acquire_init_state_context, check_matching, static):
84044         (check_halt_node_context, check_halt_state_context, proceed_next_node):
84045         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
84046         (update_regs, sift_states_backward, build_sifted_states):
84047         (clean_state_log_if_needed, merge_state_array):
84048         (update_cur_sifted_state, add_epsilon_src_nodes):
84049         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
84050         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
84051         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
84052         (find_recover_state, check_subexp_matching_top, transit_state_mb):
84053         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
84054         (check_arrival, check_arrival_add_next_nodes):
84055         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
84056         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84057         (check_node_accept_bytes, check_node_accept, extend_buffers):
84058         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
84059         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
84060         (sift_ctx_init):
84061         Likewise.
84062
84063         * lib/regex_internal.h:
84064         (re_string_allocate, re_string_construct, re_string_reconstruct):
84065         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
84066         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
84067         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
84068         (re_string_context_at, re_string_peek_byte_case):
84069         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
84070         is defined, since we now use prototypes always.
84071
84072         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
84073         C89 or better.  All uses removed.
84074
84075 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
84076
84077         * config/srclist.txt: Add glibc bugs 1220-1227.
84078
84079 2005-08-20  Jim Meyering  <jim@meyering.net>
84080
84081         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
84082         of unused local, dfa.
84083
84084 2005-08-20  Bruno Haible  <bruno@clisp.org>
84085
84086         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
84087
84088 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84089
84090         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
84091         (re_node_set_insert_last, re_dfa_add_node):
84092         Rename local variables to avoid GCC shadowing warnings.
84093
84094 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84095
84096         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
84097         [defined lint]: Suppress bogus uninitialized-variable warnings.
84098
84099         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
84100         and let the caller return REG_ESPACE if out of space.  This
84101         removes an uninitialied-variable warning with GCC 4.0.1, and also
84102         avoids taking the address of a local variable.  All callers
84103         changed.
84104
84105 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84106
84107         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
84108         $LIBCSRC/posix/regexec.c.
84109         Add glibc bug 1217 for regcomp.c.
84110
84111 2005-08-19  Jim Meyering  <jim@meyering.net>
84112
84113         * lib/regexec.c (proceed_next_node): Redo local variables to
84114         avoid GCC shadowing warnings.
84115
84116 2005-08-18  Bruno Haible  <bruno@clisp.org>
84117
84118         * lib/strstr.c (strstr): Fix return value in multibyte case.
84119         * lib/strcasestr.c (strcasestr): Likewise.
84120
84121 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
84122
84123         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
84124
84125 2005-08-17  Jim Meyering  <jim@meyering.net>
84126
84127         Make the %s format (seconds since the epoch) work for a negative
84128         number and when used with a zero-padded field width, e.g. %015s.
84129
84130         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
84131         label so that it precedes the code to set `digits'.  Otherwise,
84132         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
84133         print `00-22'.  Now, it prints `-0022', as it should.
84134
84135 2005-08-17  Bruno Haible  <bruno@clisp.org>
84136
84137         * modules/strstr (Files): Add m4/mbrtowc.m4.
84138         (Depends-on): Add mbuiter.
84139
84140 2005-08-17  Bruno Haible  <bruno@clisp.org>
84141
84142         * modules/strcasestr: New file.
84143         * MODULES.html.sh (String handling, based on ANSI C 89): Add
84144         strcasestr.
84145
84146 2005-08-17  Bruno Haible  <bruno@clisp.org>
84147
84148         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
84149
84150 2005-08-17  Bruno Haible  <bruno@clisp.org>
84151
84152         * modules/mbuiter: New file.
84153         * MODULES.html.sh (Extended multibyte and wide character utilities):
84154         Add mbuiter.
84155
84156 2005-08-17  Bruno Haible  <bruno@clisp.org>
84157
84158         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
84159         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
84160
84161 2005-08-17  Bruno Haible  <bruno@clisp.org>
84162
84163         * m4/strcasestr.m4: New file.
84164
84165 2005-08-17  Bruno Haible  <bruno@clisp.org>
84166
84167         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
84168         * lib/strstr.c: Completely rewritten, with multibyte locale support.
84169
84170 2005-08-17  Bruno Haible  <bruno@clisp.org>
84171
84172         * lib/strcasestr.h: New file.
84173         * lib/strcasestr.c: New file.
84174
84175 2005-08-17  Bruno Haible  <bruno@clisp.org>
84176
84177         * lib/strcasecmp.c: Use mbuiter.h.
84178
84179 2005-08-17  Bruno Haible  <bruno@clisp.org>
84180
84181         * lib/mbuiter.h: New file.
84182
84183 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
84184
84185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
84186         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
84187         and gl_GETOPT are both invoked via different paths (as happens
84188         with GNU tar CVS because it uses both argp and getopt), the former
84189         wins.
84190
84191 2005-08-16  Bruno Haible  <bruno@clisp.org>
84192
84193         * modules/tls: New file.
84194         * MODULES.html.sh (Multithreading): Add tls.
84195
84196 2005-08-16  Bruno Haible  <bruno@clisp.org>
84197
84198         * modules/strnlen1: New file.
84199         * MODULES.html.sh (String handling): Add strnlen1.
84200
84201 2005-08-16  Bruno Haible  <bruno@clisp.org>
84202
84203         * modules/strcase (Files): Add m4/mbrtowc.m4.
84204         (Depends-on): Add strnlen1, mbchar.
84205
84206 2005-08-16  Bruno Haible  <bruno@clisp.org>
84207
84208         * modules/mbiter: New file.
84209         * MODULES.html.sh (Extended multibyte and wide character utilities):
84210         Add mbiter.
84211
84212 2005-08-16  Bruno Haible  <bruno@clisp.org>
84213
84214         * modules/mbfile: New file.
84215         * MODULES.html.sh (Extended multibyte and wide character utilities):
84216         Add mbfile.
84217
84218 2005-08-16  Bruno Haible  <bruno@clisp.org>
84219
84220         * modules/mbchar: New file.
84221         * MODULES.html.sh (Extended multibyte and wide character utilities):
84222         New section.
84223
84224 2005-08-16  Bruno Haible  <bruno@clisp.org>
84225
84226         * m4/tls.m4: New file, from GNU gettext.
84227
84228 2005-08-16  Bruno Haible  <bruno@clisp.org>
84229
84230         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
84231         always.
84232         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
84233
84234 2005-08-16  Bruno Haible  <bruno@clisp.org>
84235
84236         * m4/mbiter.m4: New file.
84237
84238 2005-08-16  Bruno Haible  <bruno@clisp.org>
84239
84240         * m4/mbfile.m4: New file.
84241
84242 2005-08-16  Bruno Haible  <bruno@clisp.org>
84243
84244         * m4/mbchar.m4: New file.
84245
84246 2005-08-16  Bruno Haible  <bruno@clisp.org>
84247
84248         * lib/tls.h: New file, from GNU gettext.
84249         * lib/tls.c: New file, from GNU gettext.
84250
84251 2005-08-16  Bruno Haible  <bruno@clisp.org>
84252
84253         * lib/strnlen1.h: New file.
84254         * lib/strnlen1.c: New file.
84255
84256 2005-08-16  Bruno Haible  <bruno@clisp.org>
84257
84258         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
84259         (mbi_init): Update.
84260         (mbi_avail, mbi_advance): Let the iteration end before the terminating
84261         NUL byte, not after it.
84262
84263 2005-08-16  Bruno Haible  <bruno@clisp.org>
84264
84265         * lib/strcase.h (strcasecmp): Add note in comments.
84266         * lib/strncasecmp.c: Use code from strcasecmp.c.
84267         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
84268         (strcasecmp): Work correctly in multibyte locales.
84269
84270 2005-08-16  Bruno Haible  <bruno@clisp.org>
84271
84272         * lib/mbiter.h: New file.
84273
84274 2005-08-16  Bruno Haible  <bruno@clisp.org>
84275
84276         * lib/mbfile.h: New file.
84277
84278 2005-08-16  Bruno Haible  <bruno@clisp.org>
84279
84280         * lib/mbchar.h: New file.
84281         * lib/mbchar.c: New file.
84282
84283 2005-08-16  Bruno Haible  <bruno@clisp.org>
84284
84285         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
84286         the valid ones. Makes the comparison operations transitive:
84287         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
84288         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
84289
84290 2005-08-15  Simon Josefsson  <jas@extundo.com>
84291
84292         * modules/ssize_t (License): Change to 'unlimited'.
84293
84294         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
84295
84296 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
84297
84298         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
84299         Add comments for each pending glibc patch.
84300
84301 2005-08-15  Bruno Haible  <bruno@clisp.org>
84302
84303         * lib/regex.h (__restrict_arr): Don't define to __restrict if
84304         __cplusplus is defined.
84305
84306 2005-08-14  Jim Meyering  <jim@meyering.net>
84307
84308         Sync from coreutils.
84309
84310         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
84311         Use the hash-table-based cycle-detection code not just when
84312         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
84313         Reported by James Youngman in
84314         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
84315         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
84316         FTS_TIGHT_CYCLE_CHECK.
84317         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
84318         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
84319         once again.
84320         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
84321         * lib/fts.c (fd_safer): Remove decl.
84322         Include fcntl--.h rather than unistd-safer.h
84323         (fts_safe_changedir): Don't call fd_safer; no longer needed
84324         now that we include fcntl--.h.
84325
84326 2005-08-12  Simon Josefsson  <jas@extundo.com>
84327
84328         * modules/getndelim2: Use ssize_t module.
84329         * modules/getnline: Likewise.
84330         * modules/safe-read: Likewise.
84331         * modules/xreadlink: Likewise.
84332
84333         * modules/ssize_t: New file.
84334
84335 2005-08-12  Simon Josefsson  <jas@extundo.com>
84336
84337         * m4/readline.m4: Look for termcap, curses or ncurses if required.
84338
84339 2005-08-12  Simon Josefsson  <jas@extundo.com>
84340
84341         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84342         ssize_t.
84343
84344 2005-08-12  Simon Josefsson  <jas@extundo.com>
84345
84346         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
84347         readline, getdelim and check_version.
84348         (Support for systems lacking ISO C 99: Sizes of integer types):
84349         Add size_max.
84350
84351 2005-08-12  Bruno Haible  <bruno@clisp.org>
84352
84353         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
84354
84355 2005-08-11  Simon Josefsson  <jas@extundo.com>
84356
84357         * modules/readline: New file.
84358
84359         * modules/strnlen (Files): Add strnlen.h.
84360
84361 2005-08-11  Simon Josefsson  <jas@extundo.com>
84362
84363         * m4/readline.m4: New file.
84364
84365 2005-08-11  Simon Josefsson  <jas@extundo.com>
84366
84367         * lib/readline.h, readline.c: New file.
84368
84369 2005-08-11  Simon Josefsson  <jas@extundo.com>
84370
84371         * doc/gnulib.texi (Initial import, Finishing touches): Mention
84372         gl_AVOID.
84373
84374 2005-08-11  Bruno Haible  <bruno@clisp.org>
84375
84376         * lib/strnlen.h (strnlen): Change parameter name to match comment.
84377
84378 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
84379
84380         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
84381
84382 2005-08-10  Simon Josefsson  <jas@extundo.com>
84383
84384         * tests/test-iconvme.c: New file.
84385
84386 2005-08-10  Simon Josefsson  <jas@extundo.com>
84387
84388         * m4/strnlen.m4: New file.
84389
84390         * m4/strndup.m4: Don't check for strnlen declaration, done in
84391         strnlen.m4.
84392
84393 2005-08-10  Simon Josefsson  <jas@extundo.com>
84394
84395         * lib/strndup.c: Use strnlen.h.
84396
84397         * lib/strnlen.h: New file.
84398
84399 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84400
84401         * README: Typos.
84402
84403 2005-08-02  Simon Josefsson  <jas@extundo.com>
84404
84405         * modules/readline: New file.
84406
84407 2005-08-02  Simon Josefsson  <jas@extundo.com>
84408
84409         * modules/getdelim: New file.
84410
84411         * modules/getline: Rewrite, don't use getndelim2.
84412
84413 2005-08-02  Simon Josefsson  <jas@extundo.com>
84414
84415         * m4/getline.m4: Separate out getdelim stuff into separate module.
84416
84417         * m4/getdelim.m4: New file.
84418
84419 2005-08-02  Simon Josefsson  <jas@extundo.com>
84420
84421         * lib/getline.h, getline.c: Rewrite.
84422
84423         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
84424
84425 2005-07-31  Bruno Haible  <bruno@clisp.org>
84426
84427         * lib/lock.h (gl_lock_initializer): New macro.
84428         (gl_lock_define_initialized): Use it.
84429         (gl_rwlock_initializer): New macro.
84430         (gl_rwlock_define_initialized): Use it.
84431         (gl_recursive_lock_initializer): New macro.
84432         (gl_recursive_lock_define_initialized): Use it.
84433
84434 2005-07-30  Karl Berry  <karl@gnu.org>
84435
84436         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
84437         Report from Ben Pfaff, regarding getopt.
84438
84439 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
84440
84441         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
84442         normal way.
84443         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
84444         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
84445         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
84446         (gl_GETOPT): Use the new macros.  Most of the implementation
84447         is moved to the new macros.  This is for programs like Emacs
84448         that don't want all the functionality of gl_GETOPT.
84449
84450 2005-07-26  Bruno Haible  <bruno@clisp.org>
84451
84452         * m4/lock.m4: Update from GNU gettext.
84453
84454 2005-07-26  Bruno Haible  <bruno@clisp.org>
84455
84456         * lib/lock.h: Update from GNU gettext.
84457         * lib/lock.c: Update from GNU gettext.
84458
84459 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
84460
84461         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
84462         obsolescent AC_TRY_RUN.  Include the default includes files, for
84463         'exit'.
84464
84465 2005-07-24  Bruno Haible  <bruno@clisp.org>
84466
84467         * modules/visibility: New file.
84468         * MODULES.html.sh (Misc): Add visibility.
84469
84470 2005-07-24  Bruno Haible  <bruno@clisp.org>
84471
84472         * m4/visibility.m4: New file.
84473
84474 2005-07-24  Bruno Haible  <bruno@clisp.org>
84475
84476         * doc/visibility.texi: New file.
84477
84478 2005-07-22  Bruno Haible  <bruno@clisp.org>
84479
84480         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
84481         $(ALLOCA_H), redundant through BUILT_SOURCES.
84482         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
84483         redundant through BUILT_SOURCES.
84484         * modules/byteswap (Makefile.am): Remove explicit dependency on
84485         $(BYTESWAP_H), redundant through BUILT_SOURCES.
84486         * modules/fnmatch (Makefile.am): Remove explicit dependency on
84487         $(FNMATCH_H), redundant through BUILT_SOURCES.
84488         * modules/getopt (Makefile.am): Remove explicit dependency on
84489         $(GETOPT_H), redundant through BUILT_SOURCES.
84490         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
84491         redundant through BUILT_SOURCES.
84492         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
84493         redundant through BUILT_SOURCES.
84494         * modules/stdbool (Makefile.am): Remove explicit dependency on
84495         $(STDBOOL_H), redundant through BUILT_SOURCES.
84496         * modules/stdint (Makefile.am): Remove explicit dependency on
84497         $(STDINT_H), redundant through BUILT_SOURCES.
84498         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
84499         Remove explicit dependency on $(SYSEXITS_H).
84500         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
84501
84502 2005-07-18  Simon Josefsson  <jas@extundo.com>
84503
84504         * lib/check-version.c (check_version): Accept identical versions too.
84505
84506 2005-07-18  Bruno Haible  <bruno@clisp.org>
84507
84508         * modules/lock: New file.
84509         * MODULES.html.sh (Multithreading): New section.
84510
84511 2005-07-18  Bruno Haible  <bruno@clisp.org>
84512
84513         * m4/lock.m4: New file, from GNU gettext.
84514
84515 2005-07-18  Bruno Haible  <bruno@clisp.org>
84516
84517         * lib/lock.h: New file, from GNU gettext.
84518         * lib/lock.c: New file, from GNU gettext.
84519
84520 2005-07-18  Bruno Haible  <bruno@clisp.org>
84521
84522         * lib/lock.h (gl_once_t): New type.
84523         (gl_once_define, gl_once): New macros.
84524         * lib/lock.c (fresh_once): New variable.
84525         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
84526         functions.
84527
84528 2005-07-16  Simon Josefsson  <jas@extundo.com>
84529
84530         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
84531         workaround, suggested by Bruno.
84532
84533 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
84534
84535         * modules/xalloc (Depends-on): Add xalloc-die.
84536         * modules/xvasprintf (Depends-on): Add xalloc-die.
84537
84538 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
84539
84540         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
84541         with a minor change.
84542
84543 2005-07-15  Bruno Haible  <bruno@clisp.org>
84544
84545         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
84546         When using lib/poll.c, define poll as rpl_poll.
84547
84548 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
84549
84550         * modules/argp (Depends-on): Remove unlocked-io.
84551
84552 2005-07-14  Derek Price  <derek@ximbiot.com>
84553
84554         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
84555         for glob symlink bug.
84556
84557 2005-07-14  Bruno Haible  <bruno@clisp.org>
84558
84559         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
84560         Instead, test for *_unlocked function declarations directly.
84561
84562 2005-07-11  Simon Josefsson  <jas@extundo.com>
84563
84564         * modules/size_max: New file.
84565
84566         * modules/xsize: Depend on size_max module for size_max.m4.
84567
84568 2005-07-11  Simon Josefsson  <jas@extundo.com>
84569
84570         * lib/size_max.h: New file.
84571
84572 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
84573
84574         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
84575         copyright symbol and the year.
84576         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
84577         (version_etc_va): Use parameterized copyright notice.
84578         Reword to conform to the current GNU coding standards.
84579
84580 2005-07-11  Karl Berry  <karl@gnu.org>
84581
84582         * doc/gnulib.texi (Quoting): new node.
84583         (Initial import): more info, from Patrice.
84584
84585 2005-07-11  Bruno Haible  <bruno@clisp.org>
84586
84587         * gnulib-tool (func_usage): Document option --avoid.
84588         (Command line options): Handle --avoid.
84589         (func_acceptable): New function.
84590         (func_modules_transitive_closure): Use it.
84591
84592 2005-07-11  Bruno Haible  <bruno@clisp.org>
84593
84594         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
84595         Reported by Jim Meyering.
84596
84597 2005-07-10  Bruno Haible  <bruno@clisp.org>
84598
84599         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
84600         Needed when size_t is smaller than 'unsigned int'.
84601         Reported by Paul Eggert.
84602
84603 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84604
84605         * modules/argp (Depends-on): Add unlocked-io
84606
84607 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
84608
84609         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
84610         block of defines.
84611
84612 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
84613
84614         * config/srclist.txt: Comment out regcomp.c, since we have a porting
84615         fix now.
84616
84617 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
84618         and Paul Eggert  <eggert@cs.ucla.edu>
84619
84620         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
84621         in wint_t, not wchar_t.  Remove now-unnecessary cast.
84622
84623 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84624
84625         * modules/regex (Files): Add lib/regex_internal.c,
84626         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
84627         (Depends-on): Add extensions.
84628         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
84629
84630 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84631
84632         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
84633         pathconf.
84634         * m4/same.m4 (gl_SAME): Likewise.
84635         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
84636
84637         * m4/regex.m4: Adjust to new libc regex implementation.
84638         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
84639         all the .c and .h parts of (the new) regex.
84640         Quote the m4 stuff better.
84641         Check for RE_ICASE bug of old gnulib.
84642         Check for REG_STARTEND of recent libc.
84643         Rename local variables from jm_* to gl_*.
84644         Quote operand of "test -f".
84645         Say "recent enough" version of libc, not "version 2".
84646         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
84647         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
84648         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
84649         Remove check for btowc, isascii.
84650         Require AM_LANGINFO_CODESET.
84651
84652 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84653
84654         * lib/regex.c, regex.h: Sync from libc.
84655         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
84656         * lib/regexec.c:
84657         New files, synced from libc, except that regex_internal.h
84658         currently has a small porting fix.
84659
84660 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84661
84662         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
84663         regex_internal.c, regexec.c.
84664         Add regex_internal.h too, but as a comment, since the libc version
84665         is currently broken in gnulib mode.
84666
84667 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
84668
84669         Support programs like Emacs that use gnulib but not gettext.
84670         * MODULES.html.sh (Internationalization functions): Add gettext-h.
84671         * modules/gettext-h: New file.
84672         * modules/gettext (Files): Remove lib/gettext.h.
84673         (Depends-on): Add gettext-h.
84674         (Makefile.am): Remove lib_SOURCES.
84675         * modules/argmatch, modules/c-stack, modules/closeout:
84676         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
84677         * modules/execute, modules/file-type, modules/getaddrinfo:
84678         * modules/getopt, modules/human, modules/javacomp:
84679         * modules/javaexec, modules/mkdir-p, modules/obstack:
84680         * modules/openat, modules/pagealign_alloc, modules/pipe:
84681         * modules/quotearg, modules/regex, modules/rpmatch:
84682         * modules/unicodeio, modules/userspec, modules/version-etc:
84683         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
84684         * modules/xsetenv:
84685         Depend on gettext-h, not gettext.
84686
84687 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
84688
84689         * gnulib-tool (func_import): Add support for 'public domain' license.
84690         * modules/alloca, modules/atexit, modules/memmove:
84691         Now public domain, not GPL.
84692         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
84693         * modules/realloc, modules/strerror, modules/strtod:
84694         Now LGPL, not GPL.
84695
84696 2005-07-05  Bruno Haible  <bruno@clisp.org>
84697
84698         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
84699         autoconf CVS. Needed for mingw.
84700
84701 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84702
84703         Remove the dependency of the strftime module on the tzset module.
84704         * modules/strftime (Depends-on): Remove dependency on tzset.
84705
84706 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84707
84708         Remove the dependency of the strftime module on the tzset module.
84709         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
84710         gl_FUNC_TZSET_CLOBBER.
84711
84712 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84713
84714         Remove the dependency of the strftime module on the tzset module.
84715         * lib/strftime.c (my_strftime)
84716         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
84717         Copy the input structure, to work around some of the bug with
84718         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
84719         Solaris releases, you should also use the tzset module, but we won't
84720         require it as a dependency any more since we don't want LGPLed code
84721         to depend on GPLed code.
84722
84723 2005-07-02  Jim Meyering  <jim@meyering.net>
84724
84725         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
84726         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
84727         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
84728         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
84729
84730 2005-07-02  Jim Meyering  <jim@meyering.net>
84731
84732         * lib/backupfile.c (backup_args): Change a `0' to NULL.
84733
84734 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
84735
84736         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
84737         declares only 'struct timespec;' (!).
84738
84739 2005-07-01  Jim Meyering  <jim@meyering.net>
84740
84741         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
84742         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
84743         * lib/save-cwd.c, tempname.c:
84744         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84745         and don't include <sys/file.h>).
84746
84747 2005-06-29  Jim Meyering  <jim@meyering.net>
84748
84749         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
84750         type name.  Use the variable name instead.
84751         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
84752         Likewise.
84753
84754 2005-06-28  Simon Josefsson  <jas@extundo.com>
84755
84756         * modules/check-version (Files): Add check-version.m4.
84757
84758 2005-06-28  Simon Josefsson  <jas@extundo.com>
84759
84760         * m4/check-version.m4: New file, suggested by Jim Meyering
84761         <jim@meyering.net>.
84762
84763 2005-06-28  Simon Josefsson  <jas@extundo.com>
84764
84765         * lib/check-version.h, lib/check-version.c: New files.
84766
84767 2005-06-28  Simon Josefsson  <jas@extundo.com>
84768
84769         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
84770         collision with global variable.  Better indentation.  Don't
84771         increment buffer pointer beyond buffer end.  Based on comments
84772         from Paul Eggert <eggert@cs.ucla.edu>.
84773
84774         * lib/base64.h: Indent.
84775
84776 2005-06-28  Simon Josefsson  <jas@extundo.com>
84777
84778         * doc/gnulib.texi (Library version handling): New section.
84779
84780 2005-06-28  Jim Meyering  <jim@meyering.net>
84781
84782         * check-module (find_included_lib_files): Hard-code another
84783         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
84784         but modules/fts-lgpl (correctly) does not list those files.
84785
84786         * modules/canonicalize (Files): Add lib/pathmax.h.
84787
84788 2005-06-25  Simon Josefsson  <jas@extundo.com>
84789
84790         * modules/check-version: New file.
84791
84792 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
84793
84794         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
84795         initializer of struct addrinfo, as an indication that we don't
84796         care how many members the structure has.
84797
84798 2005-06-24  Derek Price  <derek@ximbiot.com>
84799         and Bruno Haible  <bruno@clisp.org>
84800
84801         Remove stat module & update lstat.
84802         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
84803         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84804         * m4/stat.m4: Remove this file.
84805
84806 2005-06-24  Derek Price  <derek@ximbiot.com>
84807         and Bruno Haible  <bruno@clisp.org>
84808
84809         Remove stat module & update lstat.
84810         * lib/stat.c: Remove this file...
84811         (slash_aware_lstat): ...moving this content and its support...
84812         * lib/lstat.c (rpl_lstat): ...into here.
84813         * lib/lstat.h: New file.
84814
84815 2005-06-24  Derek Price  <derek@ximbiot.com>
84816         and Bruno Haible  <bruno@clisp.org>
84817
84818         Remove stat module & update lstat.
84819         * config/srclist.txt (libc sources): Remove stat.
84820
84821 2005-06-24  Derek Price  <derek@ximbiot.com>
84822         and Bruno Haible  <bruno@clisp.org>
84823
84824         Remove stat module & update lstat.
84825         * MODULES.html.sh (stat): Remove.
84826         * MODULES.html: Regenerated.
84827         * modules/lstat (Description): Correct function name.
84828         (Files): Add "lstat.h".
84829         (Depends-on): Remove stat, add xalloc, stat-macros.
84830         * modules/stat: Remove this file.
84831         (Include): Add "lstat.h", remove <sys/stat.h>.
84832
84833 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
84834
84835         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
84836         (ranged_convert): Don't save conversion in a temporary struct.
84837         This causes a warning with GCC 4.0.0, and anyway in the typical
84838         case it's not worth the extra 100 bytes or so of code.
84839         (ranged_convert, __mktime_internal): When calling a function via a
84840         pointer P, use P () rather than (*P) (), as we now assume C89 or
84841         better.
84842
84843 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84844
84845         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
84846         "who -r" failed to give output.  Problem reported by Tim Waugh.
84847
84848         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
84849         (xcalloc): Use it to avoid needless tests.
84850         Problem reported by Jim Meyering.
84851
84852 2005-06-20  Derek Price  <derek@ximbiot.com>
84853
84854         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
84855         unnecessary for Autoconfs > 2.59c.
84856
84857 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84858
84859         * lib/argp.h (__option_is_short): Check upper limit of
84860         __key. Isprint() requires its argument to have the value
84861         of an unsigned char or EOF.
84862
84863 2005-06-16  Jim Meyering  <jim@meyering.net>
84864
84865         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
84866         when either N or S is zero.
84867
84868 2005-06-16  Derek Price  <derek@ximbiot.com>
84869
84870         * m4/bison.m4: Declare YACC & YFLAGS precious.
84871
84872 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
84873
84874         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
84875         multibyte string or pattern, fall back on unibyte matching.
84876         Problem reported by James Youngman.
84877
84878 2005-06-08  Bruno Haible  <bruno@clisp.org>
84879
84880         * modules/csharpcomp: New file.
84881         * MODULES.html.sh (C#): Add csharpcomp.
84882
84883 2005-06-08  Bruno Haible  <bruno@clisp.org>
84884
84885         * m4/csharpcomp.m4: New file, from GNU gettext.
84886
84887 2005-06-08  Bruno Haible  <bruno@clisp.org>
84888
84889         * lib/csharpcomp.h: New file, from GNU gettext.
84890         * lib/csharpcomp.c: New file, from GNU gettext.
84891         * lib/csharpcomp.sh.in: New file, from GNU gettext.
84892
84893 2005-06-08  Bruno Haible  <bruno@clisp.org>
84894
84895         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
84896         warning on mingw.
84897
84898 2005-06-07  Derek Price  <derek@ximbiot.com>
84899
84900         Sync from CVS.
84901         * lib/glob_.h: Indent nested #ifdef.
84902
84903 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84904
84905         Sync from coreutils.
84906         Use "file name" when talking about file names, instead of "filename"
84907         or "path", as per the GNU coding standards.
84908         * lib/mkdir-p.c: Renamed from makepath.c.
84909         (make_dir_parents): Renamed from make_path.  All callers changed.
84910         * lib/mkdir-p.h: Likewise.  All includers changed.
84911         * lib/filenamecat.c: Renamed from path-concat.c.
84912         (file_name_concat): Renamed from path_concat.  All callers changed.
84913         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
84914         * lib/filenamecat.h: Likewise.  All includers changed.
84915         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
84916         in comments or local variable names.
84917         * lib/basename.c: Likewise.
84918         * lib/canonicalize.c, canonicalize.h: Likewise.
84919         * lib/dirname.c, dirname.h: Likewise.
84920         * lib/euidaccess.c: Likewise.
84921         * lib/exclude.c: Likewise
84922         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
84923         * lib/fsusage.c, fsuage.h: Likewise.
84924         * lib/fts.c, fts_.h: Likewise.
84925         * lib/getcwd.c: Likewise.
84926         * lib/getloadavg.c: Likewise.
84927         * lib/mkstemp.c: Likewise.
84928         * lib/mountlist.c, mountlist.h: Likewise.
84929         * lib/openat.c, openat.h: Likewise.
84930         * lib/readlink-stub.c: Likewise.
84931         * lib/readutmp.c, readutmp.h: Likewise.
84932         * lib/rename.c: Likewise.
84933         * lib/rmdir.c: Likewise.
84934         * lib/same.c: Likewise.
84935         * lib/savedir.c: Likewise.
84936         * lib/stripslash.c: Likewise.
84937         * lib/tempname.c: Likewise.
84938         * lib/xreadlink.c: Likewise.
84939         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
84940         All uses changed.
84941         * lib/exclude.h: Likewise.
84942
84943         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
84944         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84945         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
84946         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84947         * lib/pathmax.h: Include <limits.h> unconditionally, since other
84948         files have been getting away with it for years (MORE/BSD 4.3
84949         is extinct now).
84950         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
84951         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84952
84953         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
84954         Define to 256, not 255, as per modern POSIX.
84955
84956 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84957
84958         Sync from coreutils.
84959         Use "file name" when talking about file names, instead of "filename"
84960         or "path", as per the GNU coding standards.
84961         * MODULES.html.sh: mkdir-p renamed from makepath.
84962         filenamecat renamed from path-concat.
84963         * modules/filenamecat: Renamed from modules/path-concat.
84964         (Files): filenamecat.h and filenamecat.c renamed from
84965         path-concat.h and path-concat.c.
84966         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
84967         (Include): filenamecat.h, not path-concat.h.
84968         * modules/mkdir-p: Renamed from modules/makepath.
84969         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
84970         makepath.c.
84971         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
84972         (Include): mkdir-p.h, not makepath.h.
84973
84974 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84975
84976         Sync from coreutils.
84977         * m4/mkdir-p.m4: Renamed from makepath.m4.
84978         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
84979         Rename files from makepath.c to mkdir-p.c, and from
84980         makepath.h to mkdir-p.h.
84981         * m4/filenamecat.m4: Renamed from path-concat.m4.
84982         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
84983         Rename files from path-concat.c to filenamecat.c,
84984         and from path-concat.h to filenamecat.h.
84985         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
84986         "file name" in local variables or comments.
84987         * m4/rename.m4: Likewise.
84988
84989 2005-06-01  Bruno Haible  <bruno@clisp.org>
84990
84991         * modules/csharpexec: New file.
84992         * MODULES.html.sh (C#): New section.
84993
84994 2005-06-01  Bruno Haible  <bruno@clisp.org>
84995
84996         * m4/csharp.m4: New file, from GNU gettext.
84997         * m4/csharpexec.m4: New file, from GNU gettext.
84998
84999 2005-06-01  Bruno Haible  <bruno@clisp.org>
85000
85001         * lib/csharpexec.h: New file, from GNU gettext.
85002         * lib/csharpexec.c: New file, from GNU gettext.
85003         * lib/csharpexec.sh.in: New file, from GNU gettext.
85004
85005 2005-05-31  Derek Price  <derek@ximbiot.com>
85006             Paul Eggert  <eggert@cs.ucla.edu>
85007
85008         Sync from cvs.
85009         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
85010
85011 2005-05-31  Derek Price  <derek@ximbiot.com>
85012             Paul Eggert  <eggert@cs.ucla.edu>
85013
85014         Sync from cvs.
85015         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
85016
85017 2005-05-29  Derek Price  <derek@ximbiot.com>
85018
85019         * config/srclist.txt (glob_.h, glob.c): Add these files.
85020
85021 2005-05-29  Derek Price  <derek@ximbiot.com>
85022
85023         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
85024         * modules/glob: New file.
85025         * modules/getlogin_r: Add link to POSIX spec in description.
85026
85027 2005-05-29  Derek Price  <derek@ximbiot.com>
85028             Paul Eggert  <eggert@cs.ucla.edu>
85029
85030         * m4/glob.m4: New file.
85031
85032 2005-05-29  Derek Price  <derek@ximbiot.com>
85033             Paul Eggert  <eggert@cs.ucla.edu>
85034
85035         * lib/glob_.h, lib/glob.c: New files.
85036
85037 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
85038
85039         * modules/fts (Files): Remove m4/inttypes-pri.m4.
85040         * modules/fts-lgpl (Depends-on): Remove gettext.
85041
85042 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
85043
85044         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
85045         and don't require gt_INTTYPES_PRI.
85046
85047 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
85048
85049         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
85050
85051         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
85052         the configuration hassle isn't worth it.
85053         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
85054         (LONGEST_MODIFIER, PRIuMAX): Remove.
85055
85056 2005-05-27  Bruno Haible  <bruno@clisp.org>
85057
85058         * lib/getlogin_r.h: Remove second include of <stddef.h>.
85059
85060 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
85061
85062         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
85063         _POSIX_PTHREAD_SEMANTICS for Solaris.
85064
85065 2005-05-25  Derek Price  <derek@ximbiot.com>
85066
85067         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
85068
85069 2005-05-25  Derek Price  <derek@ximbiot.com>
85070             Paul Eggert  <eggert@cs.ucla.edu>
85071
85072         * modules/getlogin_r, m4/getlogin_r.m4: New files.
85073         * lib/getlogin_r.c, getlogin_r.h: New files.
85074
85075 2005-05-25  Bruno Haible  <bruno@clisp.org>
85076             Derek Price  <derek@ximbiot.com>
85077
85078         * lib/getlogin_r.h: Simplify API documentation.
85079
85080 2005-05-23  Derek Price  <derek@ximbiot.com>
85081
85082         * modules/minmax (Files): Add m4/minmax.m4.
85083         (configure.ac): Add gl_MINMAX.
85084
85085 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
85086
85087         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
85088         so that unistd-safer.h (GPL'ed code) need not be included.
85089
85090 2005-05-22  Bruno Haible  <bruno@clisp.org>
85091
85092         * m4/minmax.m4: New file.
85093         Based on a patch by Derek Price <derek@ximbiot.com>.
85094
85095 2005-05-22  Bruno Haible  <bruno@clisp.org>
85096
85097         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
85098         (INT64_MIN): Fix definition.
85099         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
85100
85101         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
85102         NEED_SIGNED_INT_TYPES.
85103
85104         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
85105         HAVE_SYSTEM_INTTYPES.
85106
85107 2005-05-22  Bruno Haible  <bruno@clisp.org>
85108
85109         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
85110         Also include <sys/param.h> if it defines MIN, MAX.
85111         Based on a patch by Derek Price <derek@ximbiot.com>.
85112
85113 2005-05-21  Jim Meyering  <jim@meyering.net>
85114
85115         * modules/fts (Files): Add m4/inttypes-pri.m4.
85116         (Depends-on): Add lstat and remove gettext.  Alphabetize.
85117
85118 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85119
85120         New fts module.
85121         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
85122         (setup_dir, free_dir): New functions.
85123         (enter_dir, leave_dir): Define trivial
85124         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
85125         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
85126         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
85127         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
85128         Move to fts-cycle.c.
85129         (fts_open): Use setup_dir.
85130         (fts_close): Use free_dir.
85131         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
85132         This adds a label and some gotos, but the alternatives were messier.
85133         Check for memory allocation failure when entering a dir.
85134         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
85135         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
85136         (FTS): New member fts_cycle, that is a union that contains the
85137         old active_dir_ht and cycle_state.  All uses changed to mention
85138         fts_cycle.ht and fts_cycle.state.
85139         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
85140         fts.c, with the following changes:
85141         (setup_dir, free_dir): New functions.
85142         (enter_dir): Now returns bool.  Return true if successful, false
85143         if memory exhausted.  All callers changed.
85144         Do not bother partly cleaning up on
85145         memory allocation failure; that is free_dir's job.
85146         However, free ad if hash_insert fails, to avoid memory leak.
85147         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
85148         fts->fts_options to see which union member to use.
85149
85150 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85151
85152         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
85153         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
85154
85155 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85156
85157         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
85158
85159 2005-05-20  Jim Meyering  <jim@meyering.net>
85160
85161         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
85162         Now a macro, to pacify GCC.
85163
85164 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
85165
85166         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
85167         of -1.
85168
85169 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
85170
85171         * lib/chown.c (rpl_chown): Return -1 on failure.
85172
85173 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
85174
85175         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
85176         Don't check for stddef.h.
85177         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
85178         don't use its results.
85179         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
85180         since we include them unconditionally.  Don't require
85181         AM_STDBOOL_H, since stdbool is a prerequisite.
85182         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
85183         since we assume C89 or better.
85184         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
85185         as we don't use their results.
85186         Don't check for fchdir, memmove, memset, strrchr, as we use
85187         them unconditionally.
85188         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
85189         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
85190
85191 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
85192
85193         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
85194         Include <stddef.h> unconditionally, since we assume C89 now.
85195         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
85196         * lib/fts.c: Include fts_.h first, to check interface.
85197         Do not include intprops.h; no longer needed.
85198         Include cycle-check.h and hash.h, since fts_.h no longer does.
85199         Remove unnecessary casts of closedir to void.
85200         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
85201         decide whether to decrement nlinks.
85202         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
85203         (FTS): Use struct hash_table * instead of Hash_table, so that
85204         we no longer need to include hash.h here.
85205
85206 2005-05-18  Jim Meyering  <jim@meyering.net>
85207
85208         * modules/dirfd (License): Change to LGPL.  Most of the code
85209         is already in the public domain.
85210
85211 2005-05-18  Jim Meyering  <jim@meyering.net>
85212
85213         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
85214         Reported by Yoann Vandoorselaere.
85215
85216 2005-05-17  Jim Meyering  <jim@meyering.net>
85217
85218         * m4/fts.m4: New file, from coreutils.
85219
85220 2005-05-17  Jim Meyering  <jim@meyering.net>
85221
85222         * lib/fts.c, lib/fts_.h: New files, from coreutils.
85223
85224 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85225
85226         Sync from coreutils.
85227         * m4/unlinkdir.m4: New file.
85228
85229 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85230
85231         Sync from coreutils.
85232         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
85233         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
85234         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
85235         White space changes only.
85236         * lib/makepath.c (make_path): Port to hosts where leading "//" is
85237         special.
85238         * lib/yesno.c: Include getline.h, not ctype.h.
85239         (yesno): Don't remove leading white space; POSIX doesn't allow it.
85240         Use getline to remove arbitrary restriction on response length.
85241
85242 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85243
85244         * config/srclist-update: Spell out "Street" in FSF postal
85245         mail address; this is the style the FSF seems to prefer.
85246
85247         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
85248         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
85249         this updates FSF postal mail address.
85250
85251         Sync from coreutils.
85252         * modules/unlinkdir: New file.
85253         * modules/yesno (Depends-on): Add getline.
85254         * MODULES.html.sh (File system functions): Add unlinkdir.
85255
85256 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85257
85258         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
85259         lib/strsep.h:
85260         Change the initial comment to refer to GPL, not LGPL.
85261         gnulib-tool will change it to LGPL as needed.
85262
85263         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
85264         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
85265         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
85266         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
85267         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
85268         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
85269         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
85270         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
85271         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
85272         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
85273         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
85274         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
85275         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
85276         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
85277         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
85278         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
85279         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
85280         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
85281         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
85282         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
85283         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
85284         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
85285         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
85286         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
85287         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
85288         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
85289         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
85290         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
85291         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
85292         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
85293         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
85294         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
85295         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
85296         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
85297         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
85298         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
85299         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
85300         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
85301         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
85302         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
85303         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
85304         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
85305         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
85306         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
85307         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
85308         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
85309         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
85310         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
85311         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
85312         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
85313         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85314         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
85315         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
85316         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
85317         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
85318         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
85319         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
85320         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
85321         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
85322         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
85323         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
85324         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
85325         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
85326         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
85327         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
85328         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
85329         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
85330         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
85331         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
85332         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
85333         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
85334         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
85335         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
85336         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
85337         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
85338         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
85339         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
85340         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
85341         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
85342         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
85343         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
85344         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
85345         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
85346         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
85347         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
85348         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
85349         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
85350         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
85351         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
85352         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
85353         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
85354         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
85355         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
85356         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
85357         lib/yesno.c, lib/yesno.h:
85358         Update FSF postal mail address.
85359
85360 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85361
85362         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
85363         tests/test-memmem.c, tests/test-stpncpy.c:
85364         Update FSF postal mail address.
85365
85366 2005-05-13  Bruno Haible  <bruno@clisp.org>
85367
85368         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
85369         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
85370         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
85371         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
85372         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
85373         Add support for 64-bit integers in the MSVC compiler.
85374
85375 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85376
85377         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
85378
85379 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
85380
85381         * gnulib-tool (func_import): Sort and uniquify recommended includes.
85382
85383 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
85384
85385         * doc/getdate.texi (General date syntax): Don't say that date
85386         date --iso-8601=ns generates acceptable dates; it doesn't yet.
85387         Problem reported by Nic Ferrier.
85388
85389 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85390
85391         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
85392         specified in ai_socktype. Fix invalid ai_protocol
85393         check. ai_protocol is usually set to 0 or depending on
85394         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
85395         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
85396         ai_socktype / ai_protocol in the returned addrinfo structure.
85397
85398 2005-05-10  Simon Josefsson  <jas@extundo.com>
85399
85400         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
85401         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85402
85403 2005-05-10  Karl Berry  <karl@gnu.org>
85404
85405         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
85406         (from http://www.gnu.org/licenses).
85407         * doc/COPYING.LIB: also rename to COPYING.LESSER.
85408         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
85409         fdl.texi suffices.
85410
85411 2005-05-10  Karl Berry  <karl@gnu.org>
85412
85413         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
85414         (COPYING.DOC): remove.
85415
85416         * config/srclist-update: new FSF address.
85417
85418 2005-05-10  Derek Price  <derek@ximbiot.com>
85419
85420         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
85421         possible.
85422
85423 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85424             Bruno Haible  <bruno@clisp.org>
85425
85426         * modules/inet_ntop: New file.
85427         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85428         inet_ntop.
85429
85430 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85431             Bruno Haible  <bruno@clisp.org>
85432
85433         * m4/inet_ntop.m4: New file.
85434
85435 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85436             Bruno Haible  <bruno@clisp.org>
85437
85438         * lib/inet_ntop.h: New file.
85439         * lib/inet_ntop.c: New file, from glibc with modifications.
85440
85441 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
85442
85443         * modules/time_r (License): Change to LGPL.
85444         * modules/extensions (License): Change to LGPL.  Actually,
85445         the license is more permissive than that, but currently gnulib-tool
85446         doesn't know how to handle more-permissive licenses.
85447
85448         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
85449         Problem reported by Dave Love.
85450
85451 2005-05-08  Jim Meyering  <jim@meyering.net>
85452
85453         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
85454         blank.
85455
85456 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
85457
85458         * modules/argmatch (Depends-on): Add stdbool.
85459         * modules/backupfile (Depends-on): Likewise.
85460         * modules/chdir-long (Depends-on): Likewise.
85461         * modules/closeout (Depends-on): Likewise.
85462         * modules/cycle-check (Depends-on): Likewise.
85463         * modules/dirname (Depends-on): Likewise.
85464         * modules/fnmatch (Depends-on): Likewise.
85465         * modules/fsusage (Depends-on): Likewise.
85466         * modules/fwriteerror (Depends-on): Likewise.
85467         * modules/getcwd (Depends-on): Likewise.
85468         * modules/getloadavg (Depends-on): Likewise.
85469         * modules/hard-locale (Depends-on): Likewise.
85470         * modules/makepath (Depends-on): Likewise.
85471         * modules/mountlist (Depends-on): Likewise.
85472         * modules/nanosleep (Depends-on): Likewise.
85473         * modules/posixtm (Depends-on): Likewise.
85474         * modules/quotearg (Depends-on): Likewise.
85475         * modules/readtokens (Depends-on): Likewise.
85476         * modules/readtokens0 (Depends-on): Likewise.
85477         * modules/readutmp (Depends-on): Likewise.
85478         * modules/save-cwd (Depends-on): Likewise.
85479         * modules/strftime (Depends-on): Likewise.
85480         * modules/userspec (Depends-on): Likewise.
85481         * modules/utimecmp (Depends-on): Likewise.
85482         * modules/xgetcwd (Depends-on): Likewise.
85483         * modules/xnanosleep (Depends-on): Likewise.
85484         * modules/xstrtod (Depends-on): Likewise.
85485         * modules/yesno (Depends-on): Likewise.
85486
85487 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
85488
85489         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
85490         needless checks.
85491
85492 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85493
85494         Merge from coreutils.  Among other things,
85495         add bulletproofing for cases where stdin, stdout, or stderr are closed.
85496         * lib/fd-safer.c: New file.
85497         * lib/fcntl-safer.h, open-safer.c: Remove.
85498         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
85499         * lib/dup-safer.c: Include unistd-safer.h first.
85500         Don't include errno.h.
85501         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
85502         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
85503         * lib/file-type.c: Rely on file-type.h change.
85504         * lib/getloadavg.c: Include unistd-safer.h.
85505         (getloadavg): Use safer open.
85506         * lib/getusershell.c: Include "stdio-safer.h".
85507         (getusershell): Use safer fopen.
85508         * lib/long-options.c (long_options): Use NULL rather than 0.
85509         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
85510         'free'.
85511         * lib/modechange.c: Likewise.
85512         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
85513         (MODE_DONE): New constant.
85514         (struct mode_change): Remove 'next' member.
85515         (make_node_op_equals): New function; like the old one of the
85516         same name, except it allocates an array.
85517         (mode_compile, mode_create_from_ref): Use it.
85518         (mode_compile): Allocate result as an array, not a linked list.
85519         Parse octal string ourself, so that we catch mistakes like "+0".
85520         (mode_adjust): Arg is an array, not a linked list.
85521         * lib/modechange.c: Include stat-macros.h, xalloc.h.
85522         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
85523         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
85524         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
85525         Remove.  This is now stat-macros.h's job.
85526         (talloc): Remove.  All callers replaced by xalloc, so that
85527         our invokers don't have to worry about reporting memory failures.
85528         (make_node_op_equals): Remove.
85529         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
85530         New constants.
85531         (struct mode_change): Moved here from modechange.h.
85532         (mode_append_entry): Remove.
85533         (mode_compile): Remove MASKED_OPS arg, since it encouraged
85534         apps to have incorrect behavior.  Use simpler algorithm for head
85535         and tail.  Don't futz with umask; that's now the job of mode_adjust.
85536         Detect more invalid usages rather than having somewhat-random behavior.
85537         Don't insert an "a=" action, as that leads to incorrect behavior.
85538         (mode_compile, mode_create_from_ref): Return NULL on error instead
85539         of an enum, since now there's only one way to have an error.  All
85540         callers changed.
85541         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
85542         at the correct time.  Simplify calculation of "+u" and its ilk.
85543         Don't mishandle "+X".
85544         (mode_free): Remove "register" and localize decls.
85545         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
85546         (struct mode_change): Move to modechange.c; callers don't
85547         need to see this stuff.
85548         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
85549         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
85550         (mode_change, mode_adjust): Reflect the new signatures noted above.
85551         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
85552         that might redefine system include files.
85553         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
85554         (my_usleep): Use NULL rather than (void *) 0.
85555         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
85556         Use siginterrupt to specify that system calls should be interrupted.
85557         (rpl_nanosleep): Move initialization of suspended closer to call of
85558         my_usleep.
85559         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
85560         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
85561         (desirable_utmp_entry): New function.
85562         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
85563         using x2nrealloc, to simplify logic.
85564         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
85565         size calculation.  Do not assume utmp file is a regular file.
85566         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
85567         (READ_UTMP_CHECK_PIDS): New constant.
85568         * lib/save-cwd.c: Include unistd-safer.h.
85569         (save_cwd): Use fd_safer.
85570         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
85571         [!_LIBC] Include "stat-macros.h" instead.
85572         * lib/unistd-safer.h (fd_safer): New decl.
85573
85574 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85575
85576         * modules/getloadavg (Depends-on): Add unistd-safer.
85577         * modules/getusershell (Depends-on): Add stdio-safer.
85578         * modules/lstat (Depends-on): Remove xalloc.
85579         * modules/mkstemp (Depends-on): Add stat-macros.
85580         * modules/modechange (Depends-on): Remove xstrtol.
85581         Add stat-macros, xalloc.
85582         * modules/save-cwd (Depends-on): Add unistd-safer.
85583         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
85584         * modules/unistd-safer (Files): Add lib/fd-safer.c
85585         (Makefile.am): Remove lib_SOURCES.
85586
85587         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
85588         Remove fcntl-safer; unistd-safer supersedes it.
85589
85590 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85591
85592         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
85593         AC_HEADER_STAT.
85594         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
85595         (gl_PREREQ_CHOWN): Remove.
85596         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
85597         it.  Don't require AC_HEADER_STAT.
85598         (gl_PREREQ_LSTAT): Remove.
85599         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
85600         Don't require AC_HEADER_STAT.
85601         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
85602         (gl_PREREQ_RMDIR): Remove.
85603         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
85604         mention stat-macros.h or AC_HEADER_STAT, since we'll make
85605         the stat-macros module a prerequisite.
85606         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
85607         * m4/filemode.m4 (gl_FILEMODE): Likewise.
85608         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
85609         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
85610         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
85611         variable names.
85612         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
85613         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
85614         variable prefixes.
85615         * m4/fcntl-safer.m4: Remove.
85616         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
85617         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
85618         Invoke gl_PREREQ_FD_SAFER.
85619         (gl_PREREQ_FD_SAFER): New macro.
85620         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
85621         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
85622         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
85623         Remove duplicate call to AC_LIBOBJ(readutmp).
85624         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
85625
85626         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
85627         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
85628
85629 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
85630
85631         * MODULES.html.sh (Misc): Add byteswap.
85632
85633 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85634
85635         * modules/getcwd (Depends-on): Add extensions.
85636         * modules/openat (Depends-on): Likewise.
85637
85638 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85639
85640         * modules/byteswap: New file.
85641
85642 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85643
85644         * m4/byteswap.m4: New file.
85645
85646 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85647
85648         * lib/byteswap_.h: New file.
85649
85650 2005-04-25  Karl Berry  <karl@gnu.org>
85651
85652         * m4/gettext.m4: Update from GNU gettext 0.14.4.
85653
85654 2005-04-25  Albert Chin  <china@thewrittenword.com>
85655
85656         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
85657         Toolkit C bug.
85658
85659 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
85660
85661         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
85662         (func_ln_if_changed): Remove forcibly for no error message
85663         in case file does not exist.
85664
85665 2005-04-19  Simon Josefsson  <jas@extundo.com>
85666
85667         * gnulib-tool (Options): Make --symlink mean --symbolic.
85668
85669 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
85670
85671         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
85672
85673 2005-04-16  Simon Josefsson  <jas@extundo.com>
85674
85675         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
85676
85677 2005-04-15  Simon Josefsson  <jas@extundo.com>
85678
85679         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
85680
85681 2005-04-15  Simon Josefsson  <jas@extundo.com>
85682
85683         * gnulib-tool: Rename --symlink to --symbolic.
85684
85685 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
85686
85687         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
85688         symbolic links to files instead of copying/moving.  Add --aux-dir,
85689         specifying directory relative --dir where auxiliary build tools
85690         are placed.
85691
85692 2005-04-14  Bruno Haible  <bruno@clisp.org>
85693
85694         * modules/allocsa (License): Change to LGPL.
85695         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
85696
85697 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
85698
85699         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
85700         that "UTC +1 second" continues to work.  Problem reported
85701         by Dmitry V. Levin.
85702         (relunit_snumber): New rule.
85703         (relunit): Use it.
85704
85705 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
85706
85707         * lib/getdate.y (universal_time_zone_table): New constant.
85708         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
85709         universal_time_zone_table.
85710         (lookup_zone): Prefer universal_time_zone_table to
85711         local_time_zone_table, so that "GMT" time stamps are allowed in
85712         London during the summer.  Problem reported by Ian Abbott.
85713
85714 2005-04-12  Jim Meyering  <jim@meyering.net>
85715
85716         * lib/human.c (humblock): Set *options even when returning due to
85717         xstrtoumax conversion failure.  Thanks to a used-uninitialized
85718         warning from gcc-4.
85719
85720 2005-04-09  Jim Meyering  <jim@meyering.net>
85721
85722         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
85723         -Wuninitialized: initialize tm0.tm_year.
85724
85725 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
85726
85727         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
85728         count, since there's no maximum.  All uses changed.
85729         Add member dsts_seen.
85730         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
85731         not being INT_MAX.
85732         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
85733         Use pc_rels_seen to decide whether a date is absolute.
85734
85735         * lib/getdate.y (number): Don't overwrite year.
85736         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
85737         check.
85738
85739 2005-04-02  Simon Josefsson  <jas@extundo.com>
85740
85741         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
85742         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
85743
85744 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
85745
85746         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
85747         where no absolute path name can be longer than PATH_MAX.
85748
85749 2005-03-27  Jim Meyering  <jim@meyering.net>
85750
85751         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
85752
85753 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
85754
85755         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
85756         "one's complement" -> "ones' complement" in comment, as per Knuth.
85757         "value of type" -> "type or expression" in comment.
85758         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
85759
85760 2005-03-26  Jim Meyering  <jim@meyering.net>
85761
85762         Comment nits.
85763         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
85764         Correct typos: s/or/of/.
85765
85766 2005-03-26  Jim Meyering  <jim@meyering.net>
85767
85768         * modules/check-include-files: Move to ../ and rename to...
85769         * check-module: ...this.
85770
85771 2005-03-25  Jim Meyering  <jim@meyering.net>
85772
85773         * modules/xvasprintf (Files): Add xalloc.h.
85774
85775 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
85776
85777         * modules/gettext (Files): config/config.rpath ->
85778         build-aux/config.rpath
85779         * modules/iconv (Files): Likewise.
85780         Problem reported by Oskar Liljeblad.
85781
85782 2005-03-23  Jim Meyering  <jim@meyering.net>
85783
85784         * modules/check-include-files: New script to check for
85785         missing dependencies, multiple includes, etc.
85786
85787         * modules/c-strtold (Depends-on): Add xalloc.
85788         * modules/c-strtod (Depends-on): Add xalloc.
85789         * modules/hash (Depends-on): Add xalloc.
85790         (Files): Remove lib/xalloc.h.
85791
85792         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
85793         * modules/userspec (Files): Add lib/inttostr.h.
85794
85795 2005-03-23  Jim Meyering  <jim@meyering.net>
85796
85797         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
85798
85799 2005-03-22  Jim Meyering  <jim@meyering.net>
85800
85801         * modules/stat-macros: New module.
85802         * modules/canonicalize, modules/euidaccess, modules/file-type,
85803         * modules/filemode, modules/lchown, modules/makepath,
85804         * modules/rmdir, modules/stat: Depend on new stat-macros module
85805         rather than listing lib/stat-macros.h manually.
85806         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
85807
85808 2005-03-22  Jim Meyering  <jim@meyering.net>
85809
85810         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
85811
85812 2005-03-22  Bruno Haible  <bruno@clisp.org>
85813
85814         * config/srclist.txt: Replace target directory 'config' with
85815         'build-aux'.
85816         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
85817         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
85818         ../build-aux/.
85819
85820 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
85821
85822         * modules/chdir-long (Depends-on): Add mempcpy.
85823
85824         * modules/acl, modules/backupfile, modules/c-strtod,
85825         modules/c-strtold, modules/canon-host, modules/canonicalize,
85826         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
85827         modules/exclude, modules/exitfail, modules/file-type,
85828         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
85829         modules/getdate, modules/getline, modules/getpagesize,
85830         modules/getpass, modules/getugroups, modules/group-member,
85831         modules/hard-locale, modules/hash, modules/human, modules/idcache,
85832         modules/inttostr, modules/long-options, modules/makepath,
85833         modules/md5, modules/memcasecmp, modules/memcoll,
85834         modules/modechange, modules/mountlist, modules/path-concat,
85835         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
85836         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
85837         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
85838         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
85839         modules/strftime, modules/strndup, modules/strverscmp,
85840         modules/timespec, modules/unlocked-io, modules/userspec,
85841         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
85842         modules/yesno:
85843         Remove lib_SOURCES line from Makefile.am section, as this is now
85844         done automatically by the corresponding Autoconf macro.
85845
85846 2005-03-21  Jim Meyering  <jim@meyering.net>
85847
85848         Changes imported from coreutils.
85849
85850         * lib/cycle-check.c: Don't include xalloc.h.
85851
85852         * lib/path-concat.c: Don't include assert.h.
85853         (path_concat): Remove assertion that would have triggered
85854         for ABASE starting with more than one slash.
85855         Reported by Andreas Schwab.
85856
85857         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
85858         properly when ABASE is an absolute file name.
85859         Correct the description of this function.
85860         Include <assert.h>.
85861         Add an assertion and a test driver.
85862         This fixes a bug introduced on 2004-07-02.
85863         Andreas Schwab reported the resulting failure of cp --parents:
85864         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
85865
85866 2005-03-21  Jim Meyering  <jim@meyering.net>
85867
85868         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
85869         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
85870
85871 2005-03-21  Jim Meyering  <jim@meyering.net>
85872         and  Paul Eggert  <eggert@cs.ucla.edu>
85873
85874         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
85875         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
85876         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
85877         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
85878         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
85879         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
85880         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
85881         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
85882         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
85883         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
85884         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
85885         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
85886         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
85887         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
85888         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
85889         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
85890         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
85891         for these modules.
85892
85893 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
85894
85895         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
85896         (which shouldn't happen), generate nothing instead of returning 0
85897         immediately, so that nstrftime (NULL, ...) doesn't return 0.
85898
85899 2005-03-16  Bruno Haible  <bruno@clisp.org>
85900
85901         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
85902         HAVE_LONGLONG_64BIT.
85903
85904 2005-03-16  Bruno Haible  <bruno@clisp.org>
85905
85906         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
85907         HAVE_LONGLONG_64BIT.
85908
85909 2005-03-16  Bruno Haible  <bruno@clisp.org>
85910
85911         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
85912         HAVE_LONGLONG_64BIT.
85913
85914 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85915
85916         * lib/strftime.c (my_strftime): Prepend space to format so that we can
85917         reliably distinguish strftime failure from empty output on POSIX
85918         hosts.
85919
85920 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85921
85922         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
85923         (iconv_string): Don't guess a size-zero buffer, as that might cause
85924         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
85925         result would be 'too large', where 'too large' is (heuristically)
85926         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
85927         overflow concerns.  This will prevent some unwanted malloc failures
85928         when the inputs are very large.
85929
85930 2005-03-15  Karl Berry  <karl@gnu.org>
85931
85932         * config/srclist.txt (config.rpath): from gettext.
85933         * config/config.rpath: update.
85934
85935 2005-03-15  Bruno Haible  <bruno@clisp.org>
85936
85937         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
85938         to 'negate'.
85939
85940         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
85941         variable.
85942
85943         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
85944         results.
85945
85946 2005-03-14  Simon Josefsson  <jas@extundo.com>
85947
85948         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
85949         <fx@gnu.org>.
85950
85951 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
85952
85953         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
85954         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
85955         intprops.h.
85956         * lib/strtol.c: Likewise.
85957
85958 2005-03-14  Jim Meyering  <jim@meyering.net>
85959
85960         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
85961         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
85962         to be nonzero so that we (and caller) can detect the difference
85963         between a valid zero-length expansion and an error return, even
85964         when the underlying strftime fails before writing anything into
85965         that location.
85966
85967 2005-03-14  Bruno Haible  <bruno@clisp.org>
85968
85969         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
85970         Update from GNU gettext 0.14.3.
85971
85972 2005-03-10  Jim Meyering  <jim@meyering.net>
85973
85974         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
85975
85976 2005-03-10  Jim Meyering  <jim@meyering.net>
85977
85978         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
85979         so that this module works on systems without fchdir.
85980
85981 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
85982
85983         Factor int-properties macros into a single file, except for
85984         glibc-related files.
85985         * lib/intprops.h: New file.
85986         * lib/getloadavg.c: Include it instead of limits.h.
85987         (INT_STRLEN_BOUND): Remove.
85988         * lib/human.c: Include intprops.h.
85989         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
85990         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
85991         302/1000.
85992         * lib/inttostr.h: Include intprops.h instead of limits.h.
85993         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
85994         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
85995         for consistency with intprops.h.
85996         (time_t_is_integer, twos_complement_arithmetic): Use them.
85997         * lib/sig2str.h: Include <signal.h>, intprops.h.
85998         (INT_STRLEN_BOUND): Remove.
85999         * lib/strftime.c (TYPE_SIGNED): Remove.
86000         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
86001         * lib/strtol.c: Adjust comments to match intprops.h.
86002         * lib/userspec.c: Include intprops.h.
86003         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
86004         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
86005         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
86006         instead of rolling our own expressions.
86007         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
86008
86009         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
86010         instead of int.
86011         (my_strftime): Do not mishandle years close to INT_MAX, by doing
86012         the right thing even if adding 1900 would overflow.  Similarly
86013         for tm_mon + 1 and tm_yday + 1.
86014         Make %Y always equivalent to %C%y, and similarly for %G and %g.
86015         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
86016         (DO_SIGNED_NUMBER): New macro.
86017         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
86018
86019 2005-03-07  Bruno Haible  <bruno@clisp.org>
86020
86021         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
86022
86023 2005-03-07  Bruno Haible  <bruno@clisp.org>
86024
86025         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
86026
86027 2005-03-04  Derek R. Price  <derek@ximbiot.com>
86028
86029         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
86030         (func_import): Only replace files via --import when they have actually
86031         changed.
86032
86033 2005-03-03  Derek R. Price  <derek@ximbiot.com>
86034
86035         * m4/mmap-anon.m4: New file.
86036         * m4/pagealign_alloc.m4: New file.
86037
86038 2005-03-03  Derek R. Price  <derek@ximbiot.com>
86039             Bruno Haible  <bruno@clisp.org>
86040
86041         * modules/pagealign_alloc: New file.
86042         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
86043
86044 2005-03-03  Derek R. Price  <derek@ximbiot.com>
86045             Bruno Haible  <bruno@clisp.org>
86046
86047         * lib/pagealign_alloc.h: New file.
86048         * lib/pagealign_alloc.c: New file.
86049
86050 2005-03-03  Bruno Haible  <bruno@clisp.org>
86051
86052         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
86053         Use an all-permissive copyright notice, recommended by RMS.
86054
86055 2005-03-02  Bruno Haible  <bruno@clisp.org>
86056
86057         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
86058         of AIX, the replacement has to be done only after <string.h> is
86059         included, therefore not in config.h. stpncpy.h does the replacement,
86060         and stpncpy.c uses it.
86061
86062 2005-03-02  Bruno Haible  <bruno@clisp.org>
86063
86064         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
86065         stpncpy.c uses it.
86066
86067 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86068
86069         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
86070         The workaround isn't strictly needed for POSIX conformance, and
86071         it's too much of a pain to configure and maintain.  We'll ask
86072         people to fix their kernels instead.
86073         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
86074         (NANOSLEEP_BUG_WORKAROUND): Remove.
86075         (xnanosleep): Remove the workaround.
86076
86077 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86078
86079         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
86080         Reported by Derek Price.
86081         (Include): Add "timespec.h".
86082
86083         * modules/xnanosleep (Depends-on): Remove gethrxtime.
86084
86085 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86086
86087         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
86088         to detect nanosleep bug.
86089
86090 2005-03-01  Bruno Haible  <bruno@clisp.org>
86091
86092         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
86093
86094 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
86095
86096         * modules/gethrxtime: New file.
86097         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
86098         (Depends-on): Add gethrxtime.
86099         (configure.ac): Add gl_XNANOSLEEP.
86100         (Makefile.am): Remove lib_SOURCES line.
86101
86102 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
86103
86104         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
86105         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
86106
86107 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
86108
86109         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
86110         * lib/timespec.h (gettime): Return void, since it always
86111         succeeds now.  All uses changed.
86112         * lib/gettime.c (gettime): Likewise.
86113         [HAVE_NANOTIME]: Prefer nanotime.
86114         Assume gettimeofday succeeds, as POSIX requires.
86115         Assime time () succeeds, since other code already does.
86116         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
86117         (timespec_subtract): Remove.
86118         (NANOSLEEP_BUG_WORKAROUND): New constant.
86119         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
86120         things considerably.  Use it only on GNU/Linux hosts, since the
86121         workaround shouldn't be needed elsewhere.
86122
86123 2005-02-24  Bruno Haible  <bruno@clisp.org>
86124
86125         * modules/gettext (Files): Add m4/glibc2.m4.
86126
86127 2005-02-24  Bruno Haible  <bruno@clisp.org>
86128
86129         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
86130         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
86131         * m4/progtest.m4:
86132         Update from GNU gettext 0.14.2.
86133         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
86134
86135 2005-02-24  Bruno Haible  <bruno@clisp.org>
86136
86137         * lib/localcharset.c: Update from GNU gettext 0.14.2.
86138         * lib/config.charset: Update from GNU gettext 0.14.2.
86139
86140 2005-02-24  Bruno Haible  <bruno@clisp.org>
86141
86142         * lib/gettext.h: Update from GNU gettext 0.14.2.
86143
86144 2005-02-23  Simon Josefsson  <jas@extundo.com>
86145
86146         * m4/iconvme.m4: New file.
86147
86148 2005-02-23  Jim Meyering  <jim@meyering.net>
86149
86150         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
86151         change.
86152         Thanks to Bruno Haible for catching it.
86153
86154 2005-02-22  Simon Josefsson  <jas@extundo.com>
86155
86156         * modules/iconvme: New file.
86157
86158         * MODULES.html.sh: Add iconvme.
86159
86160 2005-02-22  Simon Josefsson  <jas@extundo.com>
86161
86162         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
86163
86164 2005-02-22  Simon Josefsson  <jas@extundo.com>
86165
86166         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
86167
86168 2005-02-22  Jim Meyering  <jim@meyering.net>
86169
86170         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
86171         s/ifndef/ifdef/.
86172
86173 2005-02-20  Neil Conway  <neilc@samurai.com>
86174
86175         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
86176         returned by OSX/Darwin if the specified buffer is not large
86177         enough for the hostname.
86178
86179 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86180
86181         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
86182         pass it to _help, otherwise the latter coredumps trying to
86183         dereference state.root_argp.
86184
86185 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86186
86187         * modules/chdir-long (Depends-on): Add memrchr.
86188         * modules/memrchr (Files): Add lib/memrchr.h.
86189         (Include): "memrchr.h".
86190
86191 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86192
86193         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
86194
86195 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86196
86197         * lib/memrchr.h: New file.
86198         * lib/chdir-long.c: Include it.
86199         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
86200         Don't bother including stddef.h.
86201
86202 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
86203
86204         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
86205         inclusion.
86206         Include <sys/types.h>, for dev_t.
86207         (ME_DUMMY, ME_REMOTE): Move from here....
86208         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
86209         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
86210         Dmitry V. Levin.
86211         Include mountlist.h first, to test the interface.
86212
86213 2005-01-29  Bruno Haible  <bruno@clisp.org>
86214
86215         * lib/progname.c (program_name): Initialize.
86216         Needed when linking statically on MacOS X.
86217
86218 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
86219
86220         Sync from coreutils.
86221         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
86222         (Depends-on): Add c-strtod.
86223         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
86224
86225 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
86226
86227         Sync from coreutils.
86228         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
86229
86230         Remove files that are specific to coreutils.
86231         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
86232
86233 2005-01-28  Bruno Haible  <bruno@clisp.org>
86234
86235         * modules/javacomp: New file.
86236         * MODULES.html.sh (Java): Add javacomp.
86237
86238 2005-01-28  Bruno Haible  <bruno@clisp.org>
86239
86240         * m4/javacomp.m4: New file, from GNU gettext.
86241
86242 2005-01-28  Bruno Haible  <bruno@clisp.org>
86243
86244         * lib/javacomp.sh.in: New file, from GNU gettext.
86245         * lib/javacomp.h: New file, from GNU gettext.
86246         * lib/javacomp.c: New file, from GNU gettext.
86247
86248 2005-01-26  Simon Josefsson  <jas@extundo.com>
86249
86250         * lib/gai_strerror.c: Use GPL in header.
86251
86252 2005-01-26  Bruno Haible  <bruno@clisp.org>
86253
86254         * modules/javaexec: New file.
86255         * MODULES.html.sh (Java): Add javaexec.
86256
86257 2005-01-26  Bruno Haible  <bruno@clisp.org>
86258
86259         * m4/javaexec.m4: New file, from GNU gettext.
86260
86261 2005-01-26  Bruno Haible  <bruno@clisp.org>
86262
86263         * lib/javaexec.sh.in: New file, from GNU gettext.
86264         * lib/javaexec.h: New file, from GNU gettext.
86265         * lib/javaexec.c: New file, from GNU gettext.
86266
86267 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86268
86269         * modules/lchown (Depends-on): Remove lchown.h
86270
86271 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86272
86273         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
86274         must be defined if the header file was not found, in order
86275         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
86276
86277 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86278
86279         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
86280         initializers for struct pentry_state.
86281         (__argp_error): Check return value of __asprintf
86282         (__argp_failure): Translate error message
86283
86284         * lib/argp-parse.c: Removed braces around the expansion of N_()
86285
86286 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
86287
86288         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
86289         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
86290         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
86291         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
86292         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
86293         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
86294         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
86295         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
86296         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
86297         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
86298         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
86299         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
86300         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
86301         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
86302         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
86303         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
86304         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
86305         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
86306         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
86307         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
86308         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
86309         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
86310         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
86311         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
86312         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
86313         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
86314         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
86315         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
86316         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
86317         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
86318         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
86319         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
86320         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
86321         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
86322         xstrtol.m4, xstrtoumax.m4, yesno.m4:
86323         Use an all-permissive copyright notice, recommended by RMS.
86324
86325 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
86326
86327         * modules/chdir-long (Depends-on): Remove mempcpy.
86328
86329 2005-01-21  Jim Meyering  <jim@meyering.net>
86330
86331         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
86332         same value as for Solaris 9.
86333
86334         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
86335         component length.  This included changing the parameter to be
86336         of type `char *' rather than `char const *'.
86337         * lib/chdir-long.h (chdir_long): Update prototype.
86338
86339         * lib/openat.c (fdopendir, fstatat): New functions.
86340         * lib/openat.h: Include headers required for use of DIR and struct
86341         stat.
86342         [AT_SYMLINK_NOFOLLOW]: Define.
86343         (fdopendir, fstatat): Add prototypes.
86344
86345 2005-01-21  Bruno Haible  <bruno@clisp.org>
86346
86347         * modules/classpath: New file.
86348         * MODULES.html.sh (Java): Add classpath.
86349
86350 2005-01-21  Bruno Haible  <bruno@clisp.org>
86351
86352         * lib/classpath.h: New file, from GNU gettext.
86353         * lib/classpath.c: New file, from GNU gettext.
86354
86355 2005-01-20  Simon Josefsson  <jas@extundo.com>
86356
86357         * modules/version-etc-fsf: New file.
86358
86359 2005-01-20  Simon Josefsson  <jas@extundo.com>
86360
86361         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
86362         * lib/version-etc.c: Remove version_etc_copyright.
86363         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
86364         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
86365
86366 2005-01-20  Simon Josefsson  <jas@extundo.com>
86367
86368         * lib/base64.h (isbase64): Add.
86369
86370         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
86371         using a unsigned prototype, don't inline.
86372         (base64_decode): Use it.
86373
86374 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86375
86376         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
86377         it.
86378
86379 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86380
86381         * lib/save-cwd.c (save_cwd): Remove code to support the case
86382         where fchdir is missing or flaky.
86383
86384 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86385
86386         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
86387
86388 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
86389
86390         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
86391         AC_LIBSOURCES now does this.
86392         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
86393         with new ullong_max module.
86394
86395 2005-01-19  Bruno Haible  <bruno@clisp.org>
86396
86397         * modules/sh-quote: New file.
86398         * MODULES.html.sh (Executing programs): Add sh-quote.
86399
86400 2005-01-19  Bruno Haible  <bruno@clisp.org>
86401
86402         * lib/sh-quote.h: New file, from GNU gettext.
86403         * lib/sh-quote.c: New file, from GNU gettext.
86404
86405 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86406
86407         Merge from coreutils.
86408         * m4/ullong_max.m4: New file.
86409         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
86410         (gl_MACROS): Assume localeconv exists.
86411
86412 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86413
86414         Merge changes from coreutils, as described below in several
86415         changelogs dated today.
86416
86417         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
86418         (O_DIRECTORY): Remove; not needed here, since "." must be
86419         a directory.  All uses removed.
86420         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
86421         universal on Suns, and we also need to test for IRIX.
86422         Revamp code to use 'if' rather than '#if'.
86423         Avoid unnecessary comparison of cwd->desc to 0.
86424
86425         * lib/utimens.c (futimens): Robustify the previous patch, by checking
86426         for known valid error numbers rather than observed invalid ones.
86427
86428 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86429
86430         * modules/ullong_max: New file.
86431
86432         * modules/chdir-long, modules/openat: New files.
86433         * modules/save-cwd (Depends-on): Depend on chdir-long.
86434         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
86435
86436 2005-01-18  Jim Meyering  <jim@meyering.net>
86437
86438         Merge from coreutils.
86439         * m4/chdir-long.m4, m4/openat.m4: New files.
86440         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
86441         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
86442         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
86443         is sane and DOES follow symlinks.  Besides, testing 20 different
86444         systems found no broken chown implementations.
86445         Prompted by a change in rsync's copy of this macro.
86446         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
86447
86448         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
86449
86450         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
86451         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
86452         NULL-means-set-to-current-time semantics.
86453         Remove temporary file immediately, rather than waiting
86454         for configure's at-exit trap code to do it.
86455
86456 2005-01-18  Jim Meyering  <jim@meyering.net>
86457
86458         * lib/version-etc.c (version_etc_copyright): Update copyright date.
86459
86460         * lib/utimens.c (futimens): Account for the fact that futimes
86461         can also fail with errno == ENOSYS or errno == ENOENT.
86462         Patch from Dmitry V. Levin.
86463
86464         Change the name of the robust chdir function from chdir to chdir_long.
86465         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
86466         (restore_cwd): Use chdir_long, not chdir.
86467         * lib/chdir-long.c: Renamed from chdir.c.
86468         * lib/chdir-long.h: Renamed from chdir.h.
86469         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
86470         Hurd.
86471
86472 2005-01-18  Bruno Haible  <bruno@clisp.org>
86473
86474         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
86475         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
86476         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
86477         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
86478         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
86479         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
86480         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
86481         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
86482         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
86483         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
86484         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
86485         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
86486         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
86487         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
86488         Use an all-permissive copyright notice, recommended by RMS.
86489
86490 2005-01-18  Bob Proulx  <bob@proulx.com>
86491
86492         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
86493         simplify offsetof() macro construct to avoid compile failure with
86494         native HP-UX 11.0 ANSI C compiler.
86495
86496 2005-01-17  Bruno Haible  <bruno@clisp.org>
86497
86498         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
86499         redundant because stpncpy.m4 takes care of it.
86500
86501 2005-01-17  Bruno Haible  <bruno@clisp.org>
86502
86503         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
86504
86505 2005-01-17  Bruno Haible  <bruno@clisp.org>
86506
86507         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
86508         used.
86509
86510 2005-01-17  Bruno Haible  <bruno@clisp.org>
86511
86512         * lib/fwriteerror.h (fwriteerror): Change specification to include
86513         fclose.
86514         * lib/fwriteerror.c: Include <stdbool.h>.
86515         (fwriteerror): At the end, close the file stream. Record whether
86516         stdout was already closed.
86517
86518 2005-01-17  Bruno Haible  <bruno@clisp.org>
86519
86520         * lib/execute.c (environ): Declare if needed.
86521         * lib/pipe.c (environ): Likewise.
86522         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
86523
86524 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86525
86526         * modules/argp: Depend on vsnprintf
86527
86528 2005-01-10  Jim Meyering  <jim@meyering.net>
86529
86530         * modules/closeout (Depends-on): Add atexit.
86531
86532 2005-01-06  Bruno Haible  <bruno@clisp.org>
86533
86534         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
86535
86536 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
86537
86538         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
86539         definitions to be after all include files, to avoid collisions.
86540         Problem reported by Bob Proulx.
86541
86542 2005-01-04  Jim Meyering  <jim@meyering.net>
86543
86544         Changes imported from coreutils.
86545         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
86546         as the mkstemp template, use a temporary directory and an
86547         8.3-friendly template to avoid trouble on systems like DJGPP.
86548         Reported by Juan M. Guerrero via Stepan Kasal.
86549         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
86550         close. Remove the temporary directory right away, rather than waiting
86551         for configure's at-exit trap code to do it.
86552         Suggestion from Stepan Kasal.
86553
86554 2005-01-01  Simon Josefsson  <jas@extundo.com>
86555
86556         * gnulib-tool: Print #include directives when --import'ing.
86557
86558 2004-12-28  Simon Josefsson  <jas@extundo.com>
86559
86560         * tests/test-base64.c: Include required header files.  Remove
86561         unused variables.
86562
86563 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
86564
86565         * modules/error (Depends-on): Remove gettext.
86566
86567 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
86568
86569         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
86570         not needed.  This removes a dependency on the gettext module.
86571         [defined _LIBC]: Do not include <libintl.h>; not needed.
86572
86573 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
86574
86575         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
86576         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
86577
86578 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
86579
86580         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
86581         HAVE_DECL_STRTOLD.
86582
86583 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86584
86585         * modules/getdate (Depends-on): Remove alloca-opt.
86586
86587 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86588
86589         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
86590
86591 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
86592
86593         * lib/argp-parse.c: Include <stddef.h>.
86594         (alignof, alignto): New macros.
86595         (parser_init): Don't assume that void * is aligned sufficiently
86596         for struct option.
86597
86598         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
86599         need to extend the stack.
86600         (YYINITDEPTH): New macro, so that the initial stack isn't overly
86601         large.
86602
86603 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86604
86605         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
86606
86607 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
86608
86609         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
86610         (2004-10-24) change.  Apparently this was a false alarm.
86611
86612         * modules/getdate: Depend on alloca-opt, not alloca.
86613
86614 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
86615
86616         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
86617         Remove now-obsolete comment about AIX.
86618         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
86619         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
86620         (YYMAXDEPTH): New macro.
86621
86622 2004-12-18  Simon Josefsson  <jas@extundo.com>
86623
86624         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
86625
86626 2004-12-18  Bruno Haible  <bruno@clisp.org>
86627
86628         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
86629
86630 2004-12-18  Bruno Haible  <bruno@clisp.org>
86631
86632         * lib/fatal-signal.c (fatal_signals): Make non-const.
86633         (init_fatal_signals): New function.
86634         (uninstall_handlers, install_handlers): Ignore signals that were set to
86635         SIG_IGN.
86636         (at_fatal_signal): Call init_fatal_signals.
86637         (init_fatal_signal_set): Likewise. Ignore signals that were set to
86638         SIG_IGN.
86639         Reported by Paul Eggert.
86640
86641 2004-12-18  Bruno Haible  <bruno@clisp.org>
86642
86643         * doc/alloca.texi: New file.
86644         * doc/alloca-opt.texi: New file.
86645
86646 2004-12-17  Jim Meyering  <jim@meyering.net>
86647
86648         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
86649         Otherwise, install-sh could exit with improper exit status when
86650         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
86651
86652 2004-12-16  Simon Josefsson  <jas@extundo.com>
86653
86654         * tests/test-base64.c: Add license.
86655
86656 2004-12-15  Stepan Kasal  <address@hidden>
86657
86658         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
86659
86660 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
86661
86662         * modules/getcwd (Files): Add m4/d-ino.m4.
86663         Suggested by Mark D. Baushke.
86664
86665 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86666
86667         * lib/getdate.y (textint): New member "negative".
86668         (time_zone_hhmm): New function.
86669         Expect 14 shift-reduce conflicts, not 13.
86670         (o_colon_minutes): New rule.
86671         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
86672         (yylex): Set the "negative" member of signed numbers.
86673
86674 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86675
86676         * doc/getdate.texi (Time of day items, Time zone items):
86677         Describe new formats +00:00, UTC+00:00.
86678
86679 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
86680
86681         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
86682         spurious "-l"s.  Problem reported by Stepan Kasal.
86683
86684 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
86685
86686         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
86687         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
86688
86689 2004-12-04  Simon Josefsson  <jas@extundo.com>
86690
86691         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
86692         Vandoorselaere <yoann@prelude-ids.org>.
86693
86694 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86695
86696         Changes imported from coreutils.
86697         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
86698         exist.
86699         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
86700
86701 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86702
86703         Changes imported from coreutils.
86704         * lib/hard-locale.c: Assume <locale.h> exists.
86705         Include "strdup.h".
86706         (GLIBC_VERSION): New macro.
86707         (hard_locale): Assume setlocale exists.
86708         Rewrite to avoid #ifdef.
86709         Use strdup rather than malloc + strcpy.
86710         * lib/human.c: Assume <locale.h> exists.
86711         (human_readable): Assume localeconv exists.
86712
86713 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86714
86715         * modules/hard-locale (Depends-on): Add strdup.
86716
86717 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
86718
86719         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
86720         convert T2, not T.  (Imported from libc.)
86721
86722 2004-11-30  Simon Josefsson  <jas@extundo.com>
86723
86724         * modules/restrict (License): Change to LGPL.
86725
86726 2004-11-30  Simon Josefsson  <jas@extundo.com>
86727
86728         * m4/restrict.m4: Add copyright and copying conditions.
86729
86730 2004-11-30  Simon Josefsson  <jas@extundo.com>
86731
86732         * m4/base64.m4: New file.
86733
86734 2004-11-30  Simon Josefsson  <jas@extundo.com>
86735
86736         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
86737         base64.
86738
86739         * tests/test-base64.c: New file.
86740
86741         * modules/base64: New file.
86742
86743 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86744
86745         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
86746         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
86747
86748         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
86749
86750 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86751
86752         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
86753         (__getcwd.c): Don't restore errno; glibc doesn't.
86754         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
86755         first, falling back to our code only if its results look suspicious.
86756         Ensure that the resulting buffer is only as large as necessary.
86757
86758         * lib/readutmp.c: Include readutmp.h first.
86759         Include <errno.h>, since readutmp.h no longer does that.
86760         * lib/readutmp.h: Don't include <errno.h>,
86761         <sys/param.h>, <time.h>; not needed to establish interface.
86762         (errno): Remove decl.
86763         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
86764         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
86765         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
86766
86767 2004-11-28  Simon Josefsson  <jas@extundo.com>
86768
86769         * lib/base64.h, base64.c: New file.
86770
86771 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
86772
86773         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
86774
86775 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
86776
86777         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
86778         (Depends-on): Remove pathmax, same.  Add mempcpy.
86779         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
86780         (Makefile.am): Append getcwd.h to lib_SOURCES.
86781         (Include): Add getcwd.h.
86782         (Maintainer): Change from Jim Meyering to "all, glibc",
86783         since getdate now uses intended-for-glibc code.
86784         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
86785         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
86786
86787 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86788
86789         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
86790         HP's ANSI C compiler.
86791         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
86792         Declaring int functions causes warnings on some modern systems and
86793         shouldn't be needed to compile on ancient ones.
86794         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
86795         defined.
86796
86797         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
86798         with the following changes.
86799         (__set_errno): Parenthesize properly.
86800         Include <stdbool.h>.
86801         (MIN, MAX, MATCHING_INO): New macros.
86802         (__getcwd): Define with prototype, not K&R form.
86803         Use heuristics to allocate default buffer on stack if possible.
86804         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
86805         behavior, and to avoid the PATH_MAX limit when computing
86806         ../../../../...
86807         Use MATCHING_INO to compare inode number to file.
86808         Check for arithmetic overflow in size calculations.
86809         Fix bug in reallocation of dot array that caused getcwd to fail
86810         on directories nested deeper than 75.
86811         Be more careful about saving errno on error.
86812         Do not use realloc; use only free+malloc, as this is a bit
86813         more flexible and avoids a needless copy operation.
86814         Do not inspect st_dev and st_ino for symbolic links; POSIX
86815         doesn't specify the latter.
86816         Check for closedir errors.
86817         Avoid needless casts.
86818         Use "#ifdef weak_alias" around weak_alias, to be like other
86819         glibc code.
86820         The following changes to getcwd.c have effect only when used in
86821         gnulib; they have no effect inside glibc proper.
86822         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
86823         as alloca isn't used.
86824         (alloca, __alloca): Likewise.
86825         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
86826         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86827         unconditionally, as gnulib assumes C89 or better.
86828         Do not include <sys/param.h>.
86829         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
86830         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
86831         better.
86832         (NULL) [!defined NULL]: Remove; we assume C89 or better.
86833         Include <dirent.h> in a way that is compatible with modern Autoconf.
86834         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
86835         New macros, if not already defined.
86836         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
86837         Use "_LIBC", not "defined _LIBC", for consistency.
86838         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
86839         a mempcpy module.
86840         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
86841         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
86842         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
86843         credit only to Jim Meyering and adjust the copyright dates.
86844         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
86845         <stdlib.h>, <unistd.h>, "pathmax.h".
86846         Instead, include "xgetcwd.h" (first) and "getcwd.h".
86847         (INITIAL_BUFFER_SIZE): Remove.
86848         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
86849
86850 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86851
86852         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
86853         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
86854         Use the _ONCE methods, for efficiency.
86855         Check for fcntl.h.  In test program, include <errno.h>
86856         and <fcntl.h> if available.  Remove old K&R cruft from
86857         test program.  Check for common errors in GNU/Linux,
86858         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
86859         don't do AC_LIBOBJ, as that's getcwd.m4's job.
86860         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
86861         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
86862         name accordingly.
86863         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
86864         accommodate new getcwd.c.
86865         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
86866         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
86867         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
86868         that's all we need now.
86869
86870 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86871
86872         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
86873         argp-parse.c depends on getopt internals, that means we should
86874         always use our getopt, to be on the safe side.
86875         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
86876         order not to spoil the result of an eventual previous invocation
86877         of gl_GETOPT_SUBSTITUTE.
86878
86879 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86880
86881         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
86882         redefinition warnings. To avoid them, include the defines
86883         in `#if !defined __need_getopt ... #endif'. The only place
86884         where __getopt_argv_const is used is in definitions
86885         of getopt_long and getopt_long_only below, which are as well
86886         protected by `#ifndef __need_getopt'.
86887         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
86888         __need_getopt after including <stdio.h> and <unistd.h> These
86889         headers might have defined it.
86890
86891 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86892
86893         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
86894
86895 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86896
86897         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
86898         (futimens): New function, which uses futimes if available.
86899         (futimens, utimens): Support timespec==NULL, with same semantics
86900         as utime and utimens.
86901         * lib/utimens.h (futimens): New decl.
86902
86903 2004-11-23  Jim Meyering  <jim@meyering.net>
86904
86905         * lib/getopt_.h: Remove trailing blanks.
86906
86907 2004-11-23  Jim Meyering  <jim@meyering.net>
86908
86909         * lib/__fpending.c: Add comment.
86910
86911 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
86912
86913         * modules/canonicalize (Depends-on): Add xreadlink.
86914         Problem reported by James Youngman.
86915
86916 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
86917
86918         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
86919         New macros.
86920         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
86921         optopt): Use them instead of invoking ## directly; otherwise, the
86922         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
86923
86924 2004-11-19  Bruno Haible  <bruno@clisp.org>
86925
86926         * lib/strtok_r.c: Move comments from here...
86927         * lib/strtok_r.h: ... to here.
86928
86929 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86930
86931         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
86932         implementations that mishandle size_t overflow.
86933
86934 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86935
86936         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
86937         might fail.  Problem reported by Yoann Vandoorselaere.
86938         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
86939         implementations that mishandle size_t overflow.
86940
86941 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86942
86943         * modules/canon-host (Depends-on): Add strdup.
86944
86945 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86946
86947         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
86948
86949 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86950
86951         * lib/canon-host.c: Include "strdup.h".
86952         (canon_host): Use getaddrinfo if available, so that IPv6 works.
86953         Use strdup instead of malloc/strcpy to duplicate strings.
86954
86955         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
86956         (human_space_before_unit): New constant.
86957         * lib/human.c (human_readable): Support it.
86958
86959         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
86960         (xgetcwd): Set errno correctly when failing.
86961         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
86962         the failure is actually due to a PATH_MAX problem.
86963
86964         Further getopt changes to make it more likely that glibc will
86965         buy the changes back.
86966         * lib/getopt.c (POSIXLY_CORRECT): New constant.
86967         (getopt): Use it, so to preserve glibc semantic
86968         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
86969         when compiling for libc.
86970         * lib/getopt_.h (__getopt_argv_const): Bring it back.
86971         (getopt_long, getopt_long_only): Use it.
86972
86973         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86974         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
86975         (getopt): Argv is now char * const *, as per standard.
86976         (_getopt_internal_r, _getopt_internal): Argv is now char **,
86977         not char *__getopt_argv_const *.
86978         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86979         _getopt_long_only_r): Likewise.
86980         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
86981         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86982         _getopt_long_r, _getopt_long_only_r): Likewise.
86983         * lib/getopt_.h (__getopt_argv_const): Remove.
86984         (getopt): Argv is now char * const *, as per standard.
86985
86986         * lib/getdate.y (tORDINAL): New token.
86987         (day, relunit): Allow it for relative times.
86988         (relative_time_table): Use tORDINAL for ordinals.
86989
86990 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86991
86992         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
86993         Document that "second" isn't allowed as an ordinal number.
86994
86995 2004-11-16  Jim Meyering  <jim@meyering.net>
86996
86997         * modules/closeout (Depends-on): Add fpending.
86998
86999 2004-11-15  Jim Meyering  <jim@meyering.net>
87000
87001         * lib/closeout.c: Include "__fpending.h" once again.
87002         Include <stdbool.h>.
87003         (close_stdout): Don't fail just because stdout was closed initially,
87004         since some programs don't write to stdout in the normal course of
87005         operation (other than --version and --help), and we don't want this
87006         function to make e.g. `touch file >&-' fail.
87007         But do fail if it was closed and someone has tried to write to it.
87008         E.g., `printf foo >&-' must fail.
87009
87010 2004-11-13  Jim Meyering  <jim@meyering.net>
87011
87012         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
87013
87014 2004-11-12  Simon Josefsson  <jas@extundo.com>
87015
87016         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
87017         small doc fix is still pending.
87018
87019 2004-11-11  Simon Josefsson  <jas@extundo.com>
87020
87021         * modules/strtok_r: New file.
87022
87023         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87024         strtok_r.
87025
87026 2004-11-11  Simon Josefsson  <jas@extundo.com>
87027
87028         * m4/strtok_r.m4: New file.
87029
87030         * m4/getopt.m4: Replace opterr.
87031
87032 2004-11-11  Simon Josefsson  <jas@extundo.com>
87033
87034         * lib/strtok_r.h, strtok_r.c: New file.
87035
87036 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
87037
87038         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
87039         of replacing opterr, getopt, etc.  This should handle the
87040         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
87041
87042 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
87043
87044         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
87045         we can stop lying to compilers about the constness of argv when we
87046         are compiled outside glibc.
87047         (getopt, getopt_long, getopt_long_only): Use it.
87048         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
87049         _getopt_internal, getopt): Likewise.
87050         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
87051         _getopt_long_only_r): Likewise.
87052         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
87053         _getopt_long_r, _getopt_long_only_r): Likewise.
87054
87055         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
87056         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
87057         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
87058         the other external symbols.
87059         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
87060         declaration, since the above renaming now works around collisions.
87061
87062 2004-11-11  Jim Meyering  <jim@meyering.net>
87063
87064         * lib/linebreak.c: Remove trailing blanks.
87065         * lib/alloca_.h: Likewise.
87066         * lib/acosl.c: Likewise.
87067         * lib/euidaccess.c: Likewise.
87068         * lib/allocsa.h: Likewise.
87069
87070 2004-11-10  Simon Josefsson  <jas@extundo.com>
87071
87072         * m4/getaddrinfo.m4: New file.
87073
87074 2004-11-10  Simon Josefsson  <jas@extundo.com>
87075
87076         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
87077
87078 2004-11-10  Simon Josefsson  <jas@extundo.com>
87079
87080         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87081         getaddrinfo.
87082
87083         * modules/getaddrinfo: New file.
87084
87085 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
87086
87087         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
87088
87089 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
87090
87091         * lib/mktime.c (SHR): New macro, which is a portable
87092         substitute for >> that should work even on Crays.
87093         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
87094         Problem reported by Mark D. Baushke in
87095         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
87096         * lib/getdate.y (SHR): Likewise.
87097         (tm_diff): Use it.
87098         * lib/strftime.c (SHR): Likewise.
87099         (tm_diff): Use it.
87100         * lib/quotearg.c (struct quoting_options): Use unsigned int for
87101         quote_these_too, so that right shifts are well defined.  All uses
87102         changed.
87103
87104 2004-11-10  Jim Meyering  <jim@meyering.net>
87105
87106         Ensure that no close failure goes unreported.
87107         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
87108         return early when it seems there's nothing to flush.
87109         Don't include __fpending.h.
87110
87111 2004-11-10  Jim Meyering  <jim@meyering.net>
87112
87113         * modules/closeout (Depends-on): Remove fpending.
87114
87115 2004-11-10  Jim Meyering  <jim@meyering.net>
87116
87117         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
87118
87119 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
87120
87121         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
87122         gl_FUNC_STRFTIME.
87123         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
87124         and AC_REQUIRE when possible, to avoid duplicate checks.
87125         Check for <wchar.h>.
87126
87127 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
87128
87129         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
87130
87131 2004-11-09  Bruno Haible  <bruno@clisp.org>
87132
87133         * m4/sockpfaf.m4: New file.
87134
87135 2004-11-05  Bruno Haible  <bruno@clisp.org>
87136
87137         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
87138         Reported by Mark D. Baushke <mdb@cvshome.org>.
87139
87140 2004-11-04  Bruno Haible  <bruno@clisp.org>
87141
87142         2004-09-11  Bruno Haible  <bruno@clisp.org>
87143                 * allocsa.valgrind: New file.
87144         2004-02-06  Bruno Haible  <bruno@clisp.org>
87145                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
87146                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
87147                 Reported by Christopher Seip <chris.seip@hp.com>.
87148
87149 2004-11-04  Bruno Haible  <bruno@clisp.org>
87150
87151         * modules/allocsa (Files): Add lib/allocsa.valgrind.
87152         (Makefile.am): Distribute it.
87153
87154 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
87155
87156         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
87157         with errno == ERANGE if the buffer is too small.
87158         Problem reported by Mark D. Baushke.
87159
87160 2004-11-03  Albert Chin  <china@thewrittenword.com>
87161             Paul Eggert  <eggert@cs.ucla.edu>
87162
87163         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
87164         equivalent, substitute $ac_type for equivalent type rather than
87165         blindly using uint32_t *always* which won't work if uint32_t is not
87166         available.  Define _UINT32_T to work around typedef of uint32_t if
87167         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
87168         2.5.1.
87169
87170 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87171
87172         * m4/jm-macros.m4: Sync from coreutils.
87173         (gl_MACROS): Check for mbrlen, for pathchk.
87174         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
87175
87176 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87177
87178         * lib/xreadlink.c (MAXSIZE): New macro.
87179         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
87180         size does not exceed MAXSIZE.  Avoid cast.
87181         As suggested by Mark D. Baushke in
87182         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
87183         if readlink fails with buffer size just under MAXSIZE, try again
87184         with MAXSIZE.
87185
87186 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87187
87188         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
87189
87190 2004-11-02  Derek R. Price  <derek@ximbiot.com>
87191         and  Paul Eggert  <eggert@cs.ucla.edu>
87192
87193         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
87194         (get_date): Overparenthesize to avoid GCC warning.
87195
87196 2004-11-02  Bruno Haible  <bruno@clisp.org>
87197
87198         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
87199         returns void.
87200
87201 2004-11-02  Bruno Haible  <bruno@clisp.org>
87202
87203         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
87204         function returns void.
87205
87206 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
87207
87208         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
87209         fflush_unlocked, flockfile, funlockfile, funlockfile,
87210         fputs_unlocked, putc_unlocked.
87211
87212 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
87213
87214         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
87215         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
87216         already declared.
87217
87218 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87219
87220         * modules/getdate (Files): Add doc/getdate.texi.
87221         (Depends-on): Add setenv, xalloc.
87222
87223 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87224
87225         * lib/getdate.y: Add support for TZ="foo" within a date string.
87226         Fix some bugs near time_t boundaries.  Reject dates with
87227         out-of-range components, e.g., "Sept 31".
87228         Include <stdlib.h>, "setenv.h", "xalloc.h".
87229         (ISDIGIT_LOCALE): Remove; unused.
87230         Note that the TZ and time functions used here are not reentrant.
87231         (mktime_ok, get_tz): New functions.
87232         (TZBUFSIZE): New constant.
87233         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
87234         This requires that we sometimes generate our own TZ="XXX..." setting.
87235
87236 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87237
87238         * doc/getdate.texi: New file, from coreutils with modifications for
87239         the new TZ parsing.
87240
87241 2004-10-27  Derek R. Price  <derek@ximbiot.com>
87242
87243         * lib/mktime.c (not_equal_tm): Remove redundant check.
87244
87245 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
87246
87247         * modules/regex (lib_SOURCES): Add regex.c.
87248         Reported by James Youngman in
87249         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
87250
87251 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
87252
87253         * lib/getdate.y: Use Bison 1.875 features, and some minor
87254         code cleanups.  This change does not affect semantics.
87255         Don't include <stdlib.h>; no longer needed.
87256         Don't include unlocked-io.h; only the "#if TEST" code uses
87257         stdio, and performance isn't crucial there.
87258         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
87259         Bison 1.875 features as described below.
87260         All uses of "PC." replaced by "pc->".
87261         (YYSTYPE): Add a forward declaration.
87262         (yylex, yyerror): Use full prototypes in forward decls.
87263         Use "%pure-parser" rather than obsolescent "%pure_parser".
87264         Use %parse-param and %lex-param instead of obsolescent
87265         YYPARSE_PARAM and YYLEX_PARAM.
87266         (meridian_table, month_and_day_table, time_units_table,
87267         relative_time_table, time_zone_table, military_table,
87268         lookup_zone, lookup_word, get_date):
87269         Use NULL instead of 0 where appropriate.
87270         (to_hour): Avoid abort (), to avoid a dependency on
87271         stdlib.h.
87272         (yyerror, yylex): Now accepts parser_control * arg.
87273         (main) [TEST]: Use '\0' rather than 0 for char.
87274
87275 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
87276
87277         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
87278
87279 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
87280
87281         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
87282         It's now the caller's responsibility to handle the case where
87283         !HAVE_GETPAGESIZE && !defined getpagesize.
87284
87285         * lib/mktime.c (leapyear): Arg is long int, not int.
87286
87287 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
87288
87289         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
87290
87291 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
87292
87293         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
87294         missing.  Problem reported by James Youngman.
87295
87296 2004-10-16  Simon Josefsson  <jas@extundo.com>
87297
87298         * gnulib-tool: Fix comments.  Fix parse problem.
87299         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
87300
87301 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
87302
87303         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
87304         implementation of getopt_long.  Problem reported by Alexander Taler in:
87305         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
87306
87307 2004-10-15  Bruno Haible  <bruno@clisp.org>
87308
87309         * gnulib-tool: Untabify. Initialize supplied_libname.
87310         (func_usage): More homogenous output.
87311         (func_modules_transitive_closure, func_modules_to_filelist,
87312         func_emit_lib_Makefile_am): New functions.
87313         (func_import): New function, extracted from big case statement. Use
87314         func_get_license, func_modules_transitive_closure,
87315         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
87316         opt_lgpl. Don't use test -a, as it's not portable.
87317         (func_create_testdir): Use func_modules_transitive_closure,
87318         func_modules_to_filelist, func_emit_lib_Makefile_am.
87319
87320 2004-10-15  Bruno Haible  <bruno@clisp.org>
87321
87322         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
87323
87324 2004-10-15  Bruno Haible  <bruno@clisp.org>
87325
87326         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
87327         the portions belonging to each module.
87328         Suggested by Derek Robert Price <derek@ximbiot.com>.
87329
87330 2004-10-12  Simon Josefsson  <jas@extundo.com>
87331
87332         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
87333         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
87334         to real functions.
87335
87336 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87337
87338         * modules/vsnprintf: New file.
87339
87340 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87341
87342         * m4/vsnprintf.m4: New file.
87343
87344 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87345
87346         * lib/vsnprintf.h: New file.
87347         * lib/vsnprintf.c: New file.
87348
87349 2004-10-11  Bruno Haible  <bruno@clisp.org>
87350
87351         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
87352         vsnprintf.
87353
87354 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
87355
87356         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
87357
87358 2004-10-07  Bruno Haible  <bruno@clisp.org>
87359
87360         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
87361         fits into the provided buffer.
87362
87363 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
87364
87365         * lib/diacrit.c, diacrit.h: Add GPL notice.
87366
87367         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
87368         notice.
87369         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
87370         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
87371         This avoids a potential constant-folding bug.
87372
87373 2004-10-05  Bruno Haible  <bruno@clisp.org>
87374
87375         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
87376         for the declaration of strsep.
87377
87378 2004-10-05  Bruno Haible  <bruno@clisp.org>
87379
87380         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
87381
87382 2004-10-04  Simon Josefsson  <jas@extundo.com>
87383
87384         * modules/memmem: New file.
87385         * tests/test-memmem.c: New file.
87386         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
87387
87388 2004-10-04  Simon Josefsson  <jas@extundo.com>
87389
87390         * m4/memmem.m4: New file.
87391
87392 2004-10-04  Simon Josefsson  <jas@extundo.com>
87393
87394         * lib/memmem.h: New file.
87395         * lib/memmem.c: New file, taken from glibc.
87396
87397 2004-10-04  Simon Josefsson  <jas@extundo.com>
87398
87399         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
87400         '#ifdef USE_UNLOCKED_IO'.
87401
87402 2004-10-04  Simon Josefsson  <jas@extundo.com>
87403
87404         * config/srclist.txt: Add memmem from glibc.
87405
87406 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87407
87408         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
87409
87410         * modules/argmatch, modules/argp, modules/closeout, modules/error,
87411         modules/exclude, modules/getdate, modules/getline,
87412         modules/getndelim2, modules/getpass, modules/getpass-gnu,
87413         modules/getusershell, modules/linebuffer, modules/md5,
87414         modules/mountlist, modules/posixtm, modules/readtokens,
87415         modules/readutmp, modules/regex, modules/sha1,
87416         modules/version-etc, modules/yesno:
87417         Remove dependency on unlocked-io.
87418
87419 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87420
87421         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
87422
87423         * m4/unlocked-io.m4: Add copyright notice.
87424         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
87425
87426 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87427
87428         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
87429         * lib/xmalloc.c (xmemdup): Likewise.
87430         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
87431         XFREE): Remove these long-obsolescent macros.
87432         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
87433         * lib/xstrdup.c: Remove.
87434
87435         * lib/regex.c (re_comp): Cast gettext return value to char *,
87436         Problem reported by Martin Neitzel via Mark D. Baushke.
87437
87438 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87439
87440         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
87441         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
87442         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
87443         regex.c, sha1.c, version-etc.c, yesno.c:
87444         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
87445         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
87446         the includer's responsibility.
87447
87448         Sync from coreutils.
87449
87450         * lib/modechange.c (mode_compile): Don't decrement a pointer that
87451         points to the start of a string, as the C Standard says the
87452         resulting behavior is undefined.
87453
87454         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
87455         simple -> simple_backups, numbered_existing ->
87456         numbered_existing_backups, numbered -> numbered_backups
87457         to avoid shadowing problems.  All uses changed.
87458         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
87459         * lib/backupfile.c (check_extension, numbered_backup):
87460         Rename locals to avoid shadowing 'basename'.
87461         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
87462         once.
87463
87464         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
87465         * lib/.cvsignore: Add getopt.h.
87466
87467 2004-10-04  Bruno Haible  <bruno@clisp.org>
87468
87469         * modules/README: New file.
87470         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
87471         not a module.
87472
87473 2004-10-02  Jim Meyering  <jim@meyering.net>
87474
87475         * lib/dirfd.h, getpagesize.h: Add copyright notice.
87476
87477 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87478
87479         * modules/strsep: New file.
87480
87481 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87482
87483         * m4/strsep.m4: New file.
87484
87485 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87486
87487         * lib/strsep.h: New file.
87488         * lib/strsep.c: New file.
87489
87490 2004-10-01  Simon Josefsson  <jas@extundo.com>
87491
87492         * lib/snprintf.c (snprintf): Handle size==0.
87493
87494 2004-10-01  Simon Josefsson  <jas@extundo.com>
87495             Bruno Haible  <bruno@clisp.org>
87496
87497         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
87498         (snprintf): Declare 'args'.
87499
87500 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
87501
87502         * lib/snprintf.c: Remove comments as to why each header is needed.
87503
87504 2004-10-01  Bruno Haible  <bruno@clisp.org>
87505
87506         * MODULES.html.sh: Add strsep.
87507
87508 2004-09-30  Simon Josefsson  <jas@extundo.com>
87509
87510         * modules/snprintf: New file.
87511
87512 2004-09-30  Simon Josefsson  <jas@extundo.com>
87513
87514         * m4/snprintf.m4: New file.
87515
87516 2004-09-30  Simon Josefsson  <jas@extundo.com>
87517
87518         * lib/snprintf.h, lib/snprintf.c: New files.
87519
87520 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87521
87522         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
87523         (hol_entry_help): Never translate an empty string.
87524         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
87525         * lib/argp.h (OPTION_NO_TRANS): New option.
87526
87527 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
87528
87529         * modules/argp (Maintainer): Replace Simon Josefsson
87530         by Sergey Poznyakoff.
87531
87532 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
87533
87534         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
87535         changes merged back into glibc.
87536
87537 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
87538
87539         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
87540
87541 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
87542
87543         * lib/xvasprintf.c: Include xalloc.h.
87544         (xvasprintf): Use xalloc_die, not xmalloc_die.
87545
87546 2004-09-29  Bruno Haible  <bruno@clisp.org>
87547
87548         * modules/alloca-opt: New file, derived from modules/alloca.
87549         * modules/allocsa: Depend on alloca-opt instead of alloca.
87550         * modules/setenv: Likewise.
87551         * modules/vasnprintf: Likewise.
87552         * MODULES.html.sh: Add alloca-opt.
87553
87554 2004-09-28  Simon Josefsson  <jas@extundo.com>
87555
87556         * gnulib-tool: New parameter --lgpl, to asseert that modules are
87557         LGPL, and to replace license template from GPL to LGPL.
87558
87559 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
87560
87561         * modules/dummy: Change license to LGPL.
87562
87563 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
87564
87565         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
87566
87567 2004-09-24  Simon Josefsson  <jas@extundo.com>
87568
87569         * modules/minmax (License): Change from GPL to LGPL.
87570
87571 2004-09-23  Simon Josefsson  <jas@extundo.com>
87572
87573         * gnulib-tool (--import): Typo.
87574
87575 2004-09-23  Simon Josefsson  <jas@extundo.com>
87576
87577         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
87578
87579 2004-09-22  Bruno Haible  <bruno@clisp.org>
87580
87581         * modules/*: Add 'License' field.
87582         * gnulib-tool: Accept --extract-license option.
87583         (func_get_license): New function.
87584
87585 2004-09-21  Bruno Haible  <bruno@clisp.org>
87586
87587         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
87588         Reported by Simon Josefsson.
87589
87590 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
87591
87592         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
87593         gl_AC_TYPE_LONG_LONG.
87594
87595 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
87596
87597         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
87598
87599 2004-09-18  Simon Josefsson  <jas@extundo.com>
87600         and  Paul Eggert  <eggert@cs.ucla.edu>
87601
87602         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
87603         calls with autoreconf.  Define GL_LIB.
87604
87605 2004-09-14  Karl Berry  <karl@gnu.org>
87606
87607         * config/srclist.txt: unsync setenv.c, sigh.
87608
87609 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
87610
87611         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
87612         Problem reported by Bruno Haible in:
87613         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
87614
87615 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
87616
87617         * config/srclist.txt: Comment out argp-pvh.c.
87618
87619 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
87620
87621         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
87622         in case some system header has #define'd it.  Problem reported by
87623         Soeren D. Schulze in
87624         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
87625
87626 2004-09-09  Karl Berry  <karl@gnu.org>
87627
87628         * regex.[ch]: delete from the root.  These were supposed to be
87629                 synced with emacs cvs, but this has not happened for about
87630                 a year, and anyway nothing else uses emacs regex.[ch].
87631                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
87632                 lib/regex[.ch] is untouched.
87633
87634 2004-09-09  Bruno Haible  <bruno@clisp.org>
87635
87636         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
87637
87638 2004-09-09  Bruno Haible  <bruno@clisp.org>
87639
87640         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
87641         modifications.
87642         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
87643
87644 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87645
87646         * modules/xvasprintf: New file.
87647         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
87648
87649 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87650
87651         * lib/xvasprintf.h: New file.
87652         * lib/xvasprintf.c: New file.
87653         * lib/xasprintf.c: New file.
87654
87655 2004-09-08  Bruno Haible  <bruno@clisp.org>
87656
87657         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
87658
87659 2004-09-08  Bruno Haible  <bruno@clisp.org>
87660
87661         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
87662         length is > INT_MAX.
87663         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
87664         more.
87665
87666 2004-09-08  Bruno Haible  <bruno@clisp.org>
87667
87668         * lib/stdint_.h: New file, taken from GNU clisp.
87669
87670 2004-09-08  Bruno Haible  <bruno@clisp.org>
87671             Oskar Liljeblad  <oskar@osk.mine.nu>
87672
87673         * modules/stdint: New file.
87674         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
87675
87676 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87677
87678         Import from coreutils.
87679         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
87680         strings on unbounded length.  alloca's performance benefits aren't
87681         that important here.
87682         (V_STRDUP): Remove.
87683         (parse_with_separator): New function, with most of the internals
87684         of the old parse_user_spec.  Allow user to omit both user and group,
87685         for compatibility with FreeBSD.
87686         Clone only the user name, not the entire spec.
87687         Do not set *uid, *gid unless entirely successful.
87688         Avoid memory leak in some failing cases.
87689         Fix regression for USER.GROUP reported by Dmitry V. Levin in
87690         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
87691         (parse_user_spec): Rewrite to use parse_with_separator.
87692
87693 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87694
87695         * modules/userspec: Don't depend on alloca.
87696
87697 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87698
87699         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
87700
87701 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
87702
87703         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
87704         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
87705         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
87706
87707 2004-08-16  Simon Josefsson  <jas@extundo.com>
87708
87709         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
87710         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
87711         Add --dry-run for --import.
87712         Let user provided command line parameters override configure.ac
87713         settings.
87714
87715 2004-08-12  Simon Josefsson  <jas@extundo.com>
87716
87717         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
87718         as discussed with Paul Eggert in threads rooted at
87719         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
87720         and
87721         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
87722         Before, the test was empty, and relied on ELIDE_CODE in source
87723         code.)
87724         (gl_PREREQ_GETOPT): New macro.
87725         (gl_GETOPT): Use them.
87726
87727 2004-08-12  Simon Josefsson  <jas@extundo.com>
87728
87729         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
87730         * lib/getopt_.h: Renamed from getopt.h.
87731
87732 2004-08-12  Simon Josefsson  <jas@extundo.com>
87733
87734         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
87735         Change default library name from libfoo to libgnu.
87736         Now, if you have a configure.ac that says:
87737                 gl_SOURCE_BASE(gl)
87738                 gl_M4_BASE(gl/m4)
87739                 gl_MODULES(error getopt etcetera)
87740                 gl_INIT
87741         you can import all you need by running:
87742                 ../gnulib/gnulib-tool --import
87743
87744         * modules/getopt (Files): Rename getopt.h to getopt_.h.
87745         (Makefile.am): Rewrite, use logic from argz.
87746         (Include): Use <getopt.h> instead of "getopt.h".
87747
87748 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87749
87750         * modules/argp (Files): Add m4/unlocked-io.m4.
87751         (Depends-on): Add extensions.
87752
87753 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87754
87755         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
87756         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
87757         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
87758         Check for program_invocation_name, program_invocation_short_name,
87759         flockfile, funlockfile, features.h, _getopt_long_only_r.
87760
87761 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87762
87763         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
87764         its complicated substitute.
87765         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
87766         and program_invocation_name.
87767         (__argp_basename) [!_LIBC]: Remove; the only use was
87768         replaced by its body.
87769         (__argp_short_program_name): Change condition from
87770         !defined __argp_short_program_name to
87771         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
87772         to match argp-namefrob.h.
87773         (__argp_failure): Don't assume strerror_r returns char *.
87774         * lib/argp-parse.c (N_): Define unconditionally.
87775         (argp_default_options): Fill out initializers with 0 to avoid
87776         gcc warnings.
87777
87778 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87779
87780         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
87781         getopt1.c.
87782
87783 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87784
87785         Merge from coreutils.
87786
87787         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
87788
87789         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
87790         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
87791
87792 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87793
87794         Merge from coreutils.
87795
87796         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
87797         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
87798         for Reliant Unix 5.43.
87799
87800         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
87801         (union fooround): Use uintmax_t, not long int.
87802         The rest is a merge from libc:
87803         [defined _LIBC]: Include <shlib-compat.h>.
87804         (_obstack) [defined _LIBC]: Remove after 2.3.4.
87805
87806         * lib/settime.c (settime): Recode to avoid warning with
87807         Sun Forte C 6U2.
87808
87809         * lib/strverscmp.c: Convert to UTF-8.
87810
87811 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87812
87813         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
87814         m4/uintmax_t.m4.
87815
87816 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87817
87818         * modules/xalloc-die: New file.
87819         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
87820
87821         * modules/md5 (Files): Add m4/uint32_t.m4.
87822         * modules/sha1: Renamed from modules/sha.
87823         (Files):
87824         Rename lib/sha.h to lib/sha1.h.
87825         Rename lib/sha.c to lib/sha1.c.
87826         Rename m4/sha.m4 to m4/sha1.m4.
87827         (lib_SOURCES): Likewise.
87828         (configure.ac): Rename gl_SHA to gl_SHA1.
87829         (Include): sha.h -> sha1.h.
87830
87831 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87832
87833         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
87834         * m4/sha1.m4: Renamed from sha.m4.
87835         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
87836
87837 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87838
87839         * lib/obstack.h (obstack_empty_p):
87840         Don't assume that chunk->contents is suitably aligned.
87841         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
87842         Likewise. Problem reported by Benno in
87843         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
87844
87845         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
87846         readable.  This could be improved further but it'd take some work.
87847
87848 2004-08-08  Simon Josefsson  <jas@extundo.com>
87849
87850         * modules/xgethostname (Depends-on): Remove exit and error (not
87851         used).
87852
87853         * modules/getpass-gnu: Add getpass.h.
87854         (Depends-on): Add stdbool.
87855         * modules/getpass: Add getpass.h.
87856
87857 2004-08-08  Simon Josefsson  <jas@extundo.com>
87858
87859         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
87860         Check getpass declaration.
87861
87862 2004-08-08  Simon Josefsson  <jas@extundo.com>
87863
87864         * lib/xgethostname.c: Don't include error.h (not used).
87865
87866         * lib/getpass.h: Add.
87867         * lib/getpass.c: Include getpass.h first.
87868
87869 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
87870
87871         * lib/xalloc-die.c: New file.
87872         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
87873         All uses removed.
87874         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
87875         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
87876         xalloc-die.c.
87877         (_, N_, xalloc_die): Move to xalloc-die.c.
87878         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
87879         so that we needn't mess with xalloc_msg_memory_exhausted.
87880
87881         * lib/sha1.h: Renamed from sha.h.
87882         (SHA1_H): Renamed from _SHA_H.
87883         (sha1_ctx): Renamed from sha_ctx.
87884         (sha1_init_ctx): Renamed from sha_init_ctx.
87885         (sha1_process_block): Renamed from sha_process_block.
87886         (sha1_process_bytes): Renamed from sha_process_bytes.
87887         (sha1_finish_ctx): Renamed from sha_finish_ctx.
87888         (sha1_read_ctx): Renamed from sha_read_ctx.
87889         (sha1_stream): Renamed from sha_stream.
87890         (sha1_buffer): Renamed from sha_buffer.
87891         * lib/sha1.c: Likewise; renamed from sha.c.
87892         Do not include <sys/types.h>.
87893         Include <stddef.h> rather than <stdlib.h>.
87894
87895 2004-08-08  Bruno Haible  <bruno@clisp.org>
87896
87897         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
87898         FILESYSTEM_PREFIX_LEN.
87899         * lib/progreloc.c: Likewise.
87900         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
87901
87902 2004-08-06  Simon Josefsson  <jas@extundo.com>
87903
87904         * modules/progname (Depends-on): Don't depend on stdbool.
87905
87906 2004-08-06  Simon Josefsson  <jas@extundo.com>
87907
87908         * modules/getsubopt: New file.
87909         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87910         getsubopt.
87911
87912 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87913
87914         More merge from coreutils.
87915
87916         * m4/utimens.m4, m4/utimecmp.m4: New files.
87917         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
87918         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
87919         prereq.m4, sha.m4: Import changes from coreutils.
87920
87921 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87922
87923         More merge from coreutils.
87924         * modules/raise, modules/readtokens0, modules/utimens:
87925         * modules/utimecmp, module/xnanosleep: New files.
87926         * modules/strftime: Add lib/strftime.h.
87927         Change include from <time.h> to "strftime.h".
87928         * modules/yesno: Add lib/yesno.h.
87929         * modules/backupfile: Remove lib/addext.c.
87930         * modules/euidaccess: Add stat-macros.h.
87931         * modules/canonicalize, modules/euidaccess,
87932         modules/filemode, modules/lchown, modules/makepath,
87933         modules/rmdir, modules/stat: Likewise.
87934
87935 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87936
87937         Merge from tar.
87938         * lib/argp-help.c (make_hol, hol_append): Don't assume that
87939         SIZE_MAX is a valid preprocessor constant.
87940         (__argp_basename): Change from "#ifndef _LIBC"
87941         to "#ifndef __argp_short_program_name", so that
87942         we don't compile these functions for tar.
87943
87944         More merges from coreutils.
87945         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
87946         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
87947         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
87948         * lib/addext.c: Remove; no longer needed.
87949         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
87950         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
87951         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
87952         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
87953         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
87954         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
87955         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
87956         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
87957         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
87958         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87959         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
87960         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
87961         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
87962         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
87963         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
87964         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
87965         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
87966         Import changes from coreutils.
87967
87968 2004-08-05  Simon Josefsson  <jas@extundo.com>
87969
87970         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
87971
87972 2004-08-05  Simon Josefsson  <jas@extundo.com>
87973
87974         * m4/getsubopt.m4: New file.
87975
87976 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87977
87978         Merge from coreutils.
87979
87980         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
87981         * m4/getcwd-path-max.m4: New files.
87982
87983         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
87984         FILESYSTEM_PREFIX_LEN ->
87985         FILE_SYSTEM_PREFIX_LEN.
87986         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
87987         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
87988         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
87989         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
87990
87991         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
87992         prerequisite modules now handle the DOS stuff.
87993         Don't check for unistd.h.
87994
87995 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87996
87997         Merge from coreutils.
87998
87999         * lib/.gdb-history: Remove; this doesn't belong here.
88000
88001         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
88002         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
88003         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
88004         * lib/getcwd.c: New files.
88005
88006         * lib/dirname.h: Include <stdbool.h>.
88007         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
88008         for consistency with POSIX terminology.  All uses changed.
88009         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
88010         (strip_trailing_slashes): Use bool for booleans.
88011         * lib/stripslash.c (strip_trailing_slashes): Likewise.
88012
88013         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
88014         sometimes returns a positive errno value even when it succeeds.
88015         (print_errno_message) [!LIBC]: Fall back on strerror if
88016         __strerror_r fails.
88017
88018         * lib/path-concat.c (mempcpy): Don't define if a system header defines
88019         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
88020         (longest_relative_suffix): New function.
88021         (path_concat): Use it.  Assume first argument is not NULL.
88022         Port to DOS.  Omit redundant separators.
88023         Report an error instead of returning NULL.
88024         Use mempcpy instead of memcpy.
88025         (xpath_concat): Remove: not declared or used.
88026
88027         * lib/same.h: Include <stdbool.h>
88028         (same_name): Return bool, not int.
88029         * lib/same.c (same_name): Likewise.
88030         (errno): Don't declare; we assume C89 or better now.
88031
88032         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
88033         if not already defined.
88034
88035         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
88036         * lib/dup-safer.c (errno): Likewise.
88037
88038 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
88039
88040         Merge from coreutils.
88041         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
88042         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
88043         * modules/path-concat: Don't depend on strdup.
88044
88045 2004-08-03  Simon Josefsson  <jas@extundo.com>
88046
88047         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
88048         * lib/progname.h: Don't include stdbool.h.
88049
88050 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
88051
88052         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
88053         * MODULES.html.sh (func_all_modules): Remove fatal.
88054
88055 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
88056
88057         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
88058
88059 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
88060
88061         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
88062         working.
88063
88064 2004-08-02  Simon Josefsson  <jas@extundo.com>
88065
88066         * lib/getsubopt.h: New file, with comments from Bruno Haible.
88067         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
88068         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
88069
88070 2004-08-01  Simon Josefsson  <jas@extundo.com>
88071
88072         * lib/xgetdomainname.c: Include stdlib.h, for free().
88073
88074 2004-07-19  Bruno Haible  <bruno@clisp.org>
88075
88076         * MODULES.html.sh (func_all_modules): Add dummy.
88077
88078 2004-07-16  Simon Josefsson  <jas@extundo.com>
88079
88080         * modules/dummy: New file.
88081
88082 2004-07-16  Simon Josefsson  <jas@extundo.com>
88083
88084         * lib/dummy.c: New file.
88085
88086 2004-07-16  Bruno Haible  <bruno@clisp.org>
88087
88088         * lib/backupfile.h: Add extern "C" for C++.
88089         * lib/closeout.h: Likewise.
88090         * lib/copy-file.h: Likewise.
88091         * lib/findprog.h: Likewise.
88092         * lib/full-write.h: Likewise.
88093         * lib/pathname.h: Likewise.
88094         * lib/progname.h: Likewise.
88095         * lib/stpcpy.h: Likewise.
88096         * lib/stpncpy.h: Likewise.
88097         * lib/strcase.h: Likewise.
88098         * lib/strstr.h: Likewise.
88099         * lib/xalloc.h: Likewise.
88100
88101         * lib/mbswidth.h: Add extern "C" for C++.
88102         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
88103
88104 2004-07-13  Robert Millan  <robertmh@gnu.org>
88105
88106         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
88107
88108 2004-07-09  Simon Josefsson  <jas@extundo.com>
88109
88110         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
88111         failed without this.)
88112
88113 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88114
88115         * modules/chown (Files): Add lib/fchown-stub.c, since
88116         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
88117
88118 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88119
88120         * lib/fchown-stub.c: New file.
88121
88122 2004-06-24  Jim Meyering  <jim@meyering.net>
88123
88124         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
88125
88126 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88127
88128         * modules/argz: Omit "#include".
88129
88130         * MODULES.html.sh (func_all_modules): Add calloc, to match
88131         2004-06-01 addition of calloc module.
88132
88133 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88134
88135         * m4/argz.m4: New file, which is autoupdated from libtool.
88136
88137 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88138
88139         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
88140         libtool.
88141
88142 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88143
88144         * config/srclist-update: Don't insist on "USA." before the
88145         close-comment, as libtool omits the period and puts the */ on a
88146         separate line.
88147         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
88148         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
88149
88150 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
88151
88152         * modules/argz: New file.
88153         * MODULES.html.sh (func_all_modules): Add argz.
88154
88155 2004-06-12  Jim Meyering  <jim@meyering.net>
88156         and  Paul Eggert  <eggert@cs.ucla.edu>
88157
88158         * modules/hash (Files): Add lib/xalloc.h.
88159         * modules/pipe (Depends-on): Add wait-process.
88160         * modules/stat (Depends-on): Add xalloc.
88161         * modules/userspec (Files): Add lib/userspec.h.
88162         * modules/xstrto
88163
88164         Upgrade from gettext-0.13.
88165         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
88166         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
88167         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
88168
88169 2004-06-10  Jim Meyering  <jim@meyering.net>
88170
88171         * lib/calloc.c: New file.
88172
88173 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
88174
88175         * lib/getdate.y (yylex): Allow space between sign and number.
88176         Problem reported by Dan Jacobson.
88177
88178 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
88179
88180         Merge from coreutils CVS.
88181
88182         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
88183         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
88184         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
88185         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
88186         xstrtol.m4: Fix copyright date and/or serial number.
88187
88188         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
88189         See if we need an fchown replacement.
88190         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
88191         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
88192         and use the replacement function if we detect either defect.
88193
88194         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
88195         gl_UTIMECMP.
88196
88197 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
88198         and  Jim Meyering  <jim@meyering.net>
88199
88200         Merge from coreutils CVS.
88201
88202         * lib/stat-macros.h: New file, with contents from file-type.h
88203         and coreutils' system.h.
88204         * lib/file-type.c: Include "stat-macros.h".
88205         * lib/file-type.h (file_type): Move all macro definitions to new file,
88206         stat-macros.h.
88207
88208         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
88209         Wrap old code with this conditional.
88210         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
88211         function that does not dereference symlinks.
88212         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
88213
88214         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
88215         dependency problems.
88216         (xreadlink): Accept new arg SIZE, for efficiency.
88217         All decls and uses changed.
88218         * lib/xreadlink.h: Include <stddef.h>, for size_t.
88219
88220         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
88221         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
88222
88223         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
88224         sysexits.h.
88225
88226 2004-06-01  Jim Meyering  <jim@meyering.net>
88227
88228         * m4/calloc.m4: New file.
88229
88230 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
88231
88232         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
88233         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
88234         Also, fix a typo in a diagnostic.
88235
88236 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
88237
88238         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
88239         or AC_FUNC_REALLOC.
88240
88241 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
88242
88243         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
88244         macros to be defined.
88245         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
88246         the allocator returns NULL because the requested size is zero.
88247
88248 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
88249
88250         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
88251         var.  Add comment explaining why libc still defines it.  This
88252         merges the following patch from glibc:
88253         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
88254
88255 2004-05-20  Andreas Schwab  <schwab@suse.de>
88256
88257         * m4/free.m4: Replace free if it not known to work, not the other
88258         way round.
88259
88260 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
88261
88262         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
88263         present in glibc since revision 1.1 of this file.
88264         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
88265         obstack_alignment_mask, obstack_alloc, obstack_base,
88266         obstack_blank, obstack_blank_fast, obstack_chunk_size,
88267         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
88268         obstack_grow0, obstack_init, obstack_int_grow,
88269         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
88270         obstack_next_free, obstack_object_size, obstack_ptr_grow,
88271         obstack_ptr_grow_fast, obstack_room): Remove declarations of
88272         nonexistent functions.
88273
88274 2004-05-18  Karl Berry  <karl@gnu.org>
88275
88276         * config/srclist.txt: break link for vasnprintf.c.
88277
88278 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
88279
88280         Port obstack to the AS/400, where pointers are 16 bytes wide and
88281         you cannot cast an integer to a valid pointer.  This patch is
88282         currently waiting to be integrated into glibc; see
88283         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
88284
88285         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
88286         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
88287         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
88288         (struct obstack): temp member is now a union of a pointer and
88289         an integer, instead of an integer.  All integer uses changed.
88290         This does not affect the physical layout of struct obstack,
88291         except on hosts (like the AS/400) where the size or alignment of
88292         void * is greater than that of ptrdiff_t.
88293         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
88294         __STDC__)]: Store temporary in pointer member of union, not
88295         integer member.
88296         * lib/obstack.c: Include <stddef.h>, for offsetof.
88297         (struct fooalign): Remove; it doesn't need a name.
88298         (union fooround): Change double to long double, and add void *.
88299         (DEFAULT_ALIGNMENT): Use offsetof to compute.
88300         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
88301         not a macro.  Hence the values are always int; so remove all
88302         casts-to-int in uses.
88303
88304 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
88305
88306         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
88307         we can get this patch merged into glibc.
88308
88309 2004-05-17  Derek R. Price  <derek@ximbiot.com>
88310             Paul Eggert  <eggert@cs.ucla.edu>
88311
88312         * m4/argp: Depend on alloca.
88313
88314 2004-05-17  Derek R. Price  <derek@ximbiot.com>
88315             Paul Eggert  <eggert@cs.ucla.edu>
88316
88317         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
88318         freecoding.
88319
88320 2004-05-17  Bruno Haible  <bruno@clisp.org>
88321
88322         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
88323         precision that consists of a '.' followed by an empty digit string.
88324         Patch by Tor Lillqvist <tml@iki.fi>.
88325
88326 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
88327
88328         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
88329         for backward compatibility with older code.  We need our own
88330         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
88331         it under some other name, and our alloca.h will define it.
88332
88333 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
88334             Derek Price  <derek@ximbiot.com>
88335
88336         * lib/alloca.c: Include <alloca.h>, to get our interface.
88337         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
88338         include <alloca.h> first.  Use C89 prototype for alloca; this
88339         requires including <stddef.h> for size_t.  Use extern "C" if C++.
88340         Use #elif for simplicity, since we can assume C89 now.
88341         Don't try to source the system alloca.h since it will not be found
88342         and to prevent recursively including its replacement.
88343         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
88344         * lib/regex.c: Likewise.
88345
88346 2004-05-16  Derek Price  <derek@ximbiot.com>
88347             Paul Eggert  <eggert@cs.ucla.edu>
88348
88349         getline cleanup.  This changes the getndelim2 API: both order of
88350         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
88351         no delimiter).
88352
88353         * lib/getline.c: Don't include stddef.h or stdio.h, since our
88354         interface does that.
88355         (getline): Always use getdelim, so that we don't have two
88356         copies of this code.
88357         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
88358         if available.
88359         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
88360         (GETNDELIM2_MAXIMUM): New macro.
88361         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
88362         instead of the old practice of delim2==0.  All callers changed.
88363         Return -1 on overflow, instead of returning junk.
88364         Do not set *linesize unless allocation succeeds.
88365         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
88366         that we include sys/types.h.
88367         * lib/getnline.h: Likewise.
88368         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
88369         (getndelim2): Reorder arguments.
88370         * lib/getnline.c (getnline, getndelim):
88371         Don't discard the NMAX argument.
88372         (getnline): Invoke getndelim, to avoid code duplication.
88373         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
88374         of (size_t) -1 by callers of the getnline family.
88375
88376 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88377
88378         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
88379         Check for gettimeofday.
88380         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
88381         Check for settimeofday, stime.
88382
88383 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88384
88385         * lib/nanosleep.c (suspended): Change its type from int to
88386         sig_atomic_t volatile.
88387         (first_call): Make it private to rpl_nanosleep, and have it
88388         be zero initially as that's a bit faster.
88389         (my_usleep): Round up fractional times instead of truncating them,
88390         as this is the usual meaning for 'sleep'.
88391
88392         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
88393         doesn't work.
88394         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
88395         (ENOSYS): Define if not defined.
88396         (settime): Fall back on stime if it exists and settimeofday fails.
88397         But don't bother with fallbacks if a method fails with errno == EPERM.
88398
88399 2004-05-11  Jim Meyering  <jim@meyering.net>
88400
88401         Prior to this change, the save_cwd caller required read access to the
88402         current directory on most systems (ones with the fchdir function).
88403
88404         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
88405         fails, try write-only, and finally, resort to using xgetcwd.
88406
88407 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
88408
88409         * lib/obstack.c, obstack.h: Import changes from libc.
88410
88411 2004-04-28  Bruno Haible  <bruno@clisp.org>
88412
88413         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
88414         also implicitly appends .exe to executables.
88415         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
88416         accepts Windows pathnames.
88417         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
88418         Treat Cygwin like Windows, since it now accepts Windows pathnames.
88419         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
88420         Treat Cygwin like Windows, since it now accepts Windows pathnames.
88421         Reported by Derek Robert Price <derek@ximbiot.com>.
88422
88423 2004-04-21  Karl Berry  <karl@gnu.org>
88424
88425         * config/srclist.txt (localcharset.c): break sync.
88426
88427 2004-04-20  Paul Eggert  <eggert@twinsun.com>
88428
88429         * m4/host-os.m4: Add a copyright notice.
88430
88431 2004-04-20  Jim Meyering  <jim@meyering.net>
88432
88433         Change UTILS_ to gl_ in AC_DEFINE'd names.
88434         Change utils_- and jm_-prefixed variables, too.
88435         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
88436         UTILS_FUNC_MKDIR_TRAILING_SLASH.
88437         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
88438
88439         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
88440         Don't emit trailing blanks.
88441         Also rename jm_-prefixed variables to have gl_ prefix.
88442
88443         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
88444         Also rename jm_-prefixed variables to have gl_ prefix.
88445
88446         * m4/jm-macros.m4: Reflect the renamings.
88447         * m4/prereq.m4: Likewise.
88448
88449 2004-04-20  Jim Meyering  <jim@meyering.net>
88450
88451         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
88452         memory.
88453
88454 2004-04-20  Jim Meyering  <jim@meyering.net>
88455             Bruno Haible  <bruno@clisp.org>
88456
88457         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
88458         memory when realloc fails.
88459
88460 2004-04-19  Jim Meyering  <jim@meyering.net>
88461
88462         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
88463         now that readutmp.c may call `free (0)'.
88464
88465 2004-04-19  Bruno Haible  <bruno@clisp.org>
88466
88467         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
88468         * m4/inttypes_h.m4: Likewise.
88469         * m4/stdint_h.m4: Likewise.
88470         * m4/intmax_t.m4: Likewise.
88471         * m4/uintmax_t.m4: Likewise.
88472
88473 2004-04-18  Jim Meyering  <jim@meyering.net>
88474
88475         * m4/prereq.m4: Don't forbid jm_ prefix.
88476
88477         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
88478         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
88479         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
88480         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
88481         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
88482         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
88483         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
88484         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
88485         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
88486         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
88487         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
88488         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
88489         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
88490         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
88491         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
88492         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
88493         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
88494         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
88495         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
88496
88497 2004-04-18  Jim Meyering  <jim@meyering.net>
88498
88499         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
88500         failure, don't leak memory and do call END_UTMP_ENT.
88501
88502 2004-04-16  Jim Meyering  <jim@meyering.net>
88503
88504         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
88505         coreutils' stat program.
88506         (gl_PREREQ): Don't require jm_PREREQ_STAT.
88507
88508 2004-04-11  Paul Eggert  <eggert@twinsun.com>
88509
88510         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
88511         C89.
88512         (CHAR_BIT): Remove, since we assume C89.
88513         Include <stdint.h> if available, as per current Autoconf CVS advice.
88514
88515 2004-03-31  Jim Meyering  <jim@meyering.net>
88516
88517         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
88518         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
88519         * m4/xalloc.m4: Likewise.
88520
88521 2004-03-30  Paul Eggert  <eggert@twinsun.com>
88522
88523         Merge from coreutils.
88524
88525         * m4/inttostr.m4: New file.
88526         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
88527         Require AM_STDBOOL_H and gl_TIMESPEC instead.
88528         Require gl_CLOCK_TIME.
88529         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
88530
88531 2004-03-30  Paul Eggert  <eggert@twinsun.com>
88532
88533         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
88534         not bool, to be more consistent with Unix conventions.
88535         Suggested by Bruno Haible.
88536
88537         Merge from coreutils.
88538
88539         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
88540         * lib/umaxtostr.c: New files.
88541
88542         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
88543         the usual <time.h> dance.
88544         (get_date): Change signature to support fractional time stamps.
88545         All callers changed.
88546         * lib/getdate.y: Include "getdate.h" first, as we can now
88547         assume C89 and don't need to worry about 'const'.
88548         Similarly, include "unlocked-io.h" near start, not in middle.
88549         Include <limits.h>.
88550         (textint.value): Use long int rather than int.
88551         (textint.digits): Use size_t rather than int.
88552         (BILLION, LOG10_BILLION): New constants.
88553         (parser_control): New member rel_ns.  Members day_ordinal,
88554         time_zone, month, day, hour, minutes, rel_year, rel_month,
88555         rel_day, rel_hour, rel_minutes, rel_seconds
88556         are now long int, not int.  Member seconds is now struct timespec,
88557         not int.  New member timespec_seen.  Members dates_seen, days_seen,
88558         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
88559         not int.
88560         (%union.intval): Now long int, not int.
88561         New member timespec.
88562         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
88563         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
88564         (spec): Now is a timespec or an item list.
88565         (timespec, items): New nonterminals.
88566         (time, rel, relunit, number, get_date):
88567         Add support for fractional seconds.
88568         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
88569         (gmtime, localtime, mktime): Remove decls; not needed with C89.
88570         (to_hour): First arg is now long int, not int.
88571         (to_year): Returns long int, not int.
88572         Don't treat year -70 like 70.
88573         (tm_diff): Returns long int, not int.
88574         (lookup_word): Use bool instead of int when appropriate.
88575         (yylex): Use size_t for count, not int.
88576         Detect overflow when parsing large integer constants.
88577         Add support for fractions.
88578         (get_date): Make pointers 'const' if possible.
88579         Use more-portable code to detect integer overflow.
88580         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
88581         Don't use ctime; it's not reliable if the year has >4 digits.
88582
88583         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
88584         This is for compatibility with BSD.
88585
88586         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
88587         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
88588         From coreutils' system.h.
88589
88590         * lib/userspec.c: Don't include "posixver.h".
88591         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
88592         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
88593         compatible extension.  Simplify code by removing a boolean int
88594         that was always nonzero if a string was nonnull.
88595
88596 2004-03-30  Jim Meyering  <jim@meyering.net>
88597
88598         Merge from coreutils.
88599
88600         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
88601         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
88602         on some systems one must include <grp.h> before it.
88603         Reported by Christian Krackowizer.
88604
88605 2004-03-30  Jim Meyering  <jim@meyering.net>
88606
88607         Merge from coreutils.
88608
88609         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
88610
88611         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
88612         an empty input stream.
88613
88614         * lib/readtokens.c: Include <stdbool.h>.
88615         (readtoken): Use `size_t' rather than int/long.
88616         All callers adjusted.
88617         Use `bool' rather than `int' where appropriate.
88618         Use memset rather than an explicit loop.
88619         Use x2nrealloc rather than xrealloc.
88620         Allow the use of `\0' as a delimiter.
88621         (readtokens): Likewise.
88622         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
88623
88624 2004-03-30  Jim Meyering  <jim@meyering.net>
88625
88626         * m4/realloc.m4: Remove file, since now it does no more than
88627         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
88628         the `configure.ac' section of module/realloc.
88629         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
88630
88631 2004-03-30  Bruno Haible  <bruno@clisp.org>
88632
88633         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
88634         nonnull.
88635
88636 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88637
88638         Merge changes to getloadavg.c from coreutils and Emacs.
88639
88640         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
88641         Define to an expression, not to the empty string.
88642         Include cloexec.h and xalloc.h.
88643         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
88644         Use set_cloexec_flag rather than rolling our own.
88645         * lib/cloexec.c, lib/cloexec.h: New files.
88646
88647 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88648
88649         * m4/cloexec.m4: New file.
88650
88651 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88652
88653         * lib/getopt.h: Sync with libc CVS.
88654
88655 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88656             Bruno Haible  <bruno@clisp.org>
88657
88658         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
88659         mbswidth.
88660
88661 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88662             Bruno Haible  <bruno@clisp.org>
88663
88664         * lib/mbswidth.h: Include <wchar.h> only if
88665         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
88666         <wchar.h>.
88667         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
88668
88669 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88670
88671         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
88672         Sync with libc CVS.
88673         * lib/getopt_int.h: New file, also synced from libc.
88674
88675 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88676
88677         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
88678         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
88679         Bring back getopt.c, getopt.h, getopt1.c.
88680
88681 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88682
88683         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
88684         All uses changed.  Check for sa_sigaction member; this fixes
88685         a bug first reported by Jason Andrade in
88686         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88687
88688 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88689
88690         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
88691         '#if' expressions.  Unlike the code it replaces, it does not
88692         depend on (defined _SC_PAGESIZE).  However, it does depend on
88693         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
88694         first reported by Jason Andrade in
88695         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88696
88697 2004-02-25  Simon Josefsson  <jas@extundo.com>
88698
88699         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
88700
88701 2004-02-25  Simon Josefsson  <jas@extundo.com>
88702
88703         * lib/strdup.h: New file.
88704         * lib/strdup.c: Include it.
88705         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
88706         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
88707
88708 2004-02-23  Karl Berry  <karl@gnu.org>
88709
88710         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
88711         (from fencepost.gnu.org:/gd/gnuorg).
88712
88713 2004-02-23  Karl Berry  <karl@gnu.org>
88714
88715         * config/srclistvars.sh (GNUORG) [karl]: redefine.
88716         * config/srclist.txt: add maintain/standards documents.
88717
88718 2004-02-18  Bruno Haible  <bruno@clisp.org>
88719
88720         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
88721         Reported by Derek Robert Price <derek@ximbiot.com>.
88722
88723 2004-02-16  Karl Berry  <karl@gnu.org>
88724
88725         * config/mkinstalldirs, install-sh: update from automake.
88726
88727 2004-02-06  Karl Berry  <karl@gnu.org>
88728
88729         * m4/po.m4: update from gettext 0.14.1.
88730
88731 2004-02-06  Karl Berry  <karl@gnu.org>
88732
88733         * lib/config.charset: update from gettext 0.14.1.
88734
88735 2004-02-05  Paul Eggert  <eggert@twinsun.com>
88736
88737         Add comments and code, prompted by suggestions from Bruno Haible
88738         for sh-quote.
88739         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
88740         describing the enum quoting_style values.
88741         * lib/quotearg.c (quotearg_alloc): New function.
88742         (quotearg_buffer_restyled): Treat lone { and } as special.
88743         Treat = as special.  Work around bug with older shells
88744         that "see" a '\' that is really the 2nd byte of a multibyte char.
88745         Quote empty string with shell_quoting_style.
88746
88747 2004-02-03  Bruno Haible  <bruno@clisp.org>
88748
88749         * m4/pipe.m4: New file, from GNU gettext.
88750
88751 2004-02-03  Bruno Haible  <bruno@clisp.org>
88752
88753         * lib/pipe.h: New file, from GNU gettext.
88754         * lib/pipe.c: New file, from GNU gettext.
88755
88756 2004-01-27  Bruno Haible  <bruno@clisp.org>
88757
88758         * m4/execute.m4: New file, from GNU gettext.
88759
88760 2004-01-27  Bruno Haible  <bruno@clisp.org>
88761
88762         * lib/execute.h: New file, from GNU gettext.
88763         * lib/execute.c: New file, from GNU gettext.
88764         * lib/w32spawn.h: New file, from GNU gettext.
88765
88766 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88767
88768         Merge from diffutils.
88769
88770         * lib/file-type.c (file_type): Add typed memory objects.
88771         * lib/file-type.h (S_TYPEISTMO): New macro.
88772
88773         * lib/c-stack.h (c_stack_action): Remove argv argument.
88774         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
88775         (die): Don't calculate message unless segv_action returns.
88776         (get_stack_location, min_address_from_argv, max_address_from_argv,
88777         volatile stack_base, volatile_stack_size): Remove.
88778         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
88779         that every segmentation violation is a stack overflow.  (Ouch!)
88780         See Debian bug 136249 (still outstanding) for more info about why
88781         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
88782
88783 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88784
88785         Exit-status fix from coreutils.
88786
88787         Use exit_failure consistently in place of EXIT_FAILURE,
88788         so that program exit statuses are consistent on failure.
88789
88790         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
88791         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
88792         * lib/argmatch.h: Comment fix to match the above.
88793         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
88794         Now a macro referring to exit_failure, instead of a separate
88795         variable.  Include "exitfail.h" to get it.
88796         * lib/xstrtol.h: Include "exitfail.h".
88797         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
88798
88799         * lib/long-options.c (parse_long_options): Use prototype
88800         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
88801         for clarity.
88802
88803 2004-01-21  Jim Meyering  <jim@meyering.net>
88804
88805         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
88806         so as not to conflict with a different-sized __mktime_internal
88807         function in GNU libc.
88808         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
88809         Problem building statically-linked `ls' reported by Michael Brunnbauer.
88810
88811 2004-01-20  Karl Berry  <karl@gnu.org>
88812
88813         * config/config.guess: update from config.
88814
88815         * config/srclistvars.sh: GNUWWWLICENSES for karl.
88816
88817 2004-01-20  Bruno Haible  <bruno@clisp.org>
88818
88819         Safer stack allocation.
88820         * lib/setenv.c: Include allocsa.h.
88821         (alloca): Remove fallback definition.
88822         (freea): Remove macro.
88823         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
88824         instead of freea.
88825
88826 2004-01-20  Bruno Haible  <bruno@clisp.org>
88827
88828         * m4/eealloc.m4: New file, from GNU gettext.
88829
88830 2004-01-20  Bruno Haible  <bruno@clisp.org>
88831
88832         * m4/allocsa.m4: New file, from GNU gettext.
88833
88834 2004-01-20  Bruno Haible  <bruno@clisp.org>
88835
88836         * lib/xallocsa.h: New file, from GNU gettext.
88837         * lib/xallocsa.c: New file, from GNU gettext.
88838
88839 2004-01-20  Bruno Haible  <bruno@clisp.org>
88840
88841         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
88842
88843 2004-01-20  Bruno Haible  <bruno@clisp.org>
88844
88845         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
88846         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
88847         specially.
88848
88849 2004-01-20  Bruno Haible  <bruno@clisp.org>
88850
88851         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
88852         patch.
88853
88854 2004-01-20  Bruno Haible  <bruno@clisp.org>
88855
88856         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
88857
88858 2004-01-20  Bruno Haible  <bruno@clisp.org>
88859
88860         * lib/eealloc.h: New file.
88861
88862 2004-01-20  Bruno Haible  <bruno@clisp.org>
88863
88864         * lib/binary-io.h: Avoid warnings on Cygwin.
88865
88866 2004-01-20  Bruno Haible  <bruno@clisp.org>
88867
88868         * lib/allocsa.h: New file, from GNU gettext.
88869         * lib/allocsa.c: New file, from GNU gettext.
88870
88871 2004-01-18  Karl Berry  <karl@gnu.org>
88872
88873         * doc/gpl.texi, doc/lgpl.texi: new files.
88874
88875 2004-01-18  Karl Berry  <karl@gnu.org>
88876
88877         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
88878         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
88879
88880 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88881
88882         Merge from coreutils.
88883
88884         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
88885         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
88886         (gl_DEFAULT_POSIX2_VERSION): Move
88887         the documentation from 'configure' into 'config.hin',
88888         so that 'configure --help' isn't burdened by it and
88889         we don't have to worry about its formatting there.
88890         Reword the documentation so that it's more succinct
88891         and can be run together into a single paragraph.
88892         * m4/same.m4 (gl_SAME): Check for pathconf.
88893
88894 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88895
88896         Merge from coreutils.
88897
88898         * lib/posixver.c: Include posixver.h.
88899
88900         * lib/same.c: Include <stdbool.h>, <limits.h>.
88901         (_POSIX_NAME_MAX): Define if not defined.
88902         (MIN): New macro.
88903         (same_name): If file names are silently truncated, report
88904         that the file names are the same if they are the same after
88905         the silent truncation.
88906
88907         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
88908         conversion function.
88909         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
88910         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
88911         longer needed.
88912
88913 2004-01-15  Jim Meyering  <jim@meyering.net>
88914
88915         Merge from coreutils.
88916
88917         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
88918         if no library is required.
88919         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
88920         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
88921         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
88922         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
88923         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
88924         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
88925         value, $ac_cv_search_crypt, if it's "none required".
88926         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
88927         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
88928         not gl_FUNC_GETLOADAVG.
88929         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
88930         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
88931
88932 2004-01-15  Jim Meyering  <jim@meyering.net>
88933
88934         Merge from coreutils.
88935
88936         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
88937         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
88938         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
88939
88940         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
88941         optional configure-time default.
88942
88943         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88944
88945         * lib/xreadlink.c (xreadlink): Correct outdated comment.
88946
88947 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
88948
88949         Merge from coreutils.
88950
88951         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
88952         value, $ac_cv_search_nanosleep, if it's "none required".
88953
88954 2004-01-14  Paul Eggert  <eggert@twinsun.com>
88955
88956         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
88957         with like-named macro in fnmatch.c.
88958         (EXT): Use an internal constant instead.
88959
88960         Merge fnmatch patches from glibc.
88961         * lib/fnmatch.c (mbsinit): Remove define.
88962         Add libc_hidden_ver (__fnmatch, fnmatch).
88963         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
88964         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
88965
88966 2004-01-14  Karl Berry  <karl@gnu.org>
88967
88968         * config/install-sh: update from automake.
88969
88970 2004-01-13  Karl Berry  <karl@gnu.org>
88971
88972         * config/install-sh: update from automake.
88973
88974 2004-01-09  Karl Berry  <karl@gnu.org>
88975
88976         * config/install-sh: update from automake.
88977
88978 2004-01-05  Karl Berry  <karl@gnu.org>
88979
88980         * config/config.{sub,guess}: update from config.
88981
88982 2003-12-31  Karl Berry  <karl@gnu.org>
88983
88984         * config/depcomp: update from automake.
88985
88986 2003-12-14  Karl Berry  <karl@gnu.org>
88987
88988         * lib/config.charset: update from gettext-runtime.
88989
88990 2003-12-03  Paul Eggert  <eggert@twinsun.com>
88991
88992         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
88993         Bug reported by Alfred M. Szmidt.
88994
88995 2003-12-03  Bruno Haible  <bruno@clisp.org>
88996
88997         * m4/gettext.m4: Upgrade from gettext-0.13.
88998         * m4/po.m4: Upgrade from gettext-0.13.
88999         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
89000         * m4/intmax.m4: New file, from gettext-0.13.
89001         * m4/printf-posix.m4: New file, from gettext-0.13.
89002
89003 2003-11-29  Karl Berry  <karl@gnu.org>
89004
89005         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
89006
89007 2003-11-25  Paul Eggert  <eggert@twinsun.com>
89008             Bruno Haible  <bruno@clisp.org>
89009
89010         * lib/printf-parse.h: Don't include sys/types.h.
89011         (ARG_NONE): New macro.
89012         (char_directive): Change type of *arg_index fields to size_t.
89013         * lib/printf-parse.c: Don't include sys/types.h.
89014         (SSIZE_MAX): Remove macro.
89015         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
89016         Remove unnecessary overflow check.
89017         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
89018         fields.
89019
89020 2003-11-25  Bruno Haible  <bruno@clisp.org>
89021
89022         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
89023
89024 2003-11-25  Bruno Haible  <bruno@clisp.org>
89025
89026         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
89027         gt_TYPE_SSIZE_T.
89028
89029 2003-11-24  Paul Eggert  <eggert@twinsun.com>
89030
89031         * modules/alloca: Remove dependency on xalloc.
89032
89033 2003-11-24  Paul Eggert  <eggert@twinsun.com>
89034
89035         * lib/alloca.c: Remove dependency on xalloc module.
89036         (xalloc_die): Remove.
89037         (memory_full) [!defined emacs]: New macro.
89038         [!defined emacs]: Don't include xalloc.h.
89039         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
89040         address arithmetic overflows.  Change datatypes a bit to avoid
89041         unnecessary casts.
89042
89043 2003-11-22  Jim Meyering  <jim@meyering.net>
89044
89045         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
89046         s/size/size_t/.
89047
89048 2003-11-21  Karl Berry  <karl@gnu.org>
89049
89050         * config/config.{sub,guess}: update from config.
89051
89052 2003-11-18  Karl Berry  <karl@gnu.org>
89053
89054         * config/config.{sub,guess}: update from config.
89055
89056         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
89057
89058 2003-11-17  Paul Eggert  <eggert@twinsun.com>
89059
89060         * README: Mention that S+T cannot overflow if S is the size of
89061         an existing object and T is sufficiently small.
89062
89063 2003-11-17  Jim Meyering  <jim@meyering.net>
89064
89065         On systems without utime and without a utimes function capable of
89066         dealing with a NULL struct utimbuf* argument, this utime replacement
89067         could -- in unusual circumstances -- leak a file descriptor.
89068         * lib/utime.c: Include <unistd.h> and <errno.h>.
89069         (utime_null): Be sure to close `fd' and to preserve errno.
89070         Reported by Geoff Collyer via Arnold Robbins.
89071
89072 2003-11-17  Bruno Haible  <bruno@clisp.org>
89073
89074         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
89075         (Depends-on): Add xsize.
89076
89077 2003-11-17  Bruno Haible  <bruno@clisp.org>
89078
89079         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
89080
89081 2003-11-17  Bruno Haible  <bruno@clisp.org>
89082
89083         * lib/vasnprintf.c (alloca): Remove fallback definition.
89084         (freea): Remove definition.
89085         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
89086         Reported by Paul Eggert.
89087
89088 2003-11-16  Paul Eggert  <eggert@twinsun.com>
89089             Bruno Haible  <bruno@clisp.org>
89090
89091         Protect against address arithmetic overflow.
89092         * lib/printf-args.h: Include stddef.h.
89093         (arguments): Change type of field 'count' to size_t.
89094         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
89095         'unsigned int' where appropriate.
89096         * lib/printf-parse.h: Include sys/types.h.
89097         (char_directive): Change type of *arg_index fields to ssize_t.
89098         (char_directives): Change type of fields 'count', max_*_length to
89099         size_t.
89100         * lib/printf-parse.c: Include sys/types.h and xsize.h.
89101         (SSIZE_MAX): Define fallback value.
89102         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
89103         instead of 'int' where appropriate. Check a_allocated, d_allocated
89104         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
89105         * lib/vasnprintf.c: Include xsize.h.
89106         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
89107         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
89108         overflow. Avoid wraparound when converting a width or precision from
89109         decimal to binary.
89110
89111 2003-11-16  Bruno Haible  <bruno@clisp.org>
89112
89113         Update from GNU gettext.
89114         * lib/printf-parse.c: Generalize to it can be compiled for wide
89115         strings.
89116         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
89117         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
89118         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
89119         SNPRINTF): New macros.
89120         Don't include <alloca.h> if the file is used inside libintl.
89121         (local_wcslen): New function, for Solaris 2.5.1.
89122         (VASNPRINTF): Use it instead of wcslen.
89123
89124 2003-11-16  Bruno Haible  <bruno@clisp.org>
89125
89126         * lib/xsize.h (xmax): New function.
89127         (xsum, xsum3, xsum4): Declare as "pure" functions.
89128
89129 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89130
89131         * modules/xalloc (Files): Undo latest change, since xalloc.h
89132         no longer needs SIZE_MAX or PTRDIFF_MAX.
89133
89134 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89135
89136         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
89137         gl_PTRDIFF_MAX.
89138
89139 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89140
89141         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
89142         "return", to pacify some unknown compiler.  Problem reported
89143         by Joerg Schilling.
89144
89145 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89146
89147         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
89148         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
89149         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
89150         heuristic is just as accurate as far as we know, and it removes a
89151         dependency on size_max.m4 and ptrdiff_max.m4.
89152
89153 2003-11-11  Bruno Haible  <bruno@clisp.org>
89154
89155         * modules/xsize (Files): Add m4/size_max.m4.
89156         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
89157
89158 2003-11-11  Bruno Haible  <bruno@clisp.org>
89159
89160         * m4/size_max.m4: New file.
89161         * m4/ptrdiff_max.m4: New file.
89162         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
89163         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
89164         (gl_XALLOC): Invoke it.
89165
89166 2003-11-11  Bruno Haible  <bruno@clisp.org>
89167
89168         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
89169         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
89170         defined.
89171
89172 2003-11-10  Paul Eggert  <eggert@twinsun.com>
89173
89174         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
89175         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
89176         rejected some allocations of exactly SIZE_MAX - 2 bytes.
89177         From Bruno Haible.
89178         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
89179         not (size_t) -1, since it's defined here.
89180
89181 2003-11-09  Karl Berry  <karl@gnu.org>
89182
89183         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
89184
89185 2003-11-06  Paul Eggert  <eggert@twinsun.com>
89186
89187         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
89188         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
89189         Reject sizes of exactly SIZE_MAX bytes.
89190         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
89191         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
89192
89193 2003-11-05  Bruno Haible  <bruno@clisp.org>
89194
89195         * lib/xsize.h: Include limits.h, to avoid a possible collision with
89196         SIZE_MAX defined in <limits.h> on Solaris.
89197
89198 2003-11-04  Jim Meyering  <jim@meyering.net>
89199
89200         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
89201         variable names, rather than @VAR@.
89202         * modules/poll: Likewise.
89203
89204 2003-11-04  Bruno Haible  <bruno@clisp.org>
89205
89206         * modules/xsize: New file.
89207         * modules/linebreak: Depend on xsize.
89208         * MODULES.html.sh (func_all_modules): Add xsize.
89209
89210 2003-11-04  Bruno Haible  <bruno@clisp.org>
89211
89212         * m4/xsize.m4: New file.
89213
89214 2003-11-04  Bruno Haible  <bruno@clisp.org>
89215
89216         * lib/xsize.h: New file.
89217         * lib/linebreak.c: Include xsize.h.
89218         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
89219         argument for overflow.
89220         Suggested by Paul Eggert.
89221
89222 2003-11-03  Karl Berry  <karl@gnu.org>
89223
89224         * config/config.{guess,sub}: update from config.
89225
89226 2003-11-03  Jim Meyering  <jim@meyering.net>
89227
89228         * modules/userspec (lib_SOURCES): Add userspec.h.
89229         (Include): Add "userspec.h".
89230         Improve description.
89231
89232 2003-11-03  Jim Meyering  <jim@meyering.net>
89233
89234         * lib/userspec.c: Include "userspec.h".
89235         * lib/userspec.h: New file.
89236
89237 2003-11-03  Bruno Haible  <bruno@clisp.org>
89238
89239         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
89240
89241 2003-11-03  Bruno Haible  <bruno@clisp.org>
89242
89243         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
89244         available, to avoid (extremely rare) race condition.
89245         Suggested by Paul Eggert.
89246
89247 2003-11-02  Karl Berry  <karl@gnu.org>
89248
89249         * config/srclist.txt (vasprintf.c): sync broken, sigh.
89250
89251 2003-10-31  Paul Eggert  <eggert@twinsun.com>
89252
89253         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
89254         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
89255         (read_filesystem_list): Set and use me_type_malloced.
89256         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
89257         whatever the type happens to be), for brevity and consistency.
89258         Check for size calculation overflow on Alphas running OSF/1.
89259
89260 2003-10-31  Jim Meyering  <jim@meyering.net>
89261
89262         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
89263
89264         * lib/linebuffer.c: Include <string.h> for declaration of memset.
89265
89266 2003-10-30  Paul Eggert  <eggert@twinsun.com>
89267             Bruno Haible  <bruno@clisp.org>
89268
89269         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
89270         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
89271
89272 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
89273
89274         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
89275         netbsd*-gnu*.  Suggested by Robert Millan.
89276
89277 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89278
89279         * modules/group-member: Depend on stdbool.
89280
89281 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89282
89283         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
89284
89285 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89286
89287         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
89288         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
89289         after the 'gnu' in these cases.  This fixes some bugs in the
89290         previous change, and is based on suggestions by Robert Millan.
89291
89292 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89293
89294         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
89295         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
89296         no longer needed.
89297         * lib/quotearg.c (quotearg_n_options): Use it.
89298         * lib/group-member.c: Include <stdbool.h>.
89299         (free_group_info): Arg is now const *; don't free arg.
89300         (get_group_info): Now returns bool and accepts struct group_info *,
89301         rather than returning a malloc'ed struct group_info *.
89302         All uses changed.  Check for overflow in internal size calculation.
89303
89304         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
89305         rather than xmalloc/xrealloc.
89306         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
89307         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
89308         conformance bug: the old code used a pointer after freeing the
89309         storage that it addressed.
89310         * lib/hash.c (hash_initialize): Simplify the code by using
89311         xalloc_oversized rather than doing it by hand.
89312         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
89313         the buffer preserved.  Use free and xmalloc instead.
89314         * lib/quotearg.c (quotearg_n_options): Likewise.
89315         Use a simpler test for size overflow.  Don't use xalloc_oversized
89316         because unsigned int might be wider than size_t (!); this suggests
89317         that we should switch from unsigned int to size_t for slot numbers.
89318
89319 2003-10-28  Paul Eggert  <eggert@twinsun.com>
89320
89321         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
89322         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
89323         NetBSD kernels.  Requested by Richard Stallman.
89324
89325 2003-10-27  Paul Eggert  <eggert@twinsun.com>
89326
89327         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
89328         to allocate the returned structure.  Do not allocate a subarray,
89329         as x2nrealloc will do that.
89330         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
89331         instead of xnrealloc.
89332         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
89333
89334 2003-10-27  Bruno Haible  <bruno@clisp.org>
89335
89336         * lib/stdbool_.h: Better support for BeOS.
89337
89338 2003-10-26  Paul Eggert  <eggert@twinsun.com>
89339
89340         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
89341         now uses inline.
89342
89343 2003-10-26  Paul Eggert  <eggert@twinsun.com>
89344
89345         * lib/xalloc.h (xalloc_oversized): New static inline function, for
89346         callers that want to do their own size-overflow checking.  Include
89347         <stdbool.h>, since xalloc_oversized returns bool.
89348         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
89349         to use xalloc_oversized.
89350
89351         Add two functions x2realloc, x2nrealloc, for programs that grow
89352         arrays dynamically by doubling their sizes.
89353         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
89354         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
89355         New functions.
89356
89357         Port to C99 semantics for 'inline' of external functions.
89358         Bug reported by Bruno Haible.
89359         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
89360         with the old contents of xnmalloc.
89361         (xnmalloc, xmalloc): Use it.
89362         (xnrealloc_inline): New static inline function,
89363         with the old contents of xnrealloc.
89364         (xnrealloc, xrealloc): Use it.
89365
89366         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
89367         that.
89368
89369 2003-10-26  Karl Berry  <karl@gnu.org>
89370
89371         * config/srclist.txt (COPYING.DOC): no longer available from
89372         /gd/gnuorg; don't know where the ultimate source is.
89373
89374 2003-10-25  Paul Eggert  <eggert@twinsun.com>
89375
89376         Fix several address-calculation bugs in the hash modules,
89377         plus some minor code cleanup.
89378
89379         * lib/hash.h: Include <stdbool.h>, for bool.
89380         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
89381         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
89382         hash_get_n_entries, hash_get_max_bucket_length,
89383         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
89384         hash_rehash): Use size_t rather than unsigned.
89385         * lib/hash.c (struct hash_table, hash_get_n_buckets,
89386         hash_get_n_buckets_used, hash_get_n_entries,
89387         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
89388         hash_get_entries, hash_do_for_each, hash_string, is_prime,
89389         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
89390         Likewise.
89391         (SIZE_MAX): Define if not defined.
89392         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
89393         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
89394         hash_print):
89395         Use const * when possible.
89396         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
89397         (check_tuning): Fix bug: if tuning parameters were very close to
89398         0 or 1, rounding errors could have caused subscript violations.
89399         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
89400         (hash_initialize): Add 'fail:' label
89401         to free table and return NULL, and use it to simplify code.
89402         Use calloc rather than clearing the storage ourself.
89403         (hash_initialize, hash_rehash): Check for arithmetic overflow in
89404         buffer size calculations.
89405         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
89406         Include <stddef.h>, for size_t.
89407         * lib/hash-pjw.c (hash_pjw): Likewise.
89408         Switch to method described by Bruno Haible.
89409         Include <limits.h>, for CHAR_BIT.
89410         (SIZE_BITS): New macro.
89411
89412 2003-10-23  Paul Eggert  <eggert@twinsun.com>
89413
89414         * m4/getline.m4 (AM_FUNC_GETLINE):
89415         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
89416         hosts.  Problem reported by Derek Robert Price in
89417         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
89418         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
89419         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
89420
89421 2003-10-21  Paul Eggert  <eggert@twinsun.com>
89422
89423         * lib/getndelim2.c (getndelim2): When size calculation overflows,
89424         ceiling the allocation at NMAX bytes rather than silently
89425         discarding input bytes before NMAX is reached.  This makes
89426         a difference only if NMAX exceeds SIZE_MAX / 2.
89427
89428         * lib/obstack.c: Merge from glibc.
89429         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
89430         Add libc_hidden_def (_obstack_newchunk).
89431         (_obstack_free) [! defined _LIBC]: Remove.
89432         [defined _LIBC]: Make a strong alias from obstack_free, rather than
89433         a clone of the function body.
89434         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
89435         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
89436
89437         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
89438         glibc.
89439         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
89440         arg to memcpy.
89441
89442         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
89443         (obstack_ptr_grow_fast, obstack_int_grow_fast):
89444         Don't use lvalue casts, as GCC plans to remove support for them
89445         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
89446         was also present in the non-GCC version, indicating that this
89447         code had always been buggy and had never been widely used.
89448         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
89449         Use the fast variant of each macro, rather than copying the
89450         definiens of the fast variant; that way, we'll be more likely to
89451         catch future bugs in the fast variants.
89452
89453 2003-10-20  Bruno Haible  <bruno@clisp.org>
89454
89455         * modules/wait-process: New file.
89456         * MODULES.html.sh (func_all_modules): Add wait-process.
89457
89458 2003-10-20  Bruno Haible  <bruno@clisp.org>
89459
89460         * m4/wait-process.m4: New file.
89461
89462 2003-10-20  Bruno Haible  <bruno@clisp.org>
89463
89464         * lib/wait-process.h: New file, from GNU gettext.
89465         * lib/wait-process.c: New file, from GNU gettext.
89466
89467 2003-10-19  Jim Meyering  <jim@meyering.net>
89468
89469         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
89470         HPUX 10.20.
89471
89472 2003-10-18  Karl Berry  <karl@gnu.org>
89473
89474         * config/config.guess: update from config.
89475
89476 2003-10-16  Paul Eggert  <eggert@twinsun.com>
89477
89478         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
89479         (getgroups): First arg is int, not size_t.
89480         Don't let 'free' mangle errno.
89481
89482 2003-10-16  Paul Eggert  <eggert@twinsun.com>
89483
89484         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
89485
89486 2003-10-16  Karl Berry  <karl@gnu.org>
89487
89488         * config/config.{guess,sub}: update from config.
89489
89490 2003-10-16  Jim Meyering  <jim@meyering.net>
89491
89492         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
89493         memcpy.
89494
89495 2003-10-15  Paul Eggert  <eggert@twinsun.com>
89496
89497         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
89498         (SIZE_MAX): Remove.
89499         (new_exclude, add_exclude_file): Initial size no longer needs to
89500         be a power of 2.
89501         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
89502         our own address arithmetic overflow checking.
89503
89504         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
89505         (fnmatch): Do not alloca more than 2000 wide characters;
89506         instead, use malloc for large buffers.
89507         Check for address arithmetic overflow, and return -1
89508         with errno set to ENOMEM in that case.
89509         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
89510         (NEW_PATTERN): Do not alloca more than 8000 bytes;
89511         instead, return -1.  Check for address arithmetic overflow.
89512
89513 2003-10-14  Paul Eggert  <eggert@twinsun.com>
89514
89515         Handle invalid suffixes and overflow independently, so that
89516         callers can treat them independently as needed.  Fix some bugs in
89517         suffix handling, e.g., "100k@" was not diagnosed as an invalid
89518         suffix for a human-readable blocksize.  The major caller-visible
89519         change is the addition of a new
89520         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
89521         that both overflow and suffix chars were found.
89522
89523         * lib/human.c (humblock): Don't check separately for invalid suffix
89524         char; that is xstrtoumax's job (now that its bug is fixed).
89525         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
89526         INTMAX_MAX]: New macros.
89527         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
89528         TYPE_MAXIMUM): New macros.
89529         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
89530         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
89531         if overflow occurs, as it's what __strtol does and it's more useful
89532         in practice.
89533         (__xstrtol): If __strtol reports some error other than ERANGE,
89534         reflect it to the caller as LONGINT_INVALID.  If it reports
89535         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
89536         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
89537         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
89538         value.
89539         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
89540         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
89541         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
89542         [defined UINTMAX_MAX]: New macros.
89543
89544 2003-10-14  Bruno Haible  <bruno@clisp.org>
89545
89546         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
89547
89548 2003-10-14  Bruno Haible  <bruno@clisp.org>
89549
89550         * m4/sig_atomic_t: New file, from GNU gettext.
89551         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
89552
89553 2003-10-14  Bruno Haible  <bruno@clisp.org>
89554
89555         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
89556         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
89557         Also use volatile where needed.
89558
89559 2003-10-12  Paul Eggert  <eggert@twinsun.com>
89560
89561         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
89562         Change maintainer from Bruno Haible to 'all'.
89563
89564 2003-10-12  Paul Eggert  <eggert@twinsun.com>
89565
89566         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
89567
89568 2003-10-12  Paul Eggert  <eggert@twinsun.com>
89569
89570         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
89571         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
89572         and define in terms of the other primitives.
89573         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
89574         (SIZE_MAX): Define if not already defined.
89575         (array_size_overflow): New function.
89576         (xalloc_die): Abort instead of exiting if 'error' returns.
89577         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
89578         (xmalloc, xrealloc): Use them.
89579         (xcalloc): Check for address arithmetic overflow.
89580         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
89581         a bit faster than strcpy.
89582
89583 2003-10-10  Simon Josefsson  <jas@extundo.com>
89584
89585         * modules/argp (Depends-on): Add restrict and strcase.
89586
89587 2003-10-10  Simon Josefsson  <jas@extundo.com>
89588
89589         * m4/argp.m4: Add AC_C_INLINE.
89590
89591 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89592
89593         Merge getpass from libc, plus a few fixes.
89594
89595         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
89596         Include <stdbool.h>.
89597         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
89598         __fsetlocking to empty.
89599         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
89600         do include <bits/libc-lock.h>.
89601         Do not include <fcntl.h>; not needed.
89602         [_LIBC]: Include <wchar.h>.
89603         (NOTCANCEL_MODE): New macro.
89604         (flockfile, funlockfile) [_LIBC]: New macros.
89605         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
89606         [!_LIBC]: New macros.
89607         (call_fclose): New function.
89608         (getpass): Use it.  Save tty stream separately; this simplifies the
89609         code and makes it more reliable if stdin happens to equal stdout.
89610         Invoke __fsetlocking on tty.
89611         Handle thread cancellation if needed.
89612         Namespace cleanup (use __tcgetattr, __getline).
89613         Use bool for Booleans.
89614         [USE_IN_LIBIO]: Handle wide streams.
89615         [!_LIBC]: Unconditionally do the fseek, since we don't know what
89616         stream might go where.
89617
89618         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
89619         doesn't have to include <stdio.h> before us.
89620         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
89621         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
89622         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
89623         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
89624         if not declared, so that we can use getpass.c code from libc without
89625         rewriting it.
89626         (flockfile, ftrylockfile, funlockfile): New macros.
89627
89628 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89629
89630         * modules/getpass: Depend on stdbool.
89631
89632 2003-10-08  Paul Eggert  <eggert@twinsun.com>
89633
89634         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
89635
89636 2003-10-07  Karl Berry  <karl@gnu.org>
89637
89638         * config/config.{guess,sub}: update from config.
89639
89640 2003-10-06  Jim Meyering  <jim@meyering.net>
89641             Bruno Haible  <bruno@clisp.org>
89642
89643         This lets translators provide better translations for the
89644         "Written by ..." part of --version output.
89645         * lib/version-etc.h: Include stdarg.h.
89646         (version_etc_copyright): Declare as readonly.
89647         (version_etc): Make this function variadic with a NULL-terminated list
89648         of author name strings.
89649         (version_etc_va): New declaration.
89650         * lib/version-etc.c: Include stdarg.h, stdlib.h.
89651         (version_etc_copyright): Declare as readonly.
89652         (version_etc_va): New function. Provide a different translatable string
89653         for each possible number of authors < 10. Abbreviate when there are 10
89654         authors or more.
89655         (version_etc): Make this function variadic. Call version_etc_va.
89656         Suggestion from Gary V. Vaughan.
89657
89658         * lib/long-options.h (parse_long_options): Change prototype: the
89659         authors string is moved to the end and becomes variadic.
89660         * lib/long-options.c: Include stdarg.h.
89661         (parse_long_options): Make this function variadic, too.
89662         Call version_etc_va, not version_etc.
89663
89664 2003-10-06  Bruno Haible  <bruno@clisp.org>
89665
89666         * modules/version-etc-2: Remove file.
89667         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
89668
89669 2003-10-06  Bruno Haible  <bruno@clisp.org>
89670
89671         * modules/fatal-signal: New file.
89672         * MODULES.html.sh (func_all_modules): Add fatal-signal.
89673
89674 2003-10-06  Bruno Haible  <bruno@clisp.org>
89675
89676         * m4/fatal-signal.m4: New file.
89677         * m4/signalblocking.m4: New file, from GNU gettext.
89678
89679 2003-10-06  Bruno Haible  <bruno@clisp.org>
89680
89681         * lib/version-etc-2.h: Remove file.
89682         * lib/version-etc-2.c: Remove file.
89683
89684 2003-10-06  Bruno Haible  <bruno@clisp.org>
89685
89686         * lib/fatal-signal.h: New file, from GNU gettext.
89687         * lib/fatal-signal.c: New file, from GNU gettext.
89688
89689 2003-10-05  Paul Eggert  <eggert@twinsun.com>
89690
89691         * README: Rework advice for preventing empty .o files.
89692         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
89693         not <sys/types.h>.
89694
89695 2003-10-04  Karl Berry  <karl@gnu.org>
89696
89697         * lib/argp*: update from libc.
89698
89699 2003-10-04  Karl Berry  <karl@gnu.org>
89700
89701         * config/config.{guess,sub}: update from config.
89702
89703 2003-10-02  Bruno Haible  <bruno@clisp.org>
89704
89705         * modules/lchown (Include): Add lchown.h.
89706         * modules/time_r (Include): Use "..." syntax.
89707         * modules/xgetdomainname (Include): Add xgetdomainname.h.
89708
89709 2003-10-01  Simon Josefsson  <jas@extundo.com>
89710
89711         * MODULES.html.sh (func_all_modules): Move gethostname from section
89712         'based on' to section 'lacking' POSIX:2001.
89713
89714 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
89715
89716         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
89717         to output mode on the same stream.
89718
89719 2003-09-29  Paul Eggert  <eggert@twinsun.com>
89720
89721         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
89722         Fix arg typo in previous patch.
89723
89724 2003-09-28  Jim Meyering  <jim@meyering.net>
89725
89726         * lib/error.c: Correct cpp indentation.
89727
89728 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89729
89730         * modules/free: New file.
89731
89732 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89733
89734         * m4/free.m4: New file.
89735
89736 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89737
89738         * lib/minmax.h (MIN, MAX)
89739         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
89740         Omit the special code that used __typeof__, since we worry that
89741         it could be more trouble than it's worth.  See:
89742         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
89743         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
89744
89745         * lib/free.c: New file.
89746
89747 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
89748
89749         Trivial fixes to Makefile.am parts of module listings.
89750         * modules/strstr: Append strstr.h to lib_SOURCES.
89751         * modules/strcase: Likewise, for strcase.h.
89752
89753 2003-09-27  Karl Berry  <karl@gnu.org>
89754
89755         * config/mkinstalldirs: update from automake.
89756
89757 2003-09-26  Paul Eggert  <eggert@twinsun.com>
89758
89759         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
89760         (error_tail): Do not loop, reallocating temporary buffer, since
89761         the output cannot contain more wide characters than the input
89762         contains bytes, the size must be big enough already.  This avoids
89763         one potential size overflow calculation.  Check for size overflow
89764         when calculating temporary buffer size.  Free temporary buffer
89765         when done, if it was allocated with malloc; this plugs a memory
89766         leak.  Remove casts from void * to pointers, that are no longer
89767         needed now that we're assuming C89 or better.
89768
89769         Merge error changes from glibc.
89770
89771         * lib/error.c, error.h: Update copyright notice header to match glibc.
89772         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
89773         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
89774         Disable cancellation while printing error.
89775         * lib/error.h: Prepend __ to parameter names.
89776
89777 2003-09-26  Jim Meyering  <jim@meyering.net>
89778
89779         * lib/error.c (error_tail): Move some declarations
89780         into inner scope where the local variables are used.
89781
89782 2003-09-26  Bruno Haible  <bruno@clisp.org>
89783
89784         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
89785         stpncpy().
89786         Don't define stpncpy through config.h; it's now done through stpncpy.h.
89787
89788 2003-09-26  Bruno Haible  <bruno@clisp.org>
89789
89790         * lib/stpncpy.h (gnu_stpncpy): New declaration.
89791         (stpncpy): Define as alias for gnu_stpncpy.
89792         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
89793
89794 2003-09-25  Simon Josefsson  <jas@extundo.com>
89795
89796         * lib/xgetdomainname.h: New file.
89797         * lib/xgetdomainname.c: New file.
89798
89799 2003-09-25  Simon Josefsson  <jas@extundo.com>
89800             Bruno Haible  <bruno@clisp.org>
89801
89802         * modules/getdomainname: New file.
89803         * modules/xgetdomainname: New file.
89804         * MODULES.html.sh (func_all_modules): Add getdomainname,
89805         xgetdomainname.
89806
89807 2003-09-25  Simon Josefsson  <jas@extundo.com>
89808             Bruno Haible  <bruno@clisp.org>
89809
89810         * m4/getdomainname.m4: New file.
89811
89812 2003-09-25  Simon Josefsson  <jas@extundo.com>
89813             Bruno Haible  <bruno@clisp.org>
89814
89815         * lib/getdomainname.h: New file.
89816         * lib/getdomainname.c: New file.
89817
89818 2003-09-25  Karl Berry  <karl@gnu.org>
89819
89820         * lib/argp-fmtstream.c, argp-help.c: update from libc.
89821
89822 2003-09-25  Karl Berry  <karl@gnu.org>
89823
89824         * config/install-sh: update from automake.
89825
89826 2003-09-25  Bruno Haible  <bruno@clisp.org>
89827
89828         * modules/version-etc-2: New file, from modules/version-etc with
89829         modifications.
89830         * MODULES.html.sh (func_all_modules): Add version-etc-2.
89831
89832 2003-09-25  Bruno Haible  <bruno@clisp.org>
89833
89834         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
89835         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
89836
89837 2003-09-24  Simon Josefsson  <jas@extundo.com>
89838
89839         * modules/xgethostname: Add xgethostname.h.
89840
89841 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89842
89843         * lib/linebuffer.c (freebuffer): Don't free the argument, just
89844         the buffer associated with the argument.  Bug reported by
89845         Simon Josefsson.
89846
89847 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89848
89849         * README: Document assumptions that 'int' is at least 32 bits
89850         wide, that integer arithmetic is 2's complement without overflow,
89851         that there are no holes in integer values, that adding sizes of
89852         two nonoverlapping objects can't overflow, and that all-bits-zero
89853         yields scalar zero.  Fix spelling and capitalization typos.
89854
89855 2003-09-19  Karl Berry  <karl@gnu.org>
89856
89857         * lib/argp.h: update from libc.
89858
89859 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89860
89861         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
89862         to avoid spurious warnings like "AC_RUN_IFELSE was called before
89863         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
89864
89865 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89866
89867         * gnulib-tool: Use "test -h", not "test -L", for portability
89868         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
89869         (tags_regexp): Remove, since \| doesn't conform to POSIX.
89870         (sed_extract_prog): Issue s commands one-by-one, rather than
89871         using \| in one s command.
89872
89873 2003-09-16  Paul Eggert  <eggert@twinsun.com>
89874
89875         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
89876         input error, instead of returning NULL the next time we are called
89877         (and therefore losing track of errno).
89878
89879 2003-09-16  Bruno Haible  <bruno@clisp.org>
89880
89881         * gnulib-tool (func_create_testdir): Warn about duplicated
89882         dependencies.
89883
89884 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89885
89886         * modules/argmatch, modules/fatal, modules/obstack,
89887         modules/xalloc, modules/xgethostname: Sort dependencies by
89888         importance, not alphabetically.
89889
89890 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89891
89892         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
89893         fails, so that the caller gets the proper errno.
89894
89895         * lib/readutmp.c (read_utmp): Likewise.
89896         Check for fstat error.  Close stream and free storage
89897         when failing.
89898
89899 2003-09-14  Karl Berry  <karl@gnu.org>
89900
89901         * config/srclist.txt (strdup.c): disable for c89 changes.
89902
89903 2003-09-14  Jim Meyering  <jim@meyering.net>
89904
89905         * lib/getloadavg.c: Correct cpp indentation.
89906         * lib/strdup.c: Likewise.
89907         * lib/vasnprintf.c: Likewise.
89908
89909 2003-09-14  Bruno Haible  <bruno@clisp.org>
89910
89911         * modules/fwriteerror: New file.
89912         * MODULES.html.sh (func_all_modules): Add fwriteerror.
89913
89914 2003-09-14  Bruno Haible  <bruno@clisp.org>
89915
89916         * lib/fwriteerror.h: New file.
89917         * lib/fwriteerror.c: New file.
89918
89919 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89920
89921         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
89922         modules/xgethostname, modules/xalloc: Depend on exit.
89923
89924 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89925
89926         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
89927
89928         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
89929         and AC_MINIX, too, so that their extensions are available.
89930
89931         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
89932         This macro has been superseded by gl_BACKUPFILE.
89933
89934         More patches to assume C89 or better.
89935
89936         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
89937
89938         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
89939         unconditionally.
89940         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
89941         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
89942         Include <string.h>, <stdlib.h> unconditionally.
89943         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
89944         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
89945         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
89946         headers or for string.h.
89947         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
89948         or strtoul.
89949
89950         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
89951         headers.
89952         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
89953         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89954         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
89955         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
89956         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89957         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
89958         memcpy, memset.
89959         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
89960         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
89961         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
89962         strtol.
89963         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
89964         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
89965         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
89966         strtoul.
89967
89968 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89969
89970         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
89971         * lib/obstack.c [!defined _LIBC]: Likewise.
89972         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
89973         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
89974         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
89975
89976         More changes to assume C89 or better.
89977
89978         * lib/error.c (error_tail): Assume vprintf.
89979
89980         * lib/argmatch.c (getenv): Remove decl.
89981         * lib/progreloc.c (get_full_program_name): Define via prototype.
89982         * lib/setenv.c (clearenv): Likewise.
89983         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
89984         needed.
89985         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
89986         (malloc, memcpy): Remove decls.
89987         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
89988         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
89989         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89990         (memcpy): Remove macro.
89991         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
89992         (__P): Remove.  All uses removed.
89993         (PTR): Remove.  All uses changed to void *.
89994         (CHAR_BIT, NULL): Remove.
89995         (spaces, zeros, memset_space, memset_zero)
89996         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
89997         Remove.
89998         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
89999         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
90000         Define with prototype.
90001         Remove now-unnecessary prototype decl.
90002         (extra_args_spec): Assume ANSI C.  All uses changed.
90003         (extra_args_spec_iso): Remove.
90004         (my_strftime, emacs_strftimeu): Define via prototype.
90005         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
90006         unconditionally.
90007         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
90008         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
90009         (strtoul, strtol): Remove decls.
90010         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
90011         LONG_MAX): Remove.
90012         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
90013         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
90014         (LOCALE_PARAM_PROTO): New macro.
90015         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
90016         (INTERNAL (strtol), strtol): Define with a prototype.
90017         (PARAMS): Remove.  All uses removed.
90018         * lib/tempname.c: Include <string.h> unconditionally.
90019         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
90020         * lib/xgethostname.c (main): Define with a prototype.
90021         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
90022         Include <stdlib.h> unconditionally.
90023         (calloc, malloc, realloc, free): Remove decls.
90024         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
90025         Include <stdlib.h> unconditionally.  Sort include file names.
90026         (strtod): Remove.
90027         (xstrtod): Define with a prototype.
90028         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
90029         (strtol, strtoul): Remove decls.
90030
90031 2003-09-11  Paul Eggert  <eggert@twinsun.com>
90032
90033         More patches to assume C89 or better.
90034         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
90035         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
90036         string.h, memchr, STDC_HEADERS.
90037
90038 2003-09-11  Paul Eggert  <eggert@twinsun.com>
90039
90040         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
90041         Include <stdlib.h>, <string.h> unconditionally.
90042         Remove now-unnecessary cast to char *.
90043         * lib/strnlen.c: Include <string.h> unconditionally.
90044         * lib/yesno.c (yesno): Define with a prototype.
90045
90046 2003-09-11  Bruno Haible  <bruno@clisp.org>
90047
90048         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
90049
90050 2003-09-10  Jim Meyering  <jim@meyering.net>
90051
90052         * lib/error.c: Correct indentation of cpp directives.
90053
90054 2003-09-10  Bruno Haible  <bruno@clisp.org>
90055
90056         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
90057         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
90058         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
90059         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
90060         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
90061         <stdlib.h> and <string.h> checks.
90062         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
90063         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
90064
90065 2003-09-10  Bruno Haible  <bruno@clisp.org>
90066
90067         * lib/strcspn.c: Include <string.h> unconditionally.
90068         * lib/strpbrk.c: Include <string.h> unconditionally.
90069         * lib/strstr.c: Include <string.h> unconditionally.
90070         * lib/unicodeio.c: Include <string.h> unconditionally.
90071         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
90072         * lib/unsetenv.c: Likewise.
90073         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
90074         * lib/yesno.c: Include <stdlib.h> unconditionally.
90075         (rpmatch): Add prototype.
90076
90077 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90078
90079         More patches to assume C89 or better.
90080         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
90081         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
90082         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
90083         or for string.h.
90084         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
90085         stdlib.h.
90086         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
90087         C headers.
90088         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
90089         string.h.
90090         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
90091         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
90092         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
90093         or for string.h.
90094         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
90095         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
90096         C headers.
90097         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
90098         memcpy.
90099         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
90100         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
90101         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
90102         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
90103         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
90104         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
90105         string.h, free.
90106         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
90107         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
90108         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
90109         C headers, or for string.h.
90110         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
90111         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
90112         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
90113         headers, memory.h, stdlib.h, string.h, strings.h.
90114         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
90115         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
90116         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
90117         strchr.
90118         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
90119         headers, memory.h, string.h.
90120         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
90121         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
90122         free.
90123         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
90124         headers.
90125         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
90126         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
90127         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
90128         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
90129         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
90130
90131 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90132
90133         More K&R removal.
90134
90135         * lib/acosl.c (main): Use a prototype.
90136         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
90137         tanl.c: Likewise.
90138
90139         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
90140
90141         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
90142         (getopt, etopt_long, getopt_long_only, _getopt_internal)
90143         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
90144         with a prototype.
90145         * lib/getopt.c (const): Remove macro.
90146         Include <string.h> unconditionally.
90147         (my_index): Remove; all uses changed to strchr.
90148         (strlen): Remove decl.
90149         (exchange): Remove forward decl; no longer needed.
90150         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
90151         Define with prototype.
90152         * lib/getopt1.c (const): Remove macro.
90153         (getopt_long, getopt_long_only, main): Define with prototype.
90154
90155         * lib/getugroups.c: Include <string.h> unconditionally.
90156
90157         * lib/getusershell.c: Include <stdlib.h> unconditionally.
90158         (getusershell, setusershell, endusershell, readname, main):
90159         Define with prototypes.
90160
90161         * lib/group-member.c: Include group-member.h first.
90162         Include <stdlib.h> unconditionally.
90163
90164         * lib/hard-locale.c: Include hard-locale.h first.
90165         Include <stdlib.h>, <string.h> unconditionally.
90166
90167         * lib/hash.c (free, malloc): Remove decls.
90168         Include <stdlib.h> unconditionally.
90169
90170         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
90171         (getenv): Do not declare.
90172
90173         * lib/idcache.c: Include <string.h> unconditionally.
90174
90175         * lib/long-options.c: Include long-options.h first, to test interface.
90176         Include <stdlib.h> unconditionally.
90177
90178         * lib/makepath.c: Include makepath.h first, to test interface.
90179         Include <stdlib.h> and <string.h> unconditionally.
90180
90181         * lib/linebuffer.c: Include <stdlib.h>.
90182         (free): Remove decl.
90183
90184         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
90185         stddef.h. rpl_malloc returns void *, not char *.
90186         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
90187         prototype.
90188
90189         * lib/md5.h: Include <limits.h> unconditionally.
90190         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
90191         (__P): Remove; all uses removed.
90192         * lib/md5.c: Include "md5.h" first.
90193         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
90194         md5_buffer, md5_process_bytes, md5_process_block):
90195         Define with prototypes.
90196         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
90197         * lib/sha.c: Include "sha.h" first.
90198         Include <stdlib.h>, <string.h> unconditionally.
90199
90200         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
90201         * lib/memcmp.c (__ptr_t): Likewise.
90202         * lib/memrchr.c (__ptr_t): Likewise.
90203         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
90204         Include <string.h> unconditionally.
90205         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
90206         * lib/memchr.c: Include <stdlib.h> unconditionally.
90207         * lib/memchr.c (LONG_MAX): Remove.
90208         * lib/memrchr.c (LONG_MAX): Likewise.
90209         * lib/memchr.c (__memchr): Define via a prototype.
90210         * lib/memrchr.c (__memrchr): Likewise.
90211         * lib/memcmp.c (__P): Remove, and remove all uses.
90212         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
90213         Remove forward decls; no longer needed.
90214         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
90215         Use types required by C89 in prototype.
90216
90217         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
90218         * lib/savedir.c: Likewise.
90219         * lib/mkdir.c (free): Remove decl.
90220         * lib/rmdir.c (rmdir): Define with a prototype.
90221         * lib/savedir.c: Include savedir.h first, to test interface.
90222
90223         * lib/mktime.c (STDC_HEADERS): Remove.
90224         Include <stdlib.h>, <string.h> unconditionally.
90225
90226         * lib/modechange.c: Include <stdlib.h> unconditionally.
90227         (malloc): Remove decl.
90228
90229         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
90230         (free): Remove decl.
90231
90232         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
90233         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
90234         (This type really should be intptr_t, but that's a C99ism.)
90235         (_obstack_memcpy): Remove: all uses changed to memcpy.
90236         Include <string.h> unconditionally.
90237         (struct obstack): Assume __STDC__ for types of members
90238         chunkfun, freefun, extra_arg.
90239         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
90240         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
90241         obstack_begin, obstack_specify_allocation,
90242         obstack_specify_allocation_with_arg, obstack_chunkfun,
90243         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
90244         Remove unprototyped decls and the macros that use them.
90245         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
90246         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
90247         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
90248         (defined __STDC__ && __STDC__)]:
90249         Remove nonprototyped code.
90250         Include <stdlib.h> unconditionally.
90251         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
90252         _obstack_allocated_p, _obstack_free, obstack_free,
90253         _obstack_memory_used, print_and_abort):
90254         Define using prototypes.
90255         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
90256         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
90257         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
90258         obstack_next_free, obstack_object_size, obstack_room) [0]:
90259         Remove unused, unprototyped code.
90260
90261         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
90262
90263         * lib/physmem.c (physmem_total, physmem_available, main): Define
90264         with prototypes.
90265
90266         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
90267         (main): Define with a prototype.
90268
90269         * lib/posixver.c (getenv): Remove decl.
90270
90271         * lib/putenv.c (malloc): Returns void *, not char *.
90272         Include <string.h> unconditionally.
90273         (strchr, memcpy, NULL): Do not define.
90274
90275         * lib/readtokens.c: Include readtokens.h first, to test interface.
90276         Include <stdlib.h>, <string.h> unconditionally.
90277         (init_tokenbuffer): Define with a prototype.
90278
90279         * lib/regex.c (PARAMS): Remove.  All uses removed.
90280         All uses of _RE_ARGS removed, too.
90281         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
90282         unconditionally.
90283         (bzero): Assume memset exists.
90284         (memcmp, memcpy, NULL): Remove.
90285         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
90286         char, or assignments to local vars of type signed char.
90287         (init_syntax_once, PREFIX(extract_number_and_incr),
90288         PREFIX(print_partial_compiled_pattern),
90289         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
90290         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
90291         PREFIX(regex_grow_registers), PREFIX(regex_compile),
90292         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
90293         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
90294         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
90295         wcs_compile_range, byte_compile_range, truncate_wchar,
90296         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
90297         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
90298         count_mbs_length, wcs_re_match_2_internal,
90299         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
90300         PREFIX(alt_match_null_string_p),
90301         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
90302         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
90303         regfree, PREFIX(extract_number)): Define with prototype.  Remove
90304         now-unnecessary declaration, if any.
90305         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
90306         regcomp, regexec):
90307         Remove now-unnecessary casts among pointer types.
90308         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
90309
90310         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
90311         (free): Remove decl.
90312
90313         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
90314
90315         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
90316         (free): Remove decl.
90317
90318         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
90319         * lib/xgetcwd.c: Likewise.
90320
90321         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
90322         (free): Remove decl.
90323
90324         * lib/strchrnul.c (strchrnul): Define with a prototype.
90325         Fix bug: c_in was not converted to char before searching.
90326
90327         The following changes are not K&R related:
90328
90329         * lib/group-member.h: Include <sys/types.h>, so that this file is
90330         self-contained.
90331         * lib/makepath.h: Likewise.
90332
90333         * lib/getusershell.c (readname, default_index, line_size, readname):
90334         Use size_t, not int, for sizes.
90335         (readname): If the size overflows, report an error instead of
90336         looping forever.
90337
90338 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90339
90340         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
90341         libc.
90342
90343 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90344
90345         * README: New section: portability guidelines.
90346
90347 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
90348
90349         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
90350         C89 spec.
90351
90352 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
90353
90354         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
90355
90356 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90357
90358         Assume C89 or better; remove K&R cruft.
90359         A few of these changes were first proposed by Derek Robert Price
90360         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
90361
90362         * lib/addext.c: Include <string.h> unconditionally.
90363         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
90364         Don't declare getenv or malloc.
90365
90366         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
90367         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
90368         (NULL): Remove.
90369         (find_stack_direction, alloca): Use prototypes.
90370
90371         * lib/atexit.c (atexit): Define using a prototype.
90372
90373         * lib/basename.c, dirname.c, stripslash.c:
90374         Include <string.h> unconditionally.
90375
90376         * lib/bcopy.c: Include <stddef.h>.
90377         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
90378
90379         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
90380
90381         * lib/error.h (error, error_at_line, error_print_progname)
90382         [! (defined (__STDC__) && __STDC__)]: Remove decls.
90383         * lib/error.c: Include error.h first, to check interface.
90384         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
90385         (VA_START): Remove; all uses changeed to va_start.
90386         (exit, strerror): Remove decls.
90387         (error_print_progname): Prototype uncondionally.
90388         Don't include <errno.h>; no longer needed.
90389         (private_strerror): Remove.
90390         (error_tail): Always define.
90391         (error, error_at_line): Assume C89 or better; always use prototypes.
90392         * lib/fatal.c: Include "fatal.h" first, to test interface.
90393         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
90394         (VA_START): Remove; all uses changed to va_start.
90395         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
90396         this case.
90397         (exit): Remove decl.
90398         (fatal): Prototype unconditionally.  Assume va_start works.
90399         Abort at end, to pacify gcc.
90400
90401         * lib/euidaccess.c (main): Define with a prototype.
90402
90403         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
90404
90405         * lib/exitfail.c: Include <stdlib.h> unconditionally.
90406
90407         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
90408         prototypes.
90409         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
90410         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
90411         (getenv): Remove decl.
90412         (fnmatch): Define using a prototype.
90413         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
90414         (FCT): Define using a prototype.
90415
90416         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
90417
90418         * lib/gethostname.c: Include <stddef.h>.
90419         (gethostname): Define with prototype.  Length is size_t, not int.
90420
90421 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90422
90423         Assume C89 or better; remove K&R cruft.
90424         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
90425         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
90426         string.h, getenv, malloc.
90427         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
90428         headers.
90429         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
90430         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
90431         do not check for strerror.
90432         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
90433         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
90434         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
90435         do not check for doprnt or vprintf.
90436         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
90437         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
90438
90439 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90440
90441         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
90442         getversion.c should have been removed then, but was accidentally
90443         preserved.
90444
90445         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
90446         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
90447
90448 2003-09-08  Karl Berry  <karl@gnu.org>
90449
90450         * config/config.sub, config.guess, srclistvars.sh: update from savannah
90451                 config, forget about prep.
90452
90453         * config/depcomp, missing: update from automake.
90454
90455 2003-09-07  Paul Eggert  <eggert@twinsun.com>
90456
90457         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
90458         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
90459
90460 2003-09-07  Paul Eggert  <eggert@twinsun.com>
90461
90462         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
90463         copy_tm_result.  Bug reported by Simon Josefsson in
90464         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
90465
90466 2003-09-06  Paul Eggert  <eggert@twinsun.com>
90467
90468         * m4/time_r.m4: New file.
90469         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
90470         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
90471         is. Check for timegm declaration.
90472         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
90473         Do not check for gmtime_r.
90474         Replace mktime if __mktime_internal does not exist and if mktime
90475         hasn't been replaced already.
90476
90477 2003-09-06  Paul Eggert  <eggert@twinsun.com>
90478
90479         * lib/time_r.c, lib/time_r.h: New files.
90480
90481         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
90482         __localtime_r.
90483         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
90484         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
90485
90486         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
90487         __gmtime_r.
90488         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
90489         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
90490         Include <time_r.h>.
90491
90492         * lib/timegm.c: Switch to glibc implementation, with the following
90493         changes:
90494         [defined HAVE_CONFIG_H]: Include <config.h>.
90495         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
90496         (__mktime_internal) [!defined _LIBC]: New decl.
90497         (__gmtime_r) [!defined _LIBC]: New macro and function.
90498         (timegm): Use a prototype, since gnulib assumes C89.
90499         Do not bother declaring tmp to be const, as it's not really usefu.
90500         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
90501         (timegm): Declare only if HAVE_DECL_TIMEGM.
90502
90503 2003-09-06  Paul Eggert  <eggert@twinsun.com>
90504
90505         * MODULES.html.sh (func_all_modules): Add time_r.
90506         * modules/time_r: New file.
90507         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
90508         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
90509
90510 2003-09-03  Paul Eggert  <eggert@twinsun.com>
90511
90512         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
90513         Bug reported by Lute Kamstra in
90514         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
90515
90516         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
90517         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
90518         course with correspondingly smaller numbers for tomorrow and
90519         yesterday.  From Tadayoshi Funaba.  Originally installed into
90520         sh-utils on 1999-08-07, but the patch got lost (I guess during the
90521         coreutils merge?).
90522
90523 2003-08-31  Simon Josefsson  <jas@extundo.com>
90524
90525         * modules/timegm: New file.
90526         * MODULES.html.sh (func_all_modules): Add timegm.
90527
90528 2003-08-31  Simon Josefsson  <jas@extundo.com>
90529
90530         * m4/timegm.m4: New file.
90531
90532 2003-08-31  Simon Josefsson  <jas@extundo.com>
90533
90534         * lib/timegm.h: New file.
90535         * lib/timegm.c: New file.  Based on
90536         wget-1.8.2/src/http.c:mktime_from_utc.
90537
90538 2003-08-31  Karl Berry  <karl@gnu.org>
90539
90540         * lib/argp.h: update from libc.
90541
90542 2003-08-28  Bruno Haible  <bruno@clisp.org>
90543
90544         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
90545         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
90546         followed by '#define fnmatch fnmatch_posix' gives an error.
90547
90548 2003-08-28  Bruno Haible  <bruno@clisp.org>
90549
90550         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
90551         warning on QNX, which defines O_BINARY to 000000.
90552
90553 2003-08-27  Jim Meyering  <jim@meyering.net>
90554
90555         * m4/mkstemp.m4: Require that the system mkstemp be able to create
90556         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
90557         would fail after 32.  Reported by Danny Levinson.  Details here:
90558         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
90559
90560 2003-08-24  Bruno Haible  <bruno@clisp.org>
90561
90562         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
90563         MSVC7 <stdio.h> is included later.
90564
90565 2003-08-22  Simon Josefsson  <jas@extundo.com>
90566
90567         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
90568
90569 2003-08-20  Karl Berry  <karl@gnu.org>
90570
90571         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
90572
90573 2003-08-20  Bruno Haible  <bruno@clisp.org>
90574
90575         * modules/progname: New file.
90576         * MODULES.html.sh (func_all_modules): Add progname.
90577
90578 2003-08-20  Bruno Haible  <bruno@clisp.org>
90579
90580         * lib/progname.h: New file, from GNU gettext.
90581         * lib/progname.c: New file, from GNU gettext.
90582         * lib/progreloc.c: New file, from GNU gettext.
90583
90584 2003-08-19  Jim Meyering  <jim@meyering.net>
90585
90586         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
90587         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
90588
90589 2003-08-19  Bruno Haible  <bruno@clisp.org>
90590
90591         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
90592         more.
90593
90594 2003-08-19  Bruno Haible  <bruno@clisp.org>
90595
90596         * lib/xstrdup.c: Assume <string.h> exists.
90597
90598 2003-08-18  Paul Eggert  <eggert@twinsun.com>
90599
90600         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
90601         in makefile rules.
90602
90603 2003-08-18  Jim Meyering  <jim@meyering.net>
90604
90605         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
90606         * m4/lib-ld.m4: Likewise.
90607
90608 2003-08-18  Jim Meyering  <jim@meyering.net>
90609
90610         * lib/setenv.h: Indent nested cpp directive.
90611         * lib/vasnprintf.c: Remove trailing blanks.
90612
90613 2003-08-17  Simon Josefsson  <jas@extundo.com>
90614
90615         * modules/xstrndup: New file.
90616         * MODULES.html.sh (func_all_modules): Add xstrndup.
90617
90618 2003-08-17  Simon Josefsson  <jas@extundo.com>
90619
90620         * modules/argp: Fix autoconf macro name. Add more dependencies.
90621
90622 2003-08-17  Simon Josefsson  <jas@extundo.com>
90623
90624         * m4/xstrndup.m4: New file.
90625
90626 2003-08-17  Simon Josefsson  <jas@extundo.com>
90627
90628         * m4/argp.m4: New file.
90629
90630 2003-08-17  Simon Josefsson  <jas@extundo.com>
90631             Bruno Haible  <bruno@clisp.org>
90632
90633         * lib/xstrndup.h: New file.
90634         * lib/xstrndup.c: New file.
90635
90636 2003-08-17  Bruno Haible  <bruno@clisp.org>
90637
90638         * modules/strndup (Files, Include): Add lib/strndup.h.
90639
90640 2003-08-17  Bruno Haible  <bruno@clisp.org>
90641
90642         * modules/euidaccess (Files): Add lib/euidaccess.h.
90643
90644 2003-08-17  Bruno Haible  <bruno@clisp.org>
90645
90646         * lib/strndup.h: New file.
90647
90648 2003-08-17  Bruno Haible  <bruno@clisp.org>
90649
90650         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
90651         like AC_GNU_SOURCE.
90652         * modules/extensions (configure.ac): Comment out the invocation of
90653         gl_USE_SYSTEM_EXTENSIONS.
90654
90655 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90656
90657         Merges from coreutils, etc.
90658         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
90659         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
90660         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
90661         fixing a typo.
90662         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
90663         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
90664
90665 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90666
90667         Document merge from coreutils.
90668         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
90669         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
90670         * modules/utime: Add m4/utimes-null.m4.
90671
90672 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90673
90674         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
90675         space, undoing this 2003-08-12 change:
90676         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90677
90678 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90679
90680         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
90681         strtoul.c from libc, undoing this 2003-08-12 change:
90682         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90683
90684 2003-08-16  Jim Meyering  <jim@meyering.net>
90685
90686         Merges from coreutils.
90687         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
90688         prefix.  Adjust cache variables similarly.  Create 500 rather than
90689         just 300 files, to exercise bug on Darwin6.5, too.
90690         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
90691         $missing_dir.
90692         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
90693         AM_SYS_POSIX_TERMIOS.
90694         Reported by mkc@mathdogs.com.
90695         Also change use of $am_cv_sys_posix_termios
90696         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
90697         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
90698         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
90699         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
90700         in /proc/mounts until it finds one with matching device number.  This
90701         is unnecessary when the FILE argument *is* a mount point.  No stat call
90702         is necessary in that case.  So, disable the statvfs-testing code on
90703         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
90704         as RedHat bug# 84846.
90705         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90706         to 1MB, so as not to render systems with no stack size limit (e.g.,
90707         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90708         Include <unistd.h>.  On some systems,
90709         it is required for the definition of _SC_PAGESIZE.
90710
90711 2003-08-16  Jim Meyering  <jim@meyering.net>
90712
90713         Merge from coreutils.
90714         * lib/xstrtoimax.c: #else #if -> #elif.
90715         * lib/xstrtoumax.c: Likewise.
90716
90717 2003-08-16  Jim Meyering  <jim@meyering.net>
90718
90719         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
90720         * m4/utimes.m4: Removed.
90721         * m4/utimes-null.m4: Renamed from utimes.m4.
90722
90723         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90724         to 1MB, so as not to render systems with no stack size limit (e.g.,
90725         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90726         Include <unistd.h>.  On some systems,
90727         it is required for the definition of _SC_PAGESIZE.
90728
90729 2003-08-16  Jim Meyering  <jim@meyering.net>
90730         and Paul Eggert  <eggert@cs.ucla.edu>
90731
90732         Merges from coreutils, etc.
90733
90734         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
90735         using the latest version from cvs.  This avoids problems with #line
90736         directives using a vendor (Sun) compiler.
90737         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
90738         Don't set GETGROUPS_LIB here; now it's
90739         done via getgroups.m4's wrapper function.
90740         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
90741         rather than just in sh-util/configure.in, so that the
90742         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
90743         same.
90744         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
90745         AC_FUNC_GETLOADAVG where to find getloadavg.c.
90746         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
90747         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
90748         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
90749         Remove code that is now done by the newly-required macros.
90750         Append $(EXEEXT) to DF_PROG.
90751         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
90752         Do not invoke or require the following here,
90753         since prereq.m4 or some gnulib .m4 now does this for us:
90754         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
90755         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
90756         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
90757         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
90758         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
90759         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
90760         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
90761         AC_FUNC_OBSTACK.
90762         Do not replace the following functions, as this is now the job
90763         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
90764         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
90765         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
90766         atexit getpass, strdup, getpagesize.
90767         Replace 'raise'.
90768         Do not check for the following functions, as this is now the job
90769         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
90770         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
90771         setregid.
90772         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
90773         Check for sys/sysctl.h.
90774         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
90775         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
90776         of checking for ssize_t ourselves.
90777
90778         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
90779         Require every macro that gnulib/modules/* suggests for us.
90780         (jm_PREREQ_ADDEXT): New macro.
90781         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
90782         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
90783
90784         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
90785         (gl_PHYSMEM): Use it.
90786         Also check for `table' function.
90787         Check for new headers and functions.
90788         Add check for sys/sysmp.h.
90789         With suggestions from Kaveh Ghazi.
90790         Ignore headers that are present but cannot be compiled.  This
90791         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
90792         C 5.4.
90793
90794 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90795
90796         Document merge from coreutils.
90797         * modules/userspec: Depend on posixver.
90798         * modules/strftime: Depend on tzset.
90799
90800 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90801
90802         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
90803         rather than tab, after '#' in shell-script copyright notices.
90804         Suggested by Bruno Haible.
90805
90806 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90807
90808         * config/srclist-update: Use three spaces, rather than tab, after '#'
90809         in shell-script copyright notices.  Suggested by Bruno Haible.
90810         Remove unnecessary parenthesization in regular expression.
90811
90812 2003-08-15  Jim Meyering  <jim@meyering.net>
90813
90814         Merge from coreutils.
90815         * lib/xgethostname.c: Include <stdlib.h>.
90816         (xghostname): Don't exit for anything other than memory-related
90817         failure; just return NULL.
90818         * lib/userspec.c: Include "posixver.h".
90819         (parse_user_spec): Accept `.' as a separator only
90820         in pre-POSIX-200112 mode.
90821         * lib/strtoimax.c: Use #elif rather than #else #if.
90822         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
90823         Remove function, now that we can rely on a working tzset function.
90824         [!_LIBC]: Ensure that the required autoconf test has been run.
90825         [!defined _NL_CURRENT && HAVE_STRFTIME]:
90826         Use underlying_strftime for %r.
90827         * lib/sha.c: Merge in some clean-up and optimization changes from
90828         glibc.
90829         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
90830         Ensure that it is a multiple of 64.
90831         Rearrange loop exit tests so as to avoid performing an
90832         additional fread after encountering an error or EOF.
90833         * lib/realloc.c: Update copyright date.
90834
90835 2003-08-15  Jim Meyering  <jim@meyering.net>
90836         and Paul Eggert  <eggert@twinsun.com>
90837
90838         Merge from coreutils.
90839         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
90840         member but strut utmpx does not.  Needed for AIX 4.3.3.
90841         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
90842
90843 2003-08-15  Jim Meyering  <jim@meyering.net>
90844         and Paul Eggert  <eggert@cs.ucla.edu>
90845
90846         Merges from coreutils, etc.
90847         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
90848         Require gl_FUNC_TZSET_CLOBBER.
90849         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
90850         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
90851         members.
90852
90853 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90854
90855         Help the merge from coreutils.
90856         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
90857         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
90858         * m4/tzset.m4: Use it too.
90859
90860 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90861
90862         * modules/tzset: New file.
90863
90864 2003-08-14  Jim Meyering  <jim@meyering.net>
90865
90866         Merges from coreutils.
90867         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
90868         variable names, rather than @FNMATCH_H@.
90869         * modules/alloca: Likewise for $(ALLOCA_H).
90870
90871         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
90872         the three copies of the literal target, `fnmatch.h'.
90873         * modules/alloca (alloca.h): Likewise.
90874
90875 2003-08-14  Jim Meyering  <jim@meyering.net>
90876
90877         Merge from coreutils.
90878         * m4/tzset.m4: New file.
90879         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
90880         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
90881         otherwise, AIX 5.1 systems would end up using the latter.
90882         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
90883         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
90884         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
90885         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
90886
90887 2003-08-14  Jim Meyering  <jim@meyering.net>
90888
90889         Merge from coreutils.
90890         * lib/obstack.h: Whitespace changes.
90891         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
90892         and xcalloc return values.
90893         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
90894         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
90895         hang on OSF/1 5.1 for DIR on both local and remote file systems.
90896         Reported by (and fix confirmed by) Nelson H. F. Beebe.
90897         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90898         error from mntctl.
90899         Use mntctl's return value to drive the entry-processing loop, since
90900         we can't rely on the value of the vmt_length member in the last
90901         entry.  On some systems doing so could result in exhausting
90902         virtual memory.  Based in part on a patch from Mike Jetzer.
90903
90904 2003-08-14  Jim Meyering  <jim@meyering.net>
90905         and Paul Eggert  <eggert@twinsun.com>
90906
90907         Merges from coreutils, plus other fixes.
90908         * lib/physmem.c: Merge in portability changes from gcc/libiberty
90909         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
90910         for credits and details.  Thanks to Kaveh Ghazi for helping
90911         to keep these files in sync.
90912         (ARRAY_SIZE): Define it.
90913         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
90914         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
90915         (memcasecmp): Don't assume size_t fits in unsigned int.
90916         Remove casts and duplicate code.
90917         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
90918         (memcpy): Remove definition.
90919         Merge in some clean-up and optimization changes from glibc.
90920         [BLOCKSIZE]: Move definition to top of file.
90921         Ensure that it is a multiple of 64.
90922         Rearrange loop exit tests so as to avoid performing an
90923         additional fread after encountering an error or EOF.
90924         * lib/md5.h (md5_uintptr): Define.
90925         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
90926         return to the initial working directory.  Preserve errno
90927         for caller.
90928         * lib/idcache.c: Include "xalloc.h".
90929         (xmalloc, xrealloc): Remove decls.
90930         (getuser): Remove casts no longer required in C89.
90931         * lib/human.c: Include stdio.h, for sprintf.
90932         * lib/group-member.c: Include "xalloc.h".
90933         (xmalloc, xrealloc): Remove decls.
90934         (get_group_info): Remove casts no longer required in C89.
90935         * lib/getusershell.c (readname): Remove casts no longer required in
90936         C89.
90937         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
90938         * lib/getline.c: Whitespace fix, from coreutils.
90939
90940 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90941
90942         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
90943         Check for isascii.
90944
90945         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90946         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90947         Undo previous (whitespace-only) change.
90948
90949 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90950
90951         * lib/exclude.c: Include <ctype.h>
90952         (IN_CTYPE_DOMAIN): New macro.
90953         (is_space): New fn.
90954         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
90955         and empty lines.
90956
90957         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90958         Undo previous (whitespace-only) change.
90959
90960 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90961
90962         * config/srclist-update: Change update back to the old behavior,
90963         leaving whitespace alone.  Use one 'sed' command rather than a
90964         pipeline.
90965         (fixlicense): Now a variable, not a function.
90966         (remove_trailing_blanks): Remove.
90967         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
90968         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90969         Undo previous (whitespace-only) change.
90970
90971 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90972
90973         Merge from coreutils.
90974         * modules/euidaccess: Add lib_SOURCES, include for new
90975         file euidaccess.h
90976
90977 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90978
90979         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90980         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90981         Normalize leading white space and remove trailing white space.
90982
90983         Merge from coreutils
90984         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
90985
90986         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
90987         0.12.1.  These files are now being upgraded automatically by
90988         ../config/srclist-update.
90989
90990 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90991
90992         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90993         Normalize leading white space and remove trailing white space.
90994         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
90995         notice, as per ../config/srclist-update.
90996
90997         Merge from coreutils.
90998         * lib/euidaccess.h: New file.
90999         * lib/euidaccess.c: Include it.
91000         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
91001         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
91002         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
91003
91004 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91005
91006         * config/srclist-update: Add copyright notice.
91007         (remove_id_lines, remove_trailing_blanks): New constants.
91008         (fixfile): Use them to normalize spacing a bit in copied files.
91009         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
91010         Normalize leading white space and remove trailing white space.
91011
91012         * config/texinfo.tex: Sync with texinfo.
91013
91014         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
91015         strtoul.c from libc, to merge coreutils whitespace changes.
91016
91017         * config/srclist.txt: Get the following m4 files from gettext:
91018         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
91019         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
91020         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
91021         wint_t.m4.
91022
91023 2003-08-12  Karl Berry  <karl@gnu.org>
91024
91025         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
91026         been made.
91027
91028 2003-08-11  Paul Eggert  <eggert@twinsun.com>
91029
91030         * modules/gnu-source, m4/gnu-source.m4:
91031         Remove; we're assuming Autoconf 2.54 or later now.
91032         Suggested by Bruno Haible.
91033         * MODULES.html.sh (func_all_modules): Remove gnu-source.
91034
91035 2003-08-11  Bruno Haible  <bruno@clisp.org>
91036
91037         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
91038
91039 2003-08-11  Bruno Haible  <bruno@clisp.org>
91040
91041         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
91042         (vasnprintf): Use it instead of wcslen.
91043
91044 2003-08-11  Bruno Haible  <bruno@clisp.org>
91045
91046         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
91047         value to ensure that _Bool promotes to int. Use #define for _Bool when
91048         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
91049
91050 2003-08-10  Karl Berry  <karl@gnu.org>
91051
91052         * lib/regex.h: update from libc (whitespace fix).
91053
91054 2003-08-09  Paul Eggert  <eggert@twinsun.com>
91055
91056         Merge some files from coreutils.  These changes were
91057         originally made by Jim Meyering.
91058         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
91059         many older Unixes require this.
91060         * lib/alloca.c (alloca): Remove cast to argument of free;
91061         no longer needed in C89.
91062         * lib/alloca_.h, regex.h: Fix white space to match
91063         what GNU indent does.
91064
91065 2003-08-09  Paul Eggert  <eggert@twinsun.com>
91066
91067         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
91068         apparently Emacs's Unicode mode got confused before my 2003-08-05
91069         checkin.
91070
91071 2003-08-08  Paul Eggert  <eggert@twinsun.com>
91072
91073         * m4/extensions.m4: New file.
91074         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
91075         Require gl_USE_SYSTEM_EXTENSIONS.
91076         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
91077         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
91078
91079 2003-08-08  Paul Eggert  <eggert@twinsun.com>
91080
91081         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
91082         * modules/extensions, modules/gnu-source: New files.
91083         * modules/timespec, modules/unlocked-io: Depend on extensions.
91084
91085 2003-08-07  Paul Eggert  <eggert@twinsun.com>
91086
91087         * modules/restrict: New file.
91088         * MODULES.html.sh (func_all_modules): Add restrict.
91089         * modules/regex: Depend on restrict.
91090
91091 2003-08-07  Paul Eggert  <eggert@twinsun.com>
91092
91093         * m4/restrict.m4: New file.
91094         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
91095
91096 2003-08-07  Bruno Haible  <bruno@clisp.org>
91097
91098         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
91099         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
91100
91101 2003-08-07  Bruno Haible  <bruno@clisp.org>
91102
91103         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
91104         makes the module 'getndelim2' compatible with the module 'getline'.
91105
91106 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91107
91108         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
91109         byte with "\201" to avoid glitches when editing that source file
91110         with multi-gnome-terminal.
91111
91112 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91113
91114         * lib/bumpalloc.h: Remove.
91115
91116 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91117
91118         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
91119         * modules/bumpalloc: Remove.
91120
91121 2003-08-04  Paul Eggert  <eggert@twinsun.com>
91122
91123         * lib/getloadavg.c: Change copyright notice and spacing to conform to
91124         GNU coding style.
91125
91126         Merge from coreutils.
91127         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
91128         1. From glibc.
91129         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
91130         from Karl Berry, implemented by Jim Meyering.
91131         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
91132         from Dmitry V. Levin.
91133         Remove anachronistic cast of xrealloc.
91134         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
91135         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
91136         type. Otherwise, it wouldn't compile with at least /bin/cc on
91137         ymp-cray-unicos9.0.2.X.
91138         Combine two mostly-identical uses of alloca into one.
91139         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
91140
91141 2003-08-04  Dave Love  <d.love@dl.ac.uk>
91142
91143         [From Emacs.]
91144
91145         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
91146         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
91147         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
91148         obsolete NLIST_NAME_UNION.
91149         [__GNU__]: Undef BSD and FSCALE.
91150         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
91151
91152 2003-08-03  Paul Eggert  <eggert@twinsun.com>
91153
91154         * lib/stdbool_.h (_Bool): Make it signed char, instead of
91155         an enum type, so that it's guaranteed to promote to int.  See:
91156         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
91157
91158 2003-08-03  Karl Berry  <karl@gnu.org>
91159
91160         * config/depcomp: update from automake.
91161
91162 2003-07-31  Paul Eggert  <eggert@twinsun.com>
91163
91164         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
91165         (strerror): Don't assume that a printable int fits in 14 bytes.
91166
91167 2003-07-31  Bruno Haible  <bruno@clisp.org>
91168
91169         * modules/getpass-gnu: New file.
91170         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
91171
91172 2003-07-31  Bruno Haible  <bruno@clisp.org>
91173
91174         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
91175
91176 2003-07-24  Karl Berry  <karl@gnu.org>
91177
91178         * config/missing: update from automake.
91179
91180 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
91181             Bruno Haible  <bruno@clisp.org>
91182
91183         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
91184         * lib/getline.c (getline, getdelim): Likewise.
91185         Remove _GNU_SOURCE define; now it's defined in config.h through
91186         m4/getline.m4.
91187
91188 2003-07-23  Karl Berry  <karl@gnu.org>
91189
91190         * config/config.sub: update from prep.
91191
91192 2003-07-22  Paul Eggert  <eggert@twinsun.com>
91193
91194         * modules/xalloc (Depends-on): Add exitfail.
91195         * modules/xmemcoll: Likewise.
91196
91197 2003-07-22  Paul Eggert  <eggert@twinsun.com>
91198
91199         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
91200         over-parenthesization in macros.
91201
91202         Sync with coreutils.
91203
91204         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
91205         required by C99.
91206
91207         Use `exit_failure' for xalloc and xmemcoll instead of their own
91208         private exit-failure variables.
91209         * lib/xalloc.h (xalloc_exit_failure): Remove.
91210         * lib/xmalloc.c: Likewise.  Include exitfail.h.
91211         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
91212         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
91213         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
91214         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
91215
91216 2003-07-20  Jim Meyering  <jim@meyering.net>
91217
91218         * modules/closeout (Depends-on): Add exitfail.
91219         Suggestion from Bruno Haible.
91220
91221 2003-07-19  Karl Berry  <karl@gnu.org>
91222
91223         * config/config.sub: update from prep.
91224
91225 2003-07-18  Paul Eggert  <eggert@twinsun.com>
91226
91227         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
91228         Remove.
91229         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
91230         to test that it can stand by itself.  Include "exitfail.h".
91231         Clients should set exit_failure instead.
91232         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
91233
91234 2003-07-18  Bruno Haible  <bruno@clisp.org>
91235
91236         * modules/getndelim2: New file.
91237         * modules/getline: Share files with module getndelim2.
91238         * modules/getnline: Depend on getndelim2 instead of sharing files with
91239         it. Add getnline.c to lib_SOURCES.
91240         * MODULES.html.sh (func_all_modules): Add getndelim2.
91241
91242 2003-07-18  Bruno Haible  <bruno@clisp.org>
91243
91244         * m4/getndelim2.m4: New file.
91245         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
91246         invoke gl_PREREQ_GETNDELIM2.
91247         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
91248         gl_PREREQ_GETNDELIM2.
91249         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
91250         gl_GETNDELIM2.
91251
91252 2003-07-18  Bruno Haible  <bruno@clisp.org>
91253
91254         * lib/getndelim2.h: New file.
91255         * lib/getndelim2.c: Make into a module of its own. Include config.h,
91256         getndelim2.h.
91257         (getndelim2): Make non-static. Change return type to ssize_t.
91258         * lib/getline.h: Change argument names.
91259         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
91260         * lib/getnline.c: Include getndelim2.h.
91261
91262 2003-07-18  Andreas Schwab  <schwab@suse.de>
91263
91264         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
91265
91266 2003-07-17  Karl Berry  <karl@gnu.org>
91267
91268         * config/config.sub: update from prep.
91269
91270 2003-07-17  Bruno Haible  <bruno@clisp.org>
91271
91272         * modules/getnline: New file.
91273         * modules/getline: Add lib/getndelim2.c to source file list.
91274         * MODULES.html.sh (func_all_modules): Add getnline.
91275
91276 2003-07-17  Bruno Haible  <bruno@clisp.org>
91277
91278         * m4/getnline.m4: New file.
91279
91280 2003-07-17  Bruno Haible  <bruno@clisp.org>
91281
91282         * m4/Makefile.am.in: Remove file.
91283         * m4/Makefile.am: Remove file.
91284         * m4/Makefile.in: Remove file.
91285
91286 2003-07-17  Bruno Haible  <bruno@clisp.org>
91287
91288         * lib/getnline.h: New file.
91289         * lib/getnline.c: New file.
91290         * lib/getndelim2.c: New file, extracted from getline.c.
91291         (getndelim2): Renamed from getdelim2, with added nmax argument.
91292         * lib/getline.c: Include getndelim2.c.
91293         (getdelim2): Moved out to getndelim2.c.
91294         (getline, getdelim): Update.
91295
91296 2003-07-17  Bruno Haible  <bruno@clisp.org>
91297
91298         * lib/Makefile.am: Remove file.
91299         * lib/Makefile.in: Remove file.
91300
91301 2003-07-17  Bruno Haible  <bruno@clisp.org>
91302
91303         * configure.in: Remove file.
91304         * Makefile.in: Remove file.
91305
91306 2003-07-17  Bruno Haible  <bruno@clisp.org>
91307
91308         * MODULES.html.sh: Put the </BODY> right before </HTML>.
91309
91310 2003-07-16  Karl Berry  <karl@gnu.org>
91311
91312         * config/srclist-update: was running fixlicense twice, which caused
91313                 texinfo.tex to be nullified for some reason.  Simplify,
91314                 $gplsrc is no longer needed as far as I can see?
91315
91316 2003-07-16  Jim Meyering  <jim@meyering.net>
91317
91318         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
91319
91320 2003-07-15  Paul Eggert  <eggert@twinsun.com>
91321
91322         * config/srclist.txt: Get the following files from gettext-runtime/intl
91323         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
91324         ref-del.sin.  From Bruno Haible.
91325         * config/srclist-update (fixfile): Change grep pattern again, since the
91326         previous fix didn't work (there was another trailing $).  Use
91327         '[$]' to escape the $s.
91328
91329 2003-07-15  Karl Berry  <karl@gnu.org>
91330
91331         * lib/vasnprintf.c: update from gettext.
91332
91333 2003-07-15  Karl Berry  <karl@gnu.org>
91334
91335         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
91336         gets expanded when surrounded by '$'.
91337
91338 2003-07-15  Jim Meyering  <jim@meyering.net>
91339
91340         * modules/save-cwd: Don't depend on error.  From Derek Price.
91341
91342 2003-07-15  Jim Meyering  <jim@meyering.net>
91343
91344         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
91345
91346 2003-07-14  Simon Josefsson  <jas@extundo.com>
91347
91348         * modules/mempcpy: New file.
91349         * MODULES.html.sh (func_all_modules): Add mempcpy.
91350
91351 2003-07-14  Simon Josefsson  <jas@extundo.com>
91352
91353         * m4/mempcpy.m4: New file.
91354
91355 2003-07-14  Simon Josefsson  <jas@extundo.com>
91356
91357         * lib/mempcpy.h: New file.
91358         * lib/mempcpy.c: New file.
91359
91360 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91361
91362         * modules/getdate, modules/posixtm: Depend on mktime.
91363
91364 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91365
91366         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
91367         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
91368         unicodeio.c, unicodeio.h, unlocked-io.h:
91369         Switch from LGPL to GPL.
91370
91371 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91372
91373         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
91374         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
91375         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
91376         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
91377         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
91378         updated automatically by ../config/srclist-update.  This changes
91379         their license from LPGL to GPL.
91380
91381 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91382
91383         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
91384         assumed to refer to the root of the most recent stable gettext version.
91385         * config/srclistvars.sh: Add defaults for eggert.
91386         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
91387         Match "This program" as well as "The program".  This is needed
91388         for gettext.
91389
91390 2003-07-14  Jim Meyering  <jim@meyering.net>
91391
91392         Don't emit diagnostics.  Let callers do that.
91393         * lib/save-cwd.c: Don't include "error.h".
91394         (save_cwd): Don't call error.  Ensure that errno is valid
91395         when returning nonzero.
91396
91397         * lib/save-cwd.h (restore_cwd): Update prototype.
91398         * lib/save-cwd.c (restore_cwd): Remove two parameters.
91399         Simplify.  Don't call error upon failure.  Let callers do that.
91400         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
91401         when auditing is enabled.  But don't bother updating the #if.
91402
91403 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
91404
91405         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
91406         it breaks C++ compilation.
91407         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
91408
91409 2003-07-10  Simon Josefsson  <jas@extundo.com>
91410
91411         * modules/strchrnul (Makefile.am): Add strchrnul.h.
91412
91413 2003-07-10  Jim Meyering  <jim@meyering.net>
91414
91415         * m4/clock_time.m4: Remove trailing blank.
91416         * m4/intmax_t.m4: Likewise.
91417
91418 2003-07-10  Jim Meyering  <jim@meyering.net>
91419
91420         * lib/vasnprintf.c: Remove trailing blanks.
91421         Make cpp indentation consistent.
91422
91423 2003-07-09  Paul Eggert  <eggert@twinsun.com>
91424
91425         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
91426         posixver.c, strftime.c, strnlen.c, strverscmp.c:
91427         Switch from LGPL to GPL.
91428
91429 2003-07-09  Paul Eggert  <eggert@twinsun.com>
91430
91431         * config/srclist.txt: Sort sublists.  Add
91432         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
91433         that differ from gnulib for one reason or another; we'd like this list
91434         to be smaller but for now let's document what we have.
91435
91436 2003-07-08  Paul Eggert  <eggert@twinsun.com>
91437
91438         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
91439         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
91440         and sweeter "eval x=$x".
91441         * config/srclist.txt: Get lib/argp* from glibc.
91442
91443 2003-07-07  Paul Eggert  <eggert@twinsun.com>
91444
91445         * lib/mktime.c: Fix some boundary cases and remove need for floating
91446         point.
91447
91448         Issue a compile-time diagnostic if time_t is floating point, or if
91449         two's complement arithmetic is not in effect, or if arithmetic
91450         right shift does not propagate the sign.  These assumptions were
91451         all in the original code but they weren't checked.
91452
91453         (TIME_T_MIDPOINT, verify): New macros.
91454         (__isleap): Remove; it has integer overflow problems.
91455         (leapyear): New function, without those problems.
91456         (ydhms_tm_diff): Remove; splitting into two parts.
91457         (ydhms_diff): New function, containing the arithmetic part of
91458         the old ydhms_tm_diff function.  Issue a compile-time
91459         diagnostic if we are not using C99 integer division.
91460         Avoid casts when possible.
91461         (guess_time_tm): New function, containing the checking part of
91462         the old ydhms_tm_diff function.  Return the new value, rather than
91463         the difference between it and the old.  Accept a new argument T
91464         so that *T specifies the old value.  Check for overflow in the result.
91465
91466         (__mktime_internal): Use a time_t offset, not a long int offset.
91467         This undoes the 2003-06-04 change, which is no longer needed now
91468         that we have better overflow checking.
91469         (localtime_offset): Likewise.
91470
91471         (__mktime_internal): Avoid harmful overflow on hosts where time_t
91472         and long are 64-bit but int is only 32-bit.
91473         (ydhms_diff): Use long int to store year1 and yday1.
91474         Issue a compile-time diagnostic if long int is not wide enough.
91475
91476         (__mktime_internal): Use long int to store adjusted year and yday.
91477         Use plain C rather than preprocessor commands, if that doesn't
91478         affect efficiency.
91479         Check for overflow (and try to repair) after each probe
91480         rather than checking only at the very end.  This avoids some bugs
91481         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
91482         does not equal GMT offset at maximum time).
91483         Use integer to check for overflow rather than floating point; this
91484         is more portable to non-IEEE hosts, and is a tad faster.
91485         When we detect that we are oscillating between two values,
91486         don't check whether tm_isdst has the requested value, since
91487         we already know the answer.  When tm_isdst has the wrong value,
91488         use a different heuristic to find the right one, based on the
91489         extreme values actually observed in practice in tz2003a,
91490         rather than the (overly optimistic) "previous 3 calendar quarters".
91491
91492         (not_equal_tm, print_tm, check_result): Use "const T" rather than
91493         "T const" to accommodate glibc style.
91494         (check_result): Use less-confusing report format.  "long" -> "long int.
91495         (main): Likewise.
91496         Don't loop if the iteration overflows time_t.
91497         Allow a negative step in the iteration.
91498
91499 2003-07-06  Karl Berry  <karl@gnu.org>
91500
91501         * config/depcomp: update from automake.
91502         * config/config.sub: update from prep.
91503
91504 2003-07-03  Karl Berry  <karl@gnu.org>
91505
91506         * config/config.guess: update from prep.
91507
91508 2003-07-01  Paul Eggert  <eggert@twinsun.com>
91509
91510         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
91511         xreadlink.c now includes it unconditionally.
91512
91513 2003-07-01  Paul Eggert  <eggert@twinsun.com>
91514
91515         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
91516         having it depend on HAVE_SYS_TYPES_H.
91517
91518 2003-07-01  Bruno Haible  <bruno@clisp.org>
91519
91520         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
91521         <sys/types.h> should be sufficient.
91522         Reported by Paul Eggert.
91523
91524 2003-06-26  Karl Berry  <karl@gnu.org>
91525
91526         * config/depcomp: update from automake.
91527
91528 2003-06-26  Bruno Haible  <bruno@clisp.org>
91529
91530         * modules/human: Depend on module stdbool.
91531
91532 2003-06-25  Bruno Haible  <bruno@clisp.org>
91533
91534         * modules/readlink: New file.
91535         * modules/xreadlink: Depend on it.
91536         * MODULES.html.sh (func_all_modules): Add readlink.
91537
91538 2003-06-25  Bruno Haible  <bruno@clisp.org>
91539
91540         * m4/readlink.m4: New file.
91541
91542 2003-06-25  Bruno Haible  <bruno@clisp.org>
91543
91544         * lib/readlink.c: New file.
91545
91546 2003-06-22  Karl Berry  <karl@gnu.org>
91547
91548         * config/srclist.txt: update mkinstalldirs from automake.
91549         * config/mkinstalldirs: update.
91550
91551 2003-06-22  Bruno Haible  <bruno@clisp.org>
91552
91553         Portability to mingw32.
91554         * m4/ssize_t.m4: New file, from GNU gettext.
91555         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
91556         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
91557
91558 2003-06-22  Bruno Haible  <bruno@clisp.org>
91559
91560         * modules/safe-read: Add m4/ssize_t.m4.
91561         * modules/xreadlink: Add m4/ssize_t.m4.
91562
91563 2003-06-20  Bruno Haible  <bruno@clisp.org>
91564
91565         Assume C89, so PARAMS isn't needed.
91566         * lib/unicodeio.h (PARAMS): Remove.
91567         * lib/unicodeio.c: Don't use PARAMS.
91568
91569 2003-06-18  Karl Berry  <karl@gnu.org>
91570
91571         * config/config.{guess,sub}: update from prep.
91572
91573 2003-06-18  Jim Meyering  <jim@meyering.net>
91574
91575         Merge changes from coreutils.
91576         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
91577         Remove explicit declarations of xmalloc and realloc.
91578         Include xalloc.h.
91579         (read_utmp): Remove anachronistic cast of xmalloc.
91580
91581 2003-06-17  Paul Eggert  <eggert@twinsun.com>
91582
91583         Assume C89, so PARAMS isn't needed.
91584         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
91585         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
91586         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
91587         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
91588         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
91589         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
91590         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
91591         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
91592         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
91593         lib/xstrtod.h, lib/xstrtol.h: Likewise.
91594         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
91595         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
91596         no longer needed. Anyway, config.h should always be included before any
91597         other file.
91598
91599 2003-06-11  Simon Josefsson  <jas@extundo.com>
91600
91601         * modules/sysexits: New file.
91602         * MODULES.html.sh (func_all_modules): Add sysexits.
91603
91604 2003-06-11  Simon Josefsson  <jas@extundo.com>
91605
91606         * lib/sysexit_.h: New file.
91607
91608 2003-06-11  Derek Price  <derek@ximbiot.com>
91609
91610         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
91611         necessary.
91612
91613 2003-06-11  Bruno Haible  <bruno@clisp.org>
91614
91615         * m4/sysexits.m4: New file.
91616
91617 2003-06-10  Simon Josefsson  <jas@extundo.com>
91618
91619         * lib/argp.h: New file, from glibc.
91620         * lib/argp-ba.c: New file, from glibc.
91621         * lib/argp-eexst.c: New file, from glibc.
91622         * lib/argp-fmtstream.c: New file, from glibc.
91623         * lib/argp-fmtstream.h: New file, from glibc.
91624         * lib/argp-fs-xinl.c: New file, from glibc.
91625         * lib/argp-help.c: New file, from glibc.
91626         * lib/argp-namefrob.h: New file, from glibc.
91627         * lib/argp-parse.c: New file, from glibc.
91628         * lib/argp-pv.c: New file, from glibc.
91629         * lib/argp-pvh.c: New file, from glibc.
91630         * lib/argp-xinl.c: New file, from glibc.
91631
91632 2003-06-10  Simon Josefsson  <jas@extundo.com>
91633
91634         * modules/strchrnul: New file.
91635
91636 2003-06-10  Simon Josefsson  <jas@extundo.com>
91637
91638         * modules/argp: New file.
91639
91640 2003-06-10  Simon Josefsson  <jas@extundo.com>
91641
91642         * m4/strchrnul.m4: New file.
91643
91644 2003-06-10  Simon Josefsson  <jas@extundo.com>
91645
91646         * lib/strchrnul.h: New file.
91647         * lib/strchrnul.c: New file.
91648
91649 2003-06-10  Bruno Haible  <bruno@clisp.org>
91650
91651         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
91652
91653 2003-06-07  Karl Berry  <karl@gnu.org>
91654
91655         * config/config.{guess,sub}: update from prep.
91656
91657 2003-06-07  Jim Meyering  <jim@meyering.net>
91658
91659         * modules/strtod: Use $(...) notation, not @...@ for
91660         AC_REPLACE'd variables.
91661         * modules/localcharset: Likewise.
91662
91663 2003-06-07  Jim Meyering  <jim@meyering.net>
91664
91665         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
91666         in place of my name in the copyright comment.
91667         Remove definition and uses of __P.
91668
91669         From coreutils.
91670         * lib/stat.c: Don't declare xmalloc explicitly.
91671         Instead, include "xalloc.h".
91672         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
91673         xrealloc, and xcalloc return values.
91674         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
91675         Improve comment.
91676         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
91677
91678 2003-06-07  Bruno Haible  <bruno@clisp.org>
91679
91680         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
91681         avoid AC_CONFIG_LINKS.
91682         * modules/fnmatch (Makefile.am): Use explicit creation rule for
91683         fnmatch.h, to avoid AC_CONFIG_LINKS.
91684         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
91685
91686 2003-06-07  Bruno Haible  <bruno@clisp.org>
91687
91688         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
91689         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
91690         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91691         directory.
91692         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
91693         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91694         directory.
91695
91696 2003-06-06  Jim Meyering  <jim@meyering.net>
91697
91698         Merge from coreutils.
91699         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
91700         Consolidate declarations and initializations of *_base* locals.
91701
91702         Merge from coreutils.
91703         This avoids a core dump on systems without GNU putenv,
91704         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
91705         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
91706         (unsetenv): New static function, from GNU libc.
91707         (rpl_putenv): Use it.
91708
91709         * lib/modechange.c: Remove trailing blanks.
91710
91711         Merge from coreutils.
91712         * lib/fsusage.c: Remove declaration of statfs.
91713         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
91714
91715         * lib/posixtm.c: Include <stdbool.h> unconditionally.
91716
91717 2003-06-06  Jim Meyering  <jim@meyering.net>
91718
91719         * lib/stdbool_.h: Renamed from stdbool.h.in.
91720
91721 2003-06-06  Jim Meyering  <jim@meyering.net>
91722             Bruno Haible  <bruno@clisp.org>
91723
91724         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
91725         Adjust Makefile.am snippet not to redirect directly to target.
91726         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
91727
91728 2003-06-05  Paul Eggert  <eggert@twinsun.com>
91729
91730         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
91731         mismatch, look in future quarters as well as past.  This fixes a
91732         bug when processing fall-backwards gaps immediately after a long
91733         period of daylight-saving time.
91734
91735         * lib/mktime.c: Assume freestanding C89 or better.
91736         (HAVE_LIMITS_H): Remove.  Assume it's 1.
91737         (__P): Remove; not used.
91738         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
91739         (mktime, not_equal_tm, print_tm, check_result,
91740         main): Use prototypes.  Use const * where appropriate.
91741         (main): Fix typo in testing code that uncovered by above changes.
91742         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
91743
91744 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91745
91746         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
91747         locale.h, localeconv.  This merges changes from coreutils.
91748
91749         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
91750         It can be removed after the next Autoconf is released.
91751         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
91752         needed.
91753
91754 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91755
91756         * lib/mktime.c: Fix Debian bug 177940
91757         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
91758         (localtime_offset): Now long int, not time_t, because we want it
91759         to be guaranteed to be signed.  All uses changed.
91760         (__mktime_internal): If overflow would occur when adding offset,
91761         don't add it.
91762
91763         Merge 'human' changes from coreutils.  Rewrite to support
91764         locale-specific notations like thousands separators.
91765         * lib/human.c: Simplify authorship notice.
91766         Include human.h immediately after config.h.
91767         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
91768         <limits.h>: Do not include, since human.h does.
91769         (SIZE_MAX, UINTMAX_MAX): New macros.
91770         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
91771         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
91772         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
91773         (power_letter): Renamed from suffixes.
91774         (generate_suffix_backwards): Remove.
91775         (adjust_value): Now takes int style (because of human.h changes)
91776         and long double value (for greater precision on some platforms).
91777         (group_number): New function.
91778         (human_readable): Use it.  Use integer options, not enum.
91779         Put the options before the sizes in the arg list.
91780         Support all the new options.
91781         The old human_readable function has been removed;
91782         use inttostr.h instead.
91783         (human_readable, default_block_size, humblock):
91784         Use uintmax_t, not int, for block sizes.
91785         (human_readable_inexact, block_size_types): Remove.
91786         (block_size_opts): New constant.
91787         (human_options): Renamed from human_block_size, with new signature
91788         that allows block sizes up to UINTMAX_MAX.  All callers changed.
91789         * lib/human.h: Add copyright and authorship notice.
91790         Include <limits.h> and <stdbool.h> unconditionally.
91791         (PARAMS): Remove.  All uses removed.
91792         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
91793         (enum human_inexact_style): Remove tag; now a nameless enum.
91794         (human_floor, human_ceiling, human_round_to_even): Now have
91795         values 2, 0, 1 rather than -1, 1, 0.
91796         (human_group_digits, human_suppress_point_zero, human_autoscale,
91797         human_base_1024, human_SI, human_B): New constants.
91798         (human_readable_inexact, human_block_size): Remove.
91799         (human_readable): Size args are now uintmax_t, not int.
91800         (human_options): New decl.
91801
91802         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
91803         unnecessary now that we assume C89 or better.  This change
91804         imported from coreutils.
91805
91806         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91807         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
91808         in the 2003-05-30 sync from glibc.
91809
91810         .h files should stand alone, but we shouldn't include <sys/types.h>
91811         if we can get away with just <stddef.h>.
91812
91813         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
91814         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
91815         rather than <sys/types.h>, as we merely need size_t.
91816         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
91817         to get size_t.
91818         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
91819         Include <stdio.h>, to get FILE.
91820         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
91821         memcasecmp.h has included <stddef.h> and all we need is size_t.
91822         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
91823         our interface, instead of including <sys/types.h>
91824
91825 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91826
91827         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
91828         now, as glibc mktime is buggy on non-glibc systems.
91829
91830 2003-06-03  Karl Berry  <karl@gnu.org>
91831
91832         * config/config.sub: update from prep.
91833
91834 2003-06-02  Paul Eggert  <eggert@twinsun.com>
91835
91836         [from coreutils]
91837         Fix some minor time-related bugs with POSIX time arguments.
91838         Some valid time stamps were being rejected (notably -1, and
91839         time stamps before 1900 on 64-bit hosts).  And some invalid
91840         time stamps were being accepted, e.g. September 31.
91841
91842         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
91843         that we can return (time_t) -1 successfully.
91844         * lib/posixtm.c: Likewise.
91845         [HAVE_STDBOOL_H]: Include <stdbool.h>.
91846         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
91847         (t): Remove static var.
91848         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
91849         of static var.  All uses changed.
91850         (year): Do not reject years before 1900; they can occur with
91851         64-bit time_t.
91852         (posix_time_parse): Do not check for out-of-range components;
91853         that is now the caller's responsibility, since our checks were
91854         only approximations.
91855         (posixtime): Use mktime to check for out-of-range components,
91856         since it knows them exactly.
91857         If mktime returns (time_t) -1, check whether an error actually occurred
91858         by invoking localtime on -1.
91859         (main) [TEST_POSIXTIME]: Check for input data errors, and report
91860         posixtime failures better.
91861         Improve the test data (in comments only).
91862
91863 2003-06-02  Karl Berry  <karl@gnu.org>
91864
91865         * config/mkinstalldirs (version): new variable.
91866         (--version): new option.
91867         (usage): improve message.
91868
91869 2003-05-30  Karl Berry  <karl@gnu.org>
91870
91871         * lib/mktime.c: update from libc.
91872
91873 2003-05-30  Bruno Haible  <bruno@clisp.org>
91874
91875         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
91876         * config/config.rpath: Upgrade to gettext-0.12.1.
91877
91878 2003-05-30  Bruno Haible  <bruno@clisp.org>
91879
91880         * m4/gettext.m4: Upgrade to gettext-0.12.1.
91881         * m4/nls.m4: New file, from gettext-0.12.1.
91882         * m4/po.m4: New file, from gettext-0.12.1.
91883         * m4/progtest.m4: Upgrade to gettext-0.12.1.
91884
91885 2003-05-30  Bruno Haible  <bruno@clisp.org>
91886
91887         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
91888         * lib/localcharset.h: Likewise.
91889         * lib/localcharset.c: Likewise.
91890
91891 2003-05-29  Karl Berry  <karl@gnu.org>
91892
91893         * config/config.rpath: update from gettext.
91894
91895 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91896
91897         Assume the headers required for C89 freestanding compilers.
91898         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
91899         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
91900         * m4/human.m4 (gl_HUMAN): Likewise.
91901         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
91902         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
91903         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91904         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
91905         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91906         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
91907
91908 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91909
91910         Assume the headers required for C89 freestanding compilers.
91911         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
91912         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
91913         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
91914         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
91915         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
91916         define, since <limits.h> is guaranteed to do that.
91917         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
91918         * lib/exclude.c: Include <stdbool.h> unconditionally.
91919         * lib/tempname.c: Include <stddef.h> unconditionally.
91920         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
91921         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
91922         <stddef.h> does that.
91923         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
91924         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
91925         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
91926         needed.
91927         * lib/xstrtol.c: Likewise.
91928         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
91929         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
91930
91931         * lib/addext.c (addext): Use assignment rather than cast, to avoid
91932         warnings on some platforms.
91933
91934         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91935         arbitrarily.
91936
91937 2003-05-26  Jim Meyering  <jim@meyering.net>
91938
91939         Merge in a change from coreutils:
91940         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
91941         that is guaranteed to be `no'.  Use `no_such_member' to indicate
91942         that condition, rather than `-1' which is slightly misleading.
91943         Change the name of the cache variable to have the gl_ prefix.
91944         Prompted by a patch from Richard Dawe for DJGPP.
91945
91946 2003-05-24  Karl Berry  <karl@gnu.org>
91947
91948         * config/config.guess: update from prep.
91949
91950 2003-05-22  Karl Berry  <karl@gnu.org>
91951
91952         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
91953
91954 2003-05-20  Karl Berry  <karl@gnu.org>
91955
91956         * config/config.guess: update from prep.
91957
91958 2003-05-18  Karl Berry  <karl@gnu.org>
91959
91960         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
91961         might actually be set by the user.
91962
91963         * config/depcomp, install-sh, mdate-sh: update from automake.
91964
91965 2003-05-17  Bruno Haible  <bruno@clisp.org>
91966
91967         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
91968         invalid expansion for AC_EGREP_CPP.
91969         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
91970         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
91971         Suggested by Akim Demaille <akim@epita.fr> in
91972         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
91973
91974 2003-05-12  Jim Meyering  <jim@meyering.net>
91975
91976         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
91977         the space-padded-by-default conversion specifiers, %e, %k, %l.
91978
91979 2003-05-12  Bruno Haible  <bruno@clisp.org>
91980
91981         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
91982         the string is longer than 4 KB.
91983
91984 2003-05-11  Karl Berry  <karl@gnu.org>
91985
91986         * config/config.{guess,sub}: update from prep.
91987
91988 2003-05-09  Bruno Haible  <bruno@clisp.org>
91989
91990         * modules/error: Add m4/strerror_r.m4 to file list.
91991
91992 2003-05-03  Bruno Haible  <bruno@clisp.org>
91993
91994         Upgrade to Unicode-4.0.
91995         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
91996         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
91997         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
91998         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
91999         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
92000         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
92001         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
92002         Change width of U+E0100..U+E01EF from 1 to 0.
92003
92004 2003-04-25  Jim Meyering  <jim@meyering.net>
92005
92006         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
92007         of type size_t, not int.
92008
92009 2003-04-25  Bruno Haible  <bruno@clisp.org>
92010
92011         * lib/copy-file.c: Include <stddef.h>, for size_t.
92012
92013 2003-04-21  Paul Eggert  <eggert@twinsun.com>
92014
92015         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
92016         code which expansion is under static control.  Patch imported from
92017         Akim Demaille's patch to Bison; see
92018         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
92019
92020 2003-04-14  Bruno Haible  <bruno@clisp.org>
92021
92022         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
92023
92024 2003-04-11  Jim Meyering  <jim@meyering.net>
92025
92026         Merge changes from Coreutils.
92027
92028         2003-03-22  Jim Meyering  <jim@meyering.net>
92029
92030         * lib/strftime.c (widen): Cast alloca return value to proper type.
92031
92032         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
92033
92034         From GNU libc.
92035         * lib/strftime.c (my_strftime): Handle very large width
92036         specifications for numeric values correctly.  Improve checks for
92037         overflow.
92038
92039         2003-01-19  Jim Meyering  <jim@meyering.net>
92040
92041         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
92042         definitions.
92043         (nl_get_alt_digit) [! defined my_strftime]: Define.
92044         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
92045         _nl_get_alt_digit and _nl_get_walt_digit.
92046
92047         * lib/strftime.c (my_strftime): Merge in locale-related changes from
92048         libc. These changes have no effect outside of _LIBC.
92049
92050 2003-04-10  Bruno Haible  <bruno@clisp.org>
92051
92052         * modules/findprog: New file.
92053         * MODULES.html.sh (func_all_modules): Add it.
92054
92055 2003-04-10  Bruno Haible  <bruno@clisp.org>
92056
92057         * m4/findprog.m4: New file.
92058         * m4/eaccess.m4: New file.
92059
92060 2003-04-10  Bruno Haible  <bruno@clisp.org>
92061
92062         * lib/findprog.h: New file, from GNU gettext.
92063         * lib/findprog.c: New file, from GNU gettext.
92064
92065 2003-04-05  Jim Meyering  <jim@meyering.net>
92066
92067         Merge changes from Coreutils.
92068
92069         * lib/exclude.h (PARAMS): Remove definition and uses.
92070         * lib/exclude.c: Remove uses of `PARAMS'.
92071
92072         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
92073         Add test-cases for DOS filenames. Declare program_name.
92074         (main): Set up program_name.  Patch by Rich Dawe.
92075
92076         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92077         error from mntctl.
92078         Use mntctl's return value to drive the entry-processing loop, since
92079         we can't rely on the value of the vmt_length member in the last
92080         entry.  On some systems doing so could result in exhausting
92081         virtual memory.  Based in part on a patch from Mike Jetzer.
92082
92083 2003-04-04  Bruno Haible  <bruno@clisp.org>
92084
92085         * modules/linebreak: New file.
92086         * MODULES.html.sh (func_all_modules): Add it.
92087
92088 2003-04-04  Bruno Haible  <bruno@clisp.org>
92089
92090         * m4/linebreak.m4: New file.
92091
92092 2003-04-04  Bruno Haible  <bruno@clisp.org>
92093
92094         * lib/linebreak.h: New file, from GNU gettext.
92095         * lib/linebreak.c: New file, from GNU gettext with slight
92096         modifications.
92097         * lib/lbrkprop.h: New file, from GNU gettext.
92098
92099 2003-04-03  Bruno Haible  <bruno@clisp.org>
92100
92101         * modules/utf8-ucs4: New file.
92102         * modules/utf16-ucs4: New file.
92103         * modules/ucs4-utf8: New file.
92104         * modules/ucs4-utf16: New file.
92105         * MODULES.html.sh (func_all_modules): Add them.
92106
92107 2003-04-03  Bruno Haible  <bruno@clisp.org>
92108
92109         * m4/utf-ucs4.m4: New file.
92110         * m4/ucs4-utf.m4: New file.
92111
92112 2003-04-03  Bruno Haible  <bruno@clisp.org>
92113
92114         * lib/utf8-ucs4.h: New file, from GNU gettext.
92115         * lib/utf16-ucs4.h: New file, from GNU gettext.
92116         * lib/ucs4-utf8.h: New file, from GNU gettext.
92117         * lib/ucs4-utf16.h: New file, from GNU gettext.
92118
92119 2003-04-02  Bruno Haible  <bruno@clisp.org>
92120
92121         * modules/binary-io: New file.
92122         * MODULES.html.sh (func_all_modules): Add it.
92123
92124 2003-04-02  Bruno Haible  <bruno@clisp.org>
92125
92126         * lib/binary-io.h: New file, from GNU gettext.
92127
92128 2003-04-01  Bruno Haible  <bruno@clisp.org>
92129
92130         * modules/pathname: New file.
92131         * MODULES.html.sh (func_all_modules): Add it.
92132
92133 2003-04-01  Bruno Haible  <bruno@clisp.org>
92134
92135         * lib/pathname.h: New file, from GNU gettext.
92136         * lib/concatpath.c: New file, from GNU gettext.
92137
92138 2003-03-30  Bruno Haible  <bruno@clisp.org>
92139
92140         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
92141
92142 2003-03-30  Bruno Haible  <bruno@clisp.org>
92143
92144         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
92145         function chown() doesn't exist.
92146
92147 2003-03-28  Bruno Haible  <bruno@clisp.org>
92148
92149         * modules/copy-file: New file.
92150         * MODULES.html.sh (func_all_modules): Add it.
92151
92152 2003-03-28  Bruno Haible  <bruno@clisp.org>
92153
92154         * m4/copy-file.m4: New file.
92155
92156 2003-03-28  Bruno Haible  <bruno@clisp.org>
92157
92158         * lib/copy-file.h: New file, from GNU gettext.
92159         * lib/copy-file.c: New file, from GNU gettext.
92160
92161 2003-03-18  Jim Meyering  <jim@meyering.net>
92162
92163         * lib/quote.c (quote_n): Fix typo in comment.
92164
92165 2003-03-18  Bruno Haible  <bruno@clisp.org>
92166
92167         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
92168         checking.
92169         * m4/onceonly_2_57.m4: Likewise.
92170
92171 2003-03-17  Bruno Haible  <bruno@clisp.org>
92172
92173         * m4/onceonly.m4: Require autoconf 2.54 or newer.
92174         (m4_quote): Remove macro.
92175         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
92176
92177 2003-03-14  Jim Meyering  <jim@meyering.net>
92178
92179         Merge changes from Coreutils.
92180         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
92181         to be const, in order to avoid warnings.
92182         (obstack_room): Likewise.
92183         (obstack_empty_p): Likewise.
92184
92185 2003-03-14  Bruno Haible  <bruno@clisp.org>
92186
92187         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
92188         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
92189
92190 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92191
92192         Merge changes from Bison.
92193         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
92194         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
92195         when compiling Bison 1.875's `bitset bset = obstack_alloc
92196         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
92197         * lib/hash.c: Include <stdbool.h> unconditionally.
92198
92199 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92200
92201         * m4/onceonly.m4 (m4_quote): New macro.
92202         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
92203         Quote AC_FOREACH variable-expansions properly.
92204
92205 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92206
92207         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
92208
92209 2003-03-09  Paul Eggert  <eggert@twinsun.com>
92210
92211         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
92212         Reported by Bruce Becker; see:
92213         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
92214
92215 2003-03-03  Paul Eggert  <eggert@twinsun.com>
92216             Bruno Haible  <bruno@clisp.org>
92217
92218         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
92219         Reported by John Hughes, see
92220         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
92221
92222 2003-02-20  Bruno Haible  <bruno@clisp.org>
92223
92224         * MODULES.html.sh (func_all_modules): Add poll.
92225
92226 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92227
92228         * modules/poll: New file.
92229
92230 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92231
92232         * lib/poll_.h: New file.
92233         * lib/poll.c: New file.
92234
92235 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92236
92237         * m4/poll.m4: New file.
92238
92239 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92240
92241         * modules/mathl: New file.
92242
92243 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92244
92245         * lib/mathl.h: New file.
92246         * lib/acosl.c: New file.
92247         * lib/asinl.c: New file.
92248         * lib/atanl.c: New file.
92249         * lib/ceill.c: New file.
92250         * lib/cosl.c: New file.
92251         * lib/expl.c: New file.
92252         * lib/floorl.c: New file.
92253         * lib/frexpl.c: New file.
92254         * lib/ldexpl.c: New file.
92255         * lib/logl.c: New file.
92256         * lib/sincosl.c: New file.
92257         * lib/sinl.c: New file.
92258         * lib/sqrtl.c: New file.
92259         * lib/tanl.c: New file.
92260         * lib/trigl.c: New file.
92261         * lib/trigl.h: New file.
92262
92263 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92264
92265         * m4/mathl.m4: New file.
92266
92267 2003-02-18  Bruno Haible  <bruno@clisp.org>
92268
92269         * MODULES.html.sh (func_all_modules): Add mathl.
92270
92271 2003-02-17  Bruno Haible  <bruno@clisp.org>
92272
92273         * modules/mkdtemp: New module.
92274         * MODULES.html.sh (func_all_modules): Add it.
92275
92276 2003-02-17  Bruno Haible  <bruno@clisp.org>
92277
92278         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
92279
92280 2003-02-17  Bruno Haible  <bruno@clisp.org>
92281
92282         * lib/mkdtemp.h: New file, from GNU gettext.
92283         * lib/mkdtemp.c: New file, from GNU gettext.
92284
92285 2003-02-02  Jim Meyering  <jim@meyering.net>
92286
92287         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
92288         e.g. glibc-2.2.93.
92289
92290 2003-01-31  Bruno Haible  <bruno@clisp.org>
92291
92292         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
92293         'rpl_rename'.
92294         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
92295         'rpl_strnlen'.
92296         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
92297         'rpl_strtod'.
92298         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
92299         'rpl_utime'.
92300
92301 2003-01-31  Bruno Haible  <bruno@clisp.org>
92302
92303         * lib/rename.c: #undef rename before defining rpl_rename.
92304         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
92305
92306 2003-01-30  Bruno Haible  <bruno@clisp.org>
92307
92308         * modules/vasnprintf, modules/vasprintf: New modules.
92309         * MODULES.html.sh (func_all_modules): Add them.
92310
92311 2003-01-30  Bruno Haible  <bruno@clisp.org>
92312
92313         * m4/signed.m4: New file, from GNU gettext.
92314         * m4/longdouble.m4: New file, from GNU gettext.
92315         * m4/wchar_t.m4: New file, from GNU gettext.
92316         * m4/wint_t.m4: New file, from GNU gettext.
92317         * m4/vasnprintf.m4: New file.
92318         * m4/vasprintf.m4: New file.
92319
92320 2003-01-30  Bruno Haible  <bruno@clisp.org>
92321
92322         * lib/printf-args.h: New file, from GNU gettext.
92323         * lib/printf-args.c: New file, from GNU gettext.
92324         * lib/printf-parse.h: New file, from GNU gettext.
92325         * lib/printf-parse.c: New file, from GNU gettext.
92326         * lib/vasnprintf.h: New file, from GNU gettext.
92327         * lib/vasnprintf.c: New file, from GNU gettext.
92328         * lib/asnprintf.c: New file, from GNU gettext.
92329         * lib/vasprintf.h: New file, from GNU gettext with modifications.
92330         * lib/vasprintf.c: New file, from GNU gettext.
92331         * lib/asprintf.c: New file, from GNU gettext.
92332
92333 2003-01-29  Bruno Haible  <bruno@clisp.org>
92334
92335         * modules/stpncpy: New module.
92336         * MODULES.html.sh (func_all_modules): Add it.
92337
92338 2003-01-29  Bruno Haible  <bruno@clisp.org>
92339
92340         * m4/stpncpy.m4: New file.
92341
92342 2003-01-29  Bruno Haible  <bruno@clisp.org>
92343
92344         * lib/stpncpy.h: New file, from GNU gettext with modifications.
92345         * lib/stpncpy.c: New file, from GNU gettext with modifications.
92346
92347 2003-01-28  Bruno Haible  <bruno@clisp.org>
92348
92349         * modules/c-ctype: New module.
92350         * MODULES.html.sh (func_all_modules): Add it.
92351
92352 2003-01-28  Bruno Haible  <bruno@clisp.org>
92353
92354         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
92355         Paul Eggert.
92356         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
92357         Paul Eggert.
92358
92359 2003-01-27  Bruno Haible  <bruno@clisp.org>
92360
92361         * modules/xsetenv: New module.
92362         * MODULES.html.sh (func_all_modules): Add it.
92363
92364 2003-01-27  Bruno Haible  <bruno@clisp.org>
92365
92366         * lib/xsetenv.h: New file, from GNU gettext.
92367         * lib/xsetenv.c: New file, from GNU gettext.
92368
92369 2003-01-23  Jim Meyering  <jim@meyering.net>
92370
92371         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
92372         from working on systems without dirfd (at least Irix and OSF1/Tru64).
92373
92374 2003-01-23  Bruno Haible  <bruno@clisp.org>
92375
92376         * modules/minmax: New module.
92377         * MODULES.html.sh (func_all_modules): Add it.
92378
92379 2003-01-23  Bruno Haible  <bruno@clisp.org>
92380
92381         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
92382         Eggert.
92383
92384 2003-01-22  Bruno Haible  <bruno@clisp.org>
92385
92386         * modules/exit: New module.
92387         * MODULES.html.sh (func_all_modules): Add it.
92388
92389 2003-01-22  Bruno Haible  <bruno@clisp.org>
92390
92391         * lib/exit.h: New file, from GNU gettext.
92392
92393 2003-01-19  Bruno Haible  <bruno@clisp.org>
92394
92395         * gnulib-tool: Recognize option --extract-maintainer.
92396         (func_get_maintainer): New function.
92397         * modules/*: Add Maintainer entry.
92398
92399 2003-01-16  Jim Meyering  <jim@meyering.net>
92400
92401         * m4/regex.m4: The `regex' struct is both input and output.
92402         Initialize it before each use.  Patch by Tim Waugh.
92403
92404 2003-01-16  Bruno Haible  <bruno@clisp.org>
92405
92406         * MODULES.html.sh: Add a table of contents. Add the module name as
92407         leftmost column. Add hyperlinks.
92408
92409 2003-01-15  Bruno Haible  <bruno@clisp.org>
92410
92411         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
92412
92413 2003-01-15  Bruno Haible  <bruno@clisp.org>
92414
92415         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
92416         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
92417         suffix.
92418
92419 2003-01-15  Bruno Haible  <bruno@clisp.org>
92420
92421         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
92422
92423 2003-01-15  Bruno Haible  <bruno@clisp.org>
92424
92425         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
92426         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
92427
92428 2003-01-14  Jim Meyering  <jim@meyering.net>
92429
92430         * lib/same.c (same_name): Tweak a comment.
92431
92432 2003-01-14  Bruno Haible  <bruno@clisp.org>
92433
92434         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
92435         when a string comparison is sufficient.
92436
92437 2003-01-14  Bruno Haible  <bruno@clisp.org>
92438
92439         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
92440         'unsigned int'.
92441
92442 2003-01-14  Bruno Haible  <bruno@clisp.org>
92443
92444         * lib/hash-pjw.c: Add comment about low quality of this function.
92445
92446 2003-01-13  Bruno Haible  <bruno@clisp.org>
92447
92448         * modules/stpcpy: Distribute lib/stpcpy.h.
92449         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
92450
92451 2003-01-13  Bruno Haible  <bruno@clisp.org>
92452
92453         * modules/*: Add a description.
92454         * modules/strpbrk: Fix Makefile.am snippet.
92455         * modules/strtoimax: Fix dependencies.
92456         * modules/strtoumax: Likewise.
92457
92458 2003-01-13  Bruno Haible  <bruno@clisp.org>
92459
92460         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
92461         * modules/alloca (Makefile.am): All object files depend on alloca.h.
92462         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
92463
92464 2003-01-13  Bruno Haible  <bruno@clisp.org>
92465
92466         * gnulib-tool (func_create_testdir): Store config/* files in the main
92467         directory.
92468         * config.rpath: Move to ...
92469         * config/config.rpath: ... here.
92470         * modules/gettext: Contains config/config.rpath, not config.rpath.
92471         * modules/iconv: Likewise.
92472
92473 2003-01-12  Paul Eggert  <eggert@twinsun.com>
92474
92475         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
92476         to avoid collisions with libcurses and libreadline.
92477
92478         * m4/getstr.m4: Remove.
92479         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
92480
92481 2003-01-12  Paul Eggert  <eggert@twinsun.com>
92482
92483         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
92484         to avoid collisions with libcurses and libreadline.
92485
92486         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
92487         * lib/getstr.h, getstr.c: Remove.
92488         * lib/getline.c: Include "getline.h", to check interface.
92489         Move body of old getstr.c here: this defines MIN_CHUNK and
92490         declares getdelim2, which is renamed from getstr.
92491         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
92492
92493         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
92494         All uses changed.
92495         * lib/linebuffer.h: Likewise.
92496         (readline): Remove backward-compatibility macro.
92497
92498 2003-01-12  Paul Eggert  <eggert@twinsun.com>
92499
92500         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
92501         to avoid collisions with libcurses and libreadline.
92502         * getstr: Remove.
92503         * MODULES.html.sh: Remove getstr.
92504         * modules/getline: Depend on unlocked-io, not getstr.
92505
92506 2003-01-12  Jim Meyering  <jim@meyering.net>
92507
92508         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
92509
92510 2003-01-10  Bruno Haible  <bruno@clisp.org>
92511
92512         * modules/alloca: Change Makefile.am requirements. Simplify Include
92513         requirements. Add lib/alloca_.h to file list.
92514
92515 2003-01-10  Bruno Haible  <bruno@clisp.org>
92516
92517         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
92518
92519 2003-01-10  Bruno Haible  <bruno@clisp.org>
92520
92521         * lib/alloca_.h: New file.
92522         * lib/getdate.y: Unconditionally include alloca.h.
92523         * lib/makepath.c: Likewise.
92524         * lib/setenv.c: Likewise.
92525         * lib/userspec.c: Likewise.
92526
92527 2003-01-09  Karl Berry  <karl@gnu.org>
92528
92529         * MODULES.html.sh: include `dirname $0` in PATH, to find
92530         gnulib-tool.
92531
92532 2003-01-09  Bruno Haible  <bruno@clisp.org>
92533
92534         * modules/stdbool: Change configure.ac, Makefile.am requirements.
92535         Simplify Include requirements. Add lib/stdbool.h.in to file list.
92536
92537 2003-01-09  Bruno Haible  <bruno@clisp.org>
92538
92539         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
92540
92541 2003-01-09  Bruno Haible  <bruno@clisp.org>
92542
92543         * lib/stdbool.h.in: New file.
92544
92545 2003-01-09  Bruno Haible  <bruno@clisp.org>
92546
92547         * gnulib-tool (func_all_modules): Ignore files ending in ~.
92548         * MODULES.html.sh: Likewise.
92549
92550 2003-01-08  Jim Meyering  <jim@meyering.net>
92551
92552         * lib/full-write.c: Undefine and define-away `const' after inclusion
92553         of errno.h, not before.  Suggestion from Bruno Haible.
92554
92555 2003-01-08  Bruno Haible  <bruno@clisp.org>
92556
92557         * modules/full-read: Depend on full-write.
92558
92559 2003-01-08  Bruno Haible  <bruno@clisp.org>
92560
92561         * lib/safe-read.c: Include specification header first, to ensure its
92562         selfcontainedness.
92563         * lib/full-write.c: Likewise.
92564
92565 2003-01-07  Jim Meyering  <jim@meyering.net>
92566
92567         * lib/full-write.c: Rework so that it may serve to define full_read,
92568         too.
92569         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
92570
92571 2003-01-07  Bruno Haible  <bruno@clisp.org>
92572
92573         * lib/strtoimax.c: Include <stdint.h> as an alternative to
92574         <inttypes.h>.
92575         * lib/xstrtol.h: Likewise.
92576         * lib/xstrtoimax.c: Likewise.
92577         * lib/xstrtoumax.c: Likewise.
92578         * lib/human.h: Likewise.
92579
92580         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
92581         on systems that have <inttypes.h> but not <stdint.h>.
92582
92583 2003-01-07  Bruno Haible  <bruno@clisp.org>
92584
92585         * MODULES.html.sh: Add copyright notice.
92586         (missed_files): Omit CVS directory entries.
92587         (func_module): Make it work with sed-3.02.
92588         * MODULES.txt: Remove file.
92589
92590 2003-01-06  Jim Meyering  <jim@meyering.net>
92591
92592         * lib/version-etc.c: Update year in translatable copyright string.
92593
92594 2003-01-03  Karl Berry  <karl@gnu.org>
92595
92596         * config/config.{guess,sub}: update from prep.
92597
92598 2003-01-02  Karl Berry  <karl@gnu.org>
92599
92600         * doc/COPYING.DOC: belatedly updated to 1.2.
92601
92602 2003-01-01  Karl Berry  <karl@gnu.org>
92603
92604         * gnulib-tool (func_verify_module): report module name $module in
92605         error message, not $1.
92606         * gnulib-tool (create-testdir): don't complain if destdir couldn't
92607         be created, only if it doesn't exist.
92608         * gnulib-tool (last_checkin_date): don't expand the $Date here.
92609
92610 2002-12-31  Paul Eggert  <eggert@twinsun.com>
92611
92612         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
92613
92614 2002-12-31  Paul Eggert  <eggert@twinsun.com>
92615
92616         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
92617         memcmp if strcoll doesn't work.
92618
92619 2002-12-31  Bruno Haible  <bruno@clisp.org>
92620
92621         * lib/utime.c (utime_null): No need to call ftruncate if the file was
92622         nonempty.
92623
92624 2002-12-31  Bruno Haible  <bruno@clisp.org>
92625
92626         * lib/memcoll.c (STRCOLL): New macro.
92627         (memcoll): Use it.
92628
92629 2002-12-31  Bruno Haible  <bruno@clisp.org>
92630
92631         * lib/localcharset.h: New file.
92632         * lib/localcharset.c: Include it.
92633         * lib/unicodeio.c: Likewise.
92634
92635 2002-12-31  Bruno Haible  <bruno@clisp.org>
92636
92637         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
92638         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
92639
92640 2002-12-31  Bruno Haible  <bruno@clisp.org>
92641
92642         * lib/getline.h: Include <stddef.h>, for size_t.
92643
92644         * lib/unicodeio.h: Include <stddef.h>, for size_t.
92645         * lib/unicodeio.c: Don't include <stddef.h>.
92646
92647 2002-12-31  Bruno Haible  <bruno@clisp.org>
92648
92649         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
92650         HAVE_TM_ZONE.
92651
92652 2002-12-24  Karl Berry  <karl@gnu.org>
92653
92654         * config/config.guess: update from prep.
92655
92656 2002-12-24  Bruno Haible  <bruno@clisp.org>
92657
92658         General infrasructure.
92659         * m4/README: Rewritten.
92660         * m4/onceonly.m4: New file.
92661         * m4/onceonly_2_57.m4: New file.
92662
92663         Module atexit.
92664         * m4/atexit.m4: New file.
92665
92666         Module strtod.
92667         * m4/strtod.m4: New file.
92668
92669         Module strtol.
92670         * m4/strtol.m4: New file.
92671
92672         Module strtoul.
92673         * m4/strtoul.m4: New file.
92674
92675         Module memchr.
92676         * m4/memchr.m4: New file.
92677
92678         Module memcmp.
92679         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
92680         (jm_FUNC_MEMCMP): Invoke it.
92681
92682         Module memcpy.
92683         * m4/memcpy.m4: New file.
92684
92685         Module memmove.
92686         * m4/memmove.m4: New file.
92687
92688         Module memset.
92689         * m4/memset.m4: New file.
92690
92691         Module strcspn.
92692         * m4/strcspn.m4: New file.
92693
92694         Module strpbrk.
92695         * m4/strpbrk.m4: New file.
92696
92697         Module strstr.
92698         * m4/strstr.m4: New file.
92699
92700         Module strerror.
92701         * m4/strerror.m4: New file.
92702
92703         Module mktime.
92704         * m4/mktime.m4: Renamed from jm-mktime.m4.
92705         (gl_PREREQ_MKTIME): New macro.
92706         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
92707
92708         Module malloc.
92709         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
92710         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
92711         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
92712
92713         Module realloc.
92714         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
92715         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
92716         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
92717
92718         Module strftime.
92719         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
92720         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
92721         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
92722         gl_TM_GMTOFF.
92723         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
92724
92725         Module xalloc.
92726         * m4/xalloc.m4: New file.
92727
92728         Module alloca.
92729         * m4/alloca.m4: New file.
92730
92731         Module putenv.
92732         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
92733         (jm_FUNC_PUTENV): Invoke it.
92734
92735         Module setenv.
92736         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
92737         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
92738         when invoked twice.
92739         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
92740         gt_FUNC_SETENV.
92741
92742         Module memrchr.
92743         * m4/memrchr.m4: New file.
92744
92745         Module stpcpy.
92746         * m4/stpcpy.m4: New file.
92747
92748         Module strcase.
92749         * m4/strcase.m4: New file.
92750
92751         Module strdup.
92752         * m4/strdup.m4: New file.
92753
92754         Module strnlen.
92755         * m4/strnlen.m4: New file.
92756
92757         Module strndup.
92758         * m4/strndup.m4: New file.
92759
92760         Module xstrtod.
92761         * m4/xstrtod.m4: New file.
92762
92763         Module xstrtol.
92764         * m4/xstrtol.m4: New file.
92765
92766         Module getdate.
92767         * m4/getdate.m4: New file.
92768
92769         Module unlocked-io.
92770         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
92771         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
92772         * m4/jm-glibc-io.m4n: Remove file.
92773
92774         Module long-options.
92775         * m4/long-options.m4: New file.
92776
92777         Module md5.
92778         * m4/md5.m4: New file.
92779
92780         Module sha.
92781         * m4/sha.m4: New file.
92782
92783         Module getstr.
92784         * m4/getstr.m4: New file.
92785
92786         Module getline.
92787         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
92788         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
92789         <sys/types.h>, for size_t. Use the function name gnu_getline, not
92790         simply getline. Infoke gl_PREREQ_GETLINE.
92791
92792         Module obstack.
92793         * m4/obstack.m4: New file.
92794
92795         Module hash.
92796         * m4/hash.m4: New file.
92797
92798         Module readtokens.
92799         * m4/readtokens.m4: New file.
92800
92801         Module strverscmp.
92802         * m4/strverscmp.m4: New file.
92803
92804         Module stdbool.
92805         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
92806         OSF/1.
92807
92808         Module strtoll.
92809         * m4/strtoll.m4: New file.
92810
92811         Module strtoull.
92812         * m4/strtoull.m4: New file.
92813
92814         Module strtoimax.
92815         * m4/strtoimax.m4: New file.
92816
92817         Module strtoumax.
92818         * m4/strtoumax.m4: New file.
92819
92820         Module xstrtoimax.
92821         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
92822         jm_AC_PREREQ_XSTRTOIMAX.
92823         Moved the strtol prerequisites to strtol.m4.
92824         Moved the strtoll prerequisites to strtoll.m4.
92825         Moved the strtoimax prerequisites to strtoimax.m4.
92826
92827         Module xstrtoumax.
92828         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
92829         jm_AC_PREREQ_XSTRTOUMAX.
92830         Moved the strtoul prerequisites to strtoul.m4.
92831         Moved the strtoull prerequisites to strtoull.m4.
92832         Moved the strtoumax prerequisites to strtoumax.m4.
92833
92834         Module chown.
92835         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
92836         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
92837
92838         Module dup2.
92839         * m4/dup2.m4: New file.
92840
92841         Module ftruncate.
92842         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
92843         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
92844
92845         Module getgroups.
92846         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
92847         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
92848
92849         Module gettimeofday.
92850         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
92851         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
92852         gl_PREREQ_GETTIMEOFDAY.
92853
92854         Module mkdir.
92855         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
92856         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
92857
92858         Module mkstemp.
92859         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
92860         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
92861         jm_AC_TYPE_UINTMAX_T.
92862         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
92863
92864         Module stat.
92865         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
92866         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
92867
92868         Module lstat.
92869         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
92870         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
92871
92872         Module timespec.
92873         * m4/timespec.m4 (gl_TIMESPEC): New macro.
92874         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
92875         * m4/st_mtim.m4: Indentation.
92876
92877         Module nanosleep.
92878         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
92879         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
92880         gl_PREREQ_NANOSLEEP.
92881
92882         Module regex.
92883         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
92884         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
92885         (gl_REGEX): New macro.
92886
92887         Module rename.
92888         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
92889         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
92890
92891         Module rmdir.
92892         * m4/rmdir.m4: New file.
92893
92894         Module utime.
92895         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
92896         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
92897         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
92898
92899         Module dirname.
92900         * m4/dirname.m4: New file.
92901
92902         Module getopt.
92903         * m4/getopt.m4: New file.
92904
92905         Module unistd-safer.
92906         * m4/unistd-safer.m4: New file.
92907
92908         Module fnmatch.
92909         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
92910         declaration.
92911         (gl_PREREQ_FNMATCH_EXTRA): New macro.
92912         (gl_FUNC_FNMATCH_POSIX): New macro.
92913         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
92914         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
92915         simply fnmatch.
92916
92917         Module exclude.
92918         * m4/exclude.m4: New file.
92919
92920         Module human.
92921         * m4/human.m4: New file.
92922
92923         Module acl.
92924         * m4/acl.m4: Nop.
92925
92926         Module backupfile.
92927         * m4/backupfile.m4: New file.
92928         * m4/d-ino.m4: Indentation.
92929
92930         Module fsusage.
92931         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
92932         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
92933         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
92934
92935         Module dirfd.
92936         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
92937         requirements.
92938
92939         Module euidaccess.
92940         * m4/euidaccess.m4: New file.
92941
92942         Module file-type.
92943         * m4/file-type.m4: New file.
92944
92945         Module fileblocks.
92946         * m4/fileblocks.m4: New file.
92947
92948         Module filemode.
92949         * m4/filemode.m4: New file.
92950
92951         Module isdir.
92952         * m4/isdir.m4: New file.
92953
92954         Module lchown.
92955         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
92956         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
92957
92958         Module makepath.
92959         * m4/makepath.m4: New file.
92960
92961         Module modechange.
92962         * m4/modechange.m4: New file.
92963
92964         Module mountlist.
92965         * m4/mountlist.m4: New file.
92966         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
92967         Indentation.
92968
92969         Module path-concat.
92970         * m4/path-concat.m4: New file.
92971
92972         Module pathmax.
92973         * m4/pathmax.m4: New file.
92974
92975         Module same.
92976         * m4/same.m4: New file.
92977
92978         Module save-cwd.
92979         * m4/save-cwd.m4: New file.
92980
92981         Module savedir.
92982         * m4/savedir.m4: New file.
92983
92984         Module xgetcwd.
92985         * m4/xgetcwd.m4: New file.
92986         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
92987
92988         Module xreadlink.
92989         * m4/xreadlink.m4: New file.
92990
92991         Module safe-read.
92992         * m4/safe-read.m4: New file.
92993
92994         Module safe-write.
92995         * m4/safe-write.m4: New file.
92996
92997         Module closeout.
92998         * m4/closeout.m4: New file.
92999
93000         Module stdio-safer.
93001         * m4/stdio-safer.m4: New file.
93002
93003         Module getpass.
93004         * m4/getpass.m4: New file.
93005
93006         Module getugroups.
93007         * m4/getugroups.m4: New file.
93008
93009         Module group-member.
93010         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
93011         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
93012
93013         Module idcache.
93014         * m4/idcache.m4: New file.
93015
93016         Module userspec.
93017         * m4/userspec.m4: New file.
93018
93019         Module gettime.
93020         * m4/clock_time.m4: New file.
93021         * m4/gettime.m4: New file.
93022
93023         Module settime.
93024         * m4/settime.m4: New file.
93025
93026         Module posixtm.
93027         * m4/posixtm.m4: New file.
93028
93029         Module gethostname.
93030         * m4/gethostname.m4: New file.
93031
93032         Module canon-host.
93033         * m4/canon-host.m4: New file.
93034
93035         Module gettext.
93036         * m4/codeset.m4: New file, from gettext-0.11.5.
93037         * m4/gettext.m4: New file, from gettext-0.11.5.
93038         * m4/glibc21.m4: New file, from gettext-0.11.5.
93039         * m4/iconv.m4: New file, from gettext-0.11.5.
93040         * m4/intdiv0.m4: New file, from gettext-0.11.5.
93041         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
93042         * m4/inttypes.m4: New file, from gettext-0.11.5.
93043         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
93044         * m4/isc-posix.m4: New file, from gettext-0.11.5.
93045         * m4/lcmessage.m4: New file, from gettext-0.11.5.
93046         * m4/lib-ld.m4: New file, from gettext-0.11.5.
93047         * m4/lib-link.m4: New file, from gettext-0.11.5.
93048         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
93049         * m4/progtest.m4: New file, from gettext-0.11.5.
93050         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
93051         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
93052         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
93053
93054         Module localcharset.
93055         * m4/localcharset.m4: New file.
93056
93057         Module hard-locale.
93058         * m4/hard-locale.m4: New file.
93059
93060         Module mbswidth.
93061         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
93062         onceonly macros.
93063         * m4/mbrtowc.m4: Add comment.
93064
93065         Module memcasecmp.
93066         * m4/memcasecmp.m4: New file.
93067
93068         Module memcoll.
93069         * m4/memcoll.m4: New file.
93070
93071         Module unicodeio.
93072         * m4/unicodeio.m4: New file.
93073
93074         Module rpmatch.
93075         * m4/rpmatch.m4: New file.
93076
93077         Module yesno.
93078         * m4/yesno.m4: New file.
93079
93080         Module exitfail.
93081         * m4/exitfail.m4: New file.
93082
93083         Module c-stack.
93084         * m4/c-stack.m4 (gl_C_STACK): New macro.
93085         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
93086
93087         Module error.
93088         * m4/error.m4 (gl_ERROR): New macro.
93089         (jm_PREREQ_ERROR): Use onceonly macros.
93090
93091         Module fatal.
93092         * m4/fatal.m4: New file.
93093
93094         Module getloadavg.
93095         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
93096         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
93097
93098         Module getpagesize.
93099         * m4/getpagesize.m4: New file.
93100
93101         Module getusershell.
93102         * m4/getusershell.m4: New file.
93103
93104         Module physmem.
93105         * m4/physmem.m4: New file.
93106
93107         Module posixver.
93108         * m4/posixver.m4: New file.
93109
93110         Module quotearg.
93111         * m4/quotearg.m4: New file.
93112
93113         Module quote.
93114         * m4/quote.m4: New file.
93115
93116         Module readutmp.
93117         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
93118
93119         Module sig2str.
93120         * m4/sig2str.m4: New file.
93121
93122         Other.
93123         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
93124         ulonglong.m4.
93125         * m4/intmax_t.m4: New file.
93126         * m4/d-type.m4: Indentation.
93127         * m4/jm-macros.m4: Update.
93128         * m4/prereq.m4 (jm_PREREQ): Update.
93129         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
93130         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
93131         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
93132         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
93133         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
93134         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
93135         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
93136         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
93137         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
93138         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
93139         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
93140         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
93141         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
93142         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
93143         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
93144         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
93145         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
93146         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
93147         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
93148
93149 2002-12-24  Bruno Haible  <bruno@clisp.org>
93150
93151         * MODULES.txt: Update according to m4/ changes.
93152
93153         Module gettext.
93154         * config.rpath: New file, from gettext-0.11.5.
93155
93156         * modules/*: New module descriptions.
93157         * gnulib-tool: New file.
93158         * MODULES.html.sh: New file.
93159
93160 2002-12-21  Karl Berry  <karl@gnu.org>
93161
93162         * doc/fdl.texi: update to version 1.2.
93163
93164 2002-12-19  Karl Berry  <karl@gnu.org>
93165
93166         * config/config.guess: update from prep.
93167
93168 2002-12-18  Bruno Haible  <bruno@clisp.org>
93169
93170         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
93171         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
93172
93173 2002-12-17  Bruno Haible  <bruno@clisp.org>
93174
93175         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
93176         stdlib.h, string.h.
93177
93178 2002-12-17  Bruno Haible  <bruno@clisp.org>
93179
93180         * lib/canon-host.c (strdup): Remove unused declaration.
93181
93182         * lib/fsusage.c: Include full_read.h.
93183         (get_fs_usage): Use full_read instead of safe_read.
93184
93185         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
93186
93187 2002-12-12  Karl Berry  <karl@gnu.org>
93188
93189         * config/config.guess: update from prep.
93190
93191 2002-12-11  Bruno Haible  <bruno@clisp.org>
93192
93193         * m4/setenv.m4: New file, from gettext-0.11.5.
93194
93195 2002-12-11  Bruno Haible  <bruno@clisp.org>
93196
93197         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
93198         not unsetenv().
93199         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
93200         modifications:
93201
93202         2002-12-11  Bruno Haible  <bruno@clisp.org>
93203
93204                 * setenv.c (alloca): Fall back to malloc.
93205                 (freea): New macro.
93206                 (setenv): Use freea() to free memory allocated with alloca().
93207
93208         2002-11-13  Bruno Haible  <bruno@clisp.org>
93209
93210                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
93211                 function declarations.
93212                 * unsetenv.c (unsetenv): Likewise.
93213
93214         2002-03-04  Bruno Haible  <bruno@clisp.org>
93215
93216                 Portability to AIX 4.3.3.
93217                 * unsetenv.c: New file, extracted from setenv.c.
93218                 * setenv.c: Move the unsetenv() function to unsetenv.c.
93219
93220         2001-12-20  Bruno Haible  <bruno@clisp.org>
93221
93222                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
93223                 use malloc instead. For SunOS 4.
93224
93225         2001-12-11  Bruno Haible  <bruno@clisp.org>
93226
93227                 * setenv.c: Declare alloca.
93228                 (compar_fn_t): New typedef.
93229                 (KNOWN_VALUE, STORE_VALUE): Use it.
93230
93231         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
93232         setenv.h.
93233
93234 2002-12-10  Paul Eggert  <eggert@twinsun.com>
93235
93236         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
93237         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
93238         Choose values that are less likely to collide with system fnmatch
93239         options.
93240         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
93241         defined (e.g., a pure POSIX system).
93242         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
93243         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
93244
93245 2002-12-06  Paul Eggert  <eggert@twinsun.com>
93246
93247         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
93248         a pain in practice to deal with generated m4 files.  This change
93249         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
93250
93251         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
93252         and jm-glibc-io.m4, as they are no longer a special case.
93253         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
93254         kludge and the auto-generation stuff.  Check only whether the
93255         functions are declared, not whether they exist, since older hosts
93256         that don't declare the functions can't use the optimization anyway.
93257
93258 2002-12-06  Jim Meyering  <jim@meyering.net>
93259
93260         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
93261
93262         Merge in changes from libc's misc/error.c, in preparation
93263         for the merge of gnulib's changes back into libc.
93264
93265         * lib/error.c (_): Define only if not already defined.
93266         Move definition to follow all #include directives.
93267         Include unlocked-io.h only if !_LIBC.
93268         [_LIBC]: Include <libio/libioP.h>.
93269         [USE_IN_LIBIO]: Include <libio/iolibio.h>
93270         (fflush): Tweak definition to use INTUSE.
93271         (putc): Define.
93272
93273 2002-12-05  Paul Eggert  <eggert@twinsun.com>
93274
93275         * lib/alloca.c [defined emacs]: Include "lisp.h".
93276         (xalloc_die) [defined emacs]: New macro.
93277         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
93278         [! defined emacs]: Include <xalloc.h>.
93279         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
93280         (pointer): Typedef to POINTER_TYPE *.
93281         (malloc): Remove decl; we now always use xmalloc.
93282         (alloca): Use old-style definition, since Emacs needs this.
93283         Check for arithmetic overflow when computing combined size.
93284
93285 2002-12-04  Paul Eggert  <eggert@twinsun.com>
93286
93287         Do not generate unlocked-io.h automatically, since it's easier to
93288         maintain it by hand.
93289
93290         * lib/unlocked-io.h: New file, from GNU diffutils,
93291         but with proper copyright notice and attribution.
93292         * lib/gen-uio: Remove.
93293         * lib/Makefile.am: Add copyright notice.
93294         (libfetish_a_SOURCES): Add unlocked-io.h.
93295         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
93296         (DISTCLEANFILES, io_functions): Remove macros.
93297         (EXTRA_DIST): Remove gen_uio.
93298         (unlocked-io.h): Remove rule.
93299
93300 2002-12-04  Jim Meyering  <jim@meyering.net>
93301
93302         Reflect the fact that stat.c and lstat.c are no longer generated.
93303         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
93304         (DISTCLEANFILES): Likewise.
93305         (EXTRA_DIST): Likewise.
93306         (all_local): Don't depend on stat.c or lstat.c.
93307         (stat.c, lstat.c): Remove rules.
93308         (EXTRA_DIST): Remove xstat.in.
93309
93310         * lib/xstat.in: Remove file.  Contents moved into stat.c.
93311         * lib/stat.c: New file.  Contents mostly from xstat.in.
93312         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
93313         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
93314
93315         * lib/safe-read.c: Rework so that it may serve to define safe_write,
93316         too.
93317         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
93318
93319 2002-12-03  Jim Meyering  <jim@meyering.net>
93320
93321         * lib/safe-read.c, safe-write.c: Change variable names and comments,
93322         but not semantics, to minimize the differences between these two files.
93323         (safe_read): Change comment to mention SAFE_READ_ERROR.
93324
93325         * lib/safe-read.c (IS_EINTR): Define.
93326         (safe_read): Use IS_EINTR in place of in-function cpp directives.
93327
93328 2002-12-02  Jim Meyering  <jim@meyering.net>
93329
93330         * lib/safe-read.c (EINTR): Define.
93331         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93332         (INT_MAX): Provide fallback.
93333         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
93334
93335         * lib/safe-read.h (SAFE_READ_ERROR): Define.
93336
93337 2002-12-02  Bruno Haible  <bruno@clisp.org>
93338
93339         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
93340         Define, taken from safe-read.c.
93341         (INT_MAX): Provide fallback.
93342         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
93343         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
93344
93345         * lib/safe-read.c (EINTR): Remove definition.
93346         (safe_read): Don't use EINTR if it is absent.
93347
93348 2002-12-01  Jim Meyering  <jim@meyering.net>
93349
93350         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
93351         zero.
93352         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
93353
93354 2002-11-27  Paul Eggert  <eggert@twinsun.com>
93355
93356         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
93357         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
93358         with `if (! (value < limit)) abort ();', for readability.
93359
93360 2002-11-26  Karl Berry  <karl@gnu.org>
93361
93362         * lib/strdup.c: copy from libc again, with jim's ok.
93363         * lib/.cppi-disable: re-add strdup.c
93364
93365 2002-11-25  Karl Berry  <karl@gnu.org>
93366
93367         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
93368         instead of "strtol.c".
93369
93370 2002-11-25  Karl Berry  <karl@gnu.org>
93371
93372         * config/install-sh: update from automake for variable quoting, $0 in
93373         error msgs, etc.
93374
93375         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
93376         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
93377         entry.
93378
93379 2002-11-25  Jim Meyering  <jim@meyering.net>
93380
93381         * lib/mktime.c: Sync from libc, now that it has the latest fix.
93382
93383 2002-11-24  Karl Berry  <karl@gnu.org>
93384
93385         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
93386         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
93387
93388 2002-11-24  Jim Meyering  <jim@meyering.net>
93389
93390         Update from coreutils:
93391
93392         * lib/mktime.c: Merge in changes from libc.
93393
93394         Avoid a link-time failure on some Linux systems.
93395         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
93396         (otherwise).
93397         (__mon_yday): Declare with the STATIC attribute.
93398         (__mktime_internal): Likewise.
93399         Based on a report from Greg Schafer.
93400
93401 2002-11-23  Jim Meyering  <jim@meyering.net>
93402
93403         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
93404         Use `unsigned', not `int', as type of index.
93405
93406         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
93407
93408         * lib/fsusage.c: Remove unneeded parentheses around operands of
93409         `defined'.
93410
93411 2002-11-22  Paul Eggert  <eggert@twinsun.com>
93412
93413         * lib/quotearg.h: Allow multiple inclusion by surrounding with
93414         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
93415         so that we can be included first.
93416         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
93417         * lib/quotearg.c: Include quotearg.h immediately after config.h.
93418         No need to include stddef.h or sys/types.h any more.
93419         Surround local include files with "", not "<>".
93420         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
93421         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
93422         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
93423         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
93424         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
93425         (ISPRINT): Remove; no longer needed now that we assume C89.
93426
93427         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
93428         Preserve errno.
93429
93430         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
93431         quotearg_char): Use SIZE_MAX rather than
93432         (size_t) -1 when we are talking about "infinity".
93433
93434         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
93435
93436 2002-11-22  Paul Eggert  <eggert@twinsun.com>
93437
93438         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
93439         hint that one should use `if (! x) abort ();' rather than `assert
93440         (x);', and anyway it's one less thing to worry about configuring.
93441         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
93442         hash_rehash, hash_insert): Use abort rather than assert.
93443
93444 2002-11-22  Bruno Haible  <bruno@clisp.org>
93445
93446         * lib/safe-read.h: Assume C89. Add comments.
93447         (safe_read): Change return type to size_t.
93448         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
93449         byte counts > SSIZE_MAX correctly.
93450         * lib/safe-write.h: New file.
93451         * lib/safe-write.c: New file.
93452         * lib/full-read.h: New file.
93453         * lib/full-read.c: New file.
93454         * lib/full-write.h: Assume C89. Add comments.
93455         * lib/full-write.c: Include safe-write.h.
93456         (full_write): Rewritten to use safe_write.
93457         Suggested by Jim Meyering and Paul Eggert.
93458
93459 2002-11-21  Jim Meyering  <jim@meyering.net>
93460
93461         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
93462
93463         Merge in changes from the coreutils.
93464
93465         2002-09-25  Paul Eggert  <eggert@twinsun.com>
93466         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
93467         <stdint.h>.
93468         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
93469         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
93470         int.  Work more efficiently if X is the same width as uintmax_t.
93471         Do not compare X to -1, to avoid bogus compiler warning.
93472         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
93473         Don't assume that f_frsize and f_bsize are the same type.
93474
93475         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
93476         warning on FreeBSD.
93477
93478         * lib/makepath.c (make_path): Restore umask *before* creating the final
93479         component.
93480         (make_path): Minor reformatting.
93481
93482         * lib/xmalloc.c: Adjust to work with new autoconf macros,
93483         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
93484         HAVE_MALLOC/HAVE_REALLOC.
93485
93486         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
93487         dummy ones.  At least on GNU/Linux systems, `auto' means something
93488         else.
93489         From Michael Stone.
93490
93491 2002-11-21  Bruno Haible  <bruno@clisp.org>
93492
93493         Remove case insensitive option matching.
93494         * lib/argmatch.h (argcasematch): Remove declaration.
93495         (ARGCASEMATCH): Remove macro.
93496         (__xargmatch_internal): Remove case_sensitive argument.
93497         (XARGMATCH): Update.
93498         (XARGCASEMATCH): Remove macro.
93499         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
93500         case_sensitive argument.
93501         (argcasematch): Remove function.
93502         (__xargmatch_internal): Remove case_sensitive argument.
93503         (main): Use XARGMATCH instead of XARGCASEMATCH.
93504
93505         * lib/xmalloc.c: Change compile-time error message. Add comment about
93506         required autoconf version.
93507
93508 2002-11-20  Paul Eggert  <eggert@twinsun.com>
93509
93510         Merge argmatch cleanups from Bison.  Assume C89.
93511
93512         * lib/argmatch.c: Include config.h here, not in argmatch.h.
93513         Include stdlib.h, for EXIT_FAILURE.
93514         Always include <string.h>, since we assume C89.
93515         (EXIT_FAILURE): Remove pre-C89 bug workaround.
93516         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
93517         Include <stddef.h> instead, since it's all we need for size_t.
93518         (PARAMS): Remove.  All uses removed.
93519         (ARRAY_CARDINALITY): Do not bother to #undef.
93520         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
93521         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
93522         Remove unnecessary parentheses.
93523         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
93524         Insert necessary parentheses.
93525         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
93526         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
93527
93528 2002-11-19  Bruno Haible  <bruno@clisp.org>
93529
93530         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
93531         * lib/mbswidth.h: Include <stddef.h>, for size_t.
93532
93533         * lib/mbswidth.h (PARAMS): Remove macro.
93534         (mbswidth, mbsnwidth): Use ANSI C function declarations.
93535         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
93536
93537         * lib/gcd.h (PARAMS): Remove macro.
93538         (gcd): Use ANSI C function declarations.
93539         * lib/gcd.c (gcd): Likewise.
93540
93541 2002-11-15  Bruno Haible  <bruno@clisp.org>
93542
93543         * lib/strcspn.c: Include <stddef.h>.
93544         (strcspn): Use ANSI C function declaration. Change return type to
93545         size_t. Use NULL.
93546         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
93547         (strpbrk): Use NULL.
93548         * lib/strpbrk.h (PARAMS): Remove macro.
93549         (strpbrk): Use ANSI C function declaration.
93550         * lib/strstr.c: Don't include <sys/types.h>.
93551         * lib/strstr.h (PARAMS): Remove macro.
93552         (strstr): Use ANSI C function declarations.
93553
93554 2002-11-14  Karl Berry  <karl@gnu.org>
93555
93556         * config/mkinstalldirs: `do' on separate line, instead of
93557         `for var; do'.
93558
93559 2002-11-06  Bruno Haible  <bruno@clisp.org>
93560
93561         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
93562         * lib/gcd.c (gcd): Likewise.
93563
93564 2002-11-05  Bruno Haible  <bruno@clisp.org>
93565
93566         * lib/gcd.h: New file, from gettext-0.11.5.
93567         * lib/gcd.c: New file, from gettext-0.11.5.
93568
93569 2002-11-05  Bruno Haible  <bruno@clisp.org>
93570
93571         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93572         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93573         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93574         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
93575
93576         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
93577         <libintl.h>.
93578         * lib/makepath.c: Include gettext.h instead of <locale.h> and
93579         <libintl.h>.
93580
93581         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
93582         * lib/human.c: Include gettext.h instead of <libintl.h>.
93583         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
93584         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
93585         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
93586         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
93587         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
93588         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
93589         (textdomain): Remove definition.
93590         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
93591
93592         * lib/long-options.c: Remove include of <libintl.h> and definition of
93593         _.
93594         * lib/same.c: Remove include of <libintl.h> and definition of _.
93595
93596 2002-11-04  Owen Taylor  <otaylor@redhat.com>
93597
93598         * lib/config.charset: A few additions for Solaris.
93599
93600 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
93601
93602         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
93603         * lib/localcharset.c (locale_charset): Declare as extern "C".
93604
93605 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
93606
93607         * lib/config.charset: msdos in uk_UA uses CP1125.
93608
93609 2002-11-04  Bruno Haible  <bruno@clisp.org>
93610
93611         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
93612         * lib/strcase.h: New file, from GNU gettext-0.11.5.
93613         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
93614         * lib/strstr.h: New file, from GNU gettext-0.11.5.
93615         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
93616
93617 2002-11-04  Bruno Haible  <bruno@clisp.org>
93618
93619         * lib/localcharset.c (locale_charset): Don't return an empty string.
93620
93621 2002-11-04  Bruno Haible  <bruno@clisp.org>
93622
93623         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
93624         aliases.
93625
93626 2002-11-04  Bruno Haible  <bruno@clisp.org>
93627
93628         * lib/config.charset: Update for newest glibc. Add canonical names
93629         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
93630
93631 2002-11-04  Bruno Haible  <bruno@clisp.org>
93632
93633         * lib/config.charset: Add support for NetBSD.
93634
93635 2002-11-04  Bruno Haible  <bruno@clisp.org>
93636
93637         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
93638
93639 2002-11-01  Bruno Haible  <bruno@clisp.org>
93640
93641         * configure.in: Add AC_CONFIG_AUX_DIR call.
93642         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
93643         test/Makefile.
93644         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
93645
93646 2002-09-28  Karl Berry  <karl@gnu.org>
93647
93648         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
93649         installed automake until the next release, since changes have been
93650         made.
93651
93652 2002-09-25  Karl Berry  <karl@gnu.org>
93653
93654         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
93655         * lib/getopt*: copy from libc/posix.
93656         * lib/gettext.h: copy from gettext.
93657         * lib/.cppi-disable: add strdup.c, gettext.h.
93658
93659 2002-09-25  Karl Berry  <karl@gnu.org>
93660
93661         * config/srclist.txt: enable gettext.h check.
93662         * config/config.{guess,sub}: update from prep.
93663         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
93664                 from automake 1.6.3.
93665         See srclist*.
93666
93667 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
93668
93669         * regex.c (PATFETCH): Remove the translating fetch.
93670         (PATFETCH_RAW): Rename to PATFETCH.
93671         (set_image_of_range): New fun.
93672         (SET_RANGE_TABLE_WORK_AREA): Use it.
93673         (regex_compile): Don't translate the pattern chars so eagerly.
93674         Only do it when inserting an `exactn' bytecode or when handling
93675         a char-range.
93676         (mutually_exclusive_p): Avoid empty statement.
93677
93678 2002-07-06  Jim Meyering  <meyering@lucent.com>
93679
93680         * m4/README: Don't mention Makefile.am.in.
93681         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
93682
93683 2002-07-01  Jim Meyering  <meyering@lucent.com>
93684
93685         * lib/c-stack.c: Include sys/time.h.
93686         From Volker Borchert.
93687
93688 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93689
93690         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
93691
93692 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93693
93694         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
93695         New macro.  Use it uniformly instead of
93696         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
93697         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
93698         reported by Vin Shelton.
93699
93700 2002-06-22  Paul Eggert  <eggert@twinsun.com>
93701
93702         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
93703         Do not assume SA_SIGINFO behavior.
93704         Bug reported by Jim Meyering on NetBSD 1.5.2.
93705
93706 2002-06-22  Jim Meyering  <meyering@lucent.com>
93707
93708         * m4/c-stack.m4: New file, from diffutils-2.8.2.
93709         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
93710
93711         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
93712         now that configure.ac uses AC_GNU_SOURCE.
93713         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
93714         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
93715
93716         Update to latest tools.  Suggestions from Paul Eggert.
93717         * m4/stdbool.m4: New file, from diffutils-2.8.2.
93718         * m4/gnu-source.m4: Update from diffutils-2.8.2.
93719         * m4/fnmatch.m4: Likewise.
93720         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
93721         to AC_HEADER_STDBOOL
93722
93723 2002-06-22  Jim Meyering  <meyering@lucent.com>
93724
93725         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
93726         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
93727
93728 2002-06-22  Jim Meyering  <meyering@lucent.com>
93729
93730         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
93731
93732         * lib/exitfail.c, exitfail.h: Likewise.
93733         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
93734
93735         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
93736         of fnmatch.h.
93737         (EXTRA_DIST): Add fnmatch_loop.c.
93738         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
93739
93740         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
93741         * lib/fnmatch.c: Update from diffutils-2.8.2.
93742         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
93743         * lib/fnmatch.h: Remove file.
93744
93745 2002-06-21  Jim Meyering  <meyering@lucent.com>
93746
93747         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
93748         * m4/mbrtowc.m4: Likewise.
93749
93750         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
93751         * m4/mbswidth.m4: Reflect name change:
93752         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
93753         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93754
93755         * m4/lib-link.m4: Update from gettext-0.11.2.
93756         * m4/gettext.m4: Likewise.
93757
93758         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
93759         From Alfred M. Szmidt.
93760
93761 2002-06-18  Paul Eggert  <eggert@twinsun.com>
93762
93763         * lib/file-type.h: Report an error if neither S_ISREG nor
93764         S_IFREG is defined, instead of using a test specific to glibc
93765         2.2.  This should be safe, since POSIX requires S_ISREG and
93766         Unix Version 7 had S_IFREG.  We don't need to check for
93767         <sys/types.h> since we don't use any symbols that it defines.
93768
93769 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
93770
93771         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
93772         $@-t, so that each temporary file name is unique and valid in the first
93773         8 characters, for operation under DOS.
93774
93775 2002-06-15  Paul Eggert  <eggert@twinsun.com>
93776
93777         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
93778
93779 2002-06-15  Jim Meyering  <meyering@lucent.com>
93780
93781         Work even with DJGPP 2.03, which lacks support for symlinks.
93782         From Richard Dawe.
93783         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
93784         is defined.
93785         * lib/lchown.c (S_ISLNK): Likewise.
93786
93787 2002-06-15  Jim Meyering  <meyering@lucent.com>
93788
93789         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
93790         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
93791         have been included before this file.
93792
93793 2002-06-14  Jim Meyering  <meyering@lucent.com>
93794
93795         * lib/file-type.h: Use the version from diffutils-2.8.2.
93796         * lib/file-type.c: Likewise.
93797
93798 2002-06-07  Jim Meyering  <meyering@lucent.com>
93799
93800         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
93801         They're needed at least for NetBSD 1.5.2.
93802         ($statxfs_includes): Include those same headers.
93803         ($statxfs_includes): Include sys/vfs.h if available.
93804         ($statxfs_includes): Likewise for sys/statvfs.h.
93805         Check for the following members in both structs statfs and statvfs:
93806         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
93807
93808 2002-06-01  Jim Meyering  <meyering@lucent.com>
93809
93810         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
93811         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
93812
93813 2002-05-28  Jim Meyering  <meyering@lucent.com>
93814
93815         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
93816         Reported by Volker Borchert.
93817
93818 2002-05-27  Jim Meyering  <meyering@lucent.com>
93819
93820         Fix a problem seen only on nonconforming systems whereby ls.c's
93821         use of localtime, and then of gettimeofday would cause trouble:
93822         the localtime call used to initialize rpl_gettimeofday's save
93823         mechanism would clobber ls's current local time information so
93824         that in any long listing the first file would always be listed
93825         with date 1970-01-01.  Analysis by Volker Borchert.
93826
93827         * lib/gettimeofday.c (localtime): Undefine.
93828         (rpl_localtime): New function.
93829
93830 2002-05-27  Jim Meyering  <meyering@lucent.com>
93831
93832         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
93833         localtime.
93834
93835         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
93836         use the replacement function; it wouldn't resolve at link time.
93837         Reported by Volker Borchert.
93838
93839 2002-05-22  Jim Meyering  <meyering@lucent.com>
93840
93841         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
93842         file-type.h.
93843         * lib/file-type.h: New file.
93844         * lib/file-type.c (file_type): New file/function.  Extracted from
93845         diffutils.
93846
93847 2002-04-30  Jim Meyering  <meyering@lucent.com>
93848
93849         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
93850
93851 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93852
93853         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
93854
93855 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93856
93857         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
93858         Do not check for alloca.h (no longer used) or stdbool.h (was never
93859         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
93860
93861 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93862
93863         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
93864
93865 2002-04-29  Jim Meyering  <meyering@lucent.com>
93866
93867         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
93868         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
93869         Use AC_FUNC_STRNLEN here instead.
93870
93871         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
93872         With autoconf-2.53a, it's part of AC_PROG_CC.
93873
93874 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93875
93876         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
93877         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
93878
93879 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93880
93881         * lib/sig2str.h, lib/sig2str.c: New files.
93882         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
93883
93884 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93885
93886         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
93887         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
93888         of 127, since 64 is the largest conceivable number for ancient
93889         nonstandard hosts.
93890         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
93891
93892 2002-04-28  Jim Meyering  <meyering@lucent.com>
93893
93894         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
93895
93896 2002-04-24  Jim Meyering  <meyering@lucent.com>
93897
93898         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
93899         (jm_PREREQ): Use it.
93900
93901         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
93902         mach/mach.h fcntl.h.
93903         Check for this function: setlocale.
93904
93905 2002-04-24  Jim Meyering  <meyering@lucent.com>
93906
93907         * lib/gettext.h: New file, from Gettext.
93908         * lib/Makefile.am (INCLUDES): Remove -I../intl.
93909         (libfetish_a_SOURCES): Add gettext.h.
93910
93911 2002-04-16  Jim Meyering  <meyering@lucent.com>
93912
93913         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
93914         ut_pid, ut_id, ut_exit.
93915
93916 2002-04-16  Jim Meyering  <meyering@lucent.com>
93917
93918         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
93919         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
93920         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
93921
93922 2002-04-12  Jim Meyering  <meyering@lucent.com>
93923
93924         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
93925         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
93926         existence of the getmntinfo function.  Needed for Darwin 5.3.
93927
93928         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
93929         This is necessary at least on Darwin 5.3.
93930
93931         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
93932         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
93933         strnlen.o in the library, and that makes some versions of ranlib
93934         object.
93935
93936 2002-04-12  Jim Meyering  <meyering@lucent.com>
93937
93938         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
93939
93940 2002-04-09  Jim Meyering  <meyering@lucent.com>
93941
93942         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
93943         to be more precise.  Rather than saying we're checking whether the
93944         function `works', say what we're testing.
93945         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
93946         Reported by Bruno Haible.
93947
93948 2002-03-10  Jim Meyering  <meyering@lucent.com>
93949
93950         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
93951         Suggestion from Santiago Vila.
93952
93953 2002-03-08  Jim Meyering  <meyering@lucent.com>
93954
93955         * lib/rename.c: Mention that this wrapper is needed also on
93956         mips-dec-ultrix4.4 systems.
93957
93958 2002-03-02  Jim Meyering  <meyering@lucent.com>
93959
93960         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
93961         not HAVE_CLOCK_SETTIME.
93962
93963 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93964
93965         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
93966         Check for clock_settime.
93967
93968 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93969
93970         * lib/nanosleep.h: Rename to....
93971         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
93972
93973         * lib/gettime.c: New file.
93974         * lib/settime.c: New file.
93975         * lib/stime.c: Remove.
93976
93977         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
93978         timespec.h.  Remove nanosleep.h.
93979
93980 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93981
93982         * m4/acl.m4: New file.
93983         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
93984         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
93985
93986 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93987
93988         * lib/acl.c, lib/acl.h: New files.
93989         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
93990
93991 2002-02-24  Jim Meyering  <meyering@lucent.com>
93992
93993         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
93994         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
93995         cause trouble.  Reported by Nelson Beebe.
93996
93997 2002-02-23  Paul Eggert  <eggert@twinsun.com>
93998
93999         * lib/path-concat.c (xpath_concat): Reorder code to pacify
94000         compilers that don't know that xalloc_die never returns.
94001
94002 2002-02-20  Jim Meyering  <meyering@lucent.com>
94003
94004         * lib/getdate.c: Regenerate using bison-1.33.
94005
94006 2002-02-17  Jim Meyering  <meyering@lucent.com>
94007
94008         * config/config.guess (main): Don't use `head -1'; it's no longer
94009         portable. Use `sed 1q' instead.
94010
94011 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
94012
94013         * m4/codeset.m4: Upgrade to gettext-0.11.
94014         * m4/gettext.m4: Upgrade to gettext-0.11.
94015         * m4/glibc21.m4: Upgrade to gettext-0.11.
94016         * m4/iconv.m4: Upgrade to gettext-0.11.
94017         * m4/isc-posix.m4: Upgrade to gettext-0.11.
94018         * m4/lcmessage.m4: Upgrade to gettext-0.11.
94019         * m4/lib-ld.m4: New file, from gettext-0.11.
94020         * m4/lib-link.m4: New file, from gettext-0.11.
94021         * m4/lib-prefix.m4: New file, from gettext-0.11.
94022         * m4/progtest.m4: Upgrade to gettext-0.11.
94023
94024 2002-02-15  Paul Eggert  <eggert@twinsun.com>
94025
94026         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
94027         (jm_PREREQ): Use it.
94028
94029 2002-02-15  Paul Eggert  <eggert@twinsun.com>
94030
94031         * lib/posixver.c, lib/posixver.h: New files.
94032         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
94033
94034 2002-02-02  Paul Eggert  <eggert@twinsun.com>
94035             Bruno Haible  <bruno@clisp.org>
94036
94037         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
94038         (fwrite_success_callback): New declaration.
94039         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
94040         print_unicode_char. Call failure callback instead of error.
94041         (fwrite_success_callback): New function.
94042         (exit_failure_callback): New function.
94043         (fallback_failure_callback): New function.
94044         (print_unicode_char): Call unicode_to_mb.
94045
94046 2002-01-26  Jim Meyering  <meyering@lucent.com>
94047
94048         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
94049         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
94050
94051 2002-01-26  Jim Meyering  <meyering@lucent.com>
94052
94053         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
94054
94055 2002-01-22  Paul Eggert  <eggert@twinsun.com>
94056
94057         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
94058
94059 2002-01-22  Jim Meyering  <meyering@lucent.com>
94060
94061         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
94062         Otherwise, some versions of automake would omit the rule that makes
94063         Makefile from Makefile.in.
94064
94065 2002-01-21  Paul Eggert  <eggert@twinsun.com>
94066
94067         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
94068         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
94069         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
94070         (memcoll): Set errno to zero if there is no error.
94071
94072         * lib/quotearg.c (quotearg_buffer_restyled):
94073         Fix bug with quoting buffers containing NUL when backslashing escapes.
94074         This bug was exposed by the other changes in this patch.
94075         (quotearg_n_options): New arg ARGSIZE.
94076         All callers changed.
94077         (quoting_options_from_style): New function.
94078         (quotearg_n_style): Use it.
94079         (quotearg_n_style_mem): New function.
94080
94081         * lib/quotearg.h (quotearg_n_style_mem): New function.
94082
94083 2002-01-19  Jim Meyering  <meyering@lucent.com>
94084
94085         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
94086         Remove useless quotes: DF_PROG="df".
94087         * m4/strnlen.m4: New file.
94088
94089 2002-01-16  Paul Eggert  <eggert@twinsun.com>
94090
94091         * lib/backupfile.c (ISDIGIT): Comment fix.
94092         * lib/getdate.y (ISDIGIT): Likewise.
94093         * lib/posixtm.c (ISDIGIT, year): Likewise.
94094         * lib/strverscmp.c (ISDIGIT): Likewise.
94095         * lib/userspec.c (ISDIGIT): Likewise.
94096
94097 2002-01-16  Jim Meyering  <meyering@lucent.com>
94098
94099         * lib/getdate.y: Add three semicolons, each just before a closing
94100         brace. Bison (as of version 1.31) no longer papers over that mistake.
94101
94102 2002-01-05  Jim Meyering  <meyering@lucent.com>
94103
94104         * lib/version-etc.c (version_etc_copyright): Update copyright year.
94105
94106 2001-12-19  Paul Eggert  <eggert@twinsun.com>
94107
94108         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
94109         not silently exit merely because the output buffer happens to
94110         have nothing pending.
94111
94112 2001-12-18  Paul Eggert  <eggert@twinsun.com>
94113
94114         See the big note in ../ChangeLog.
94115         * lib/human.c (suffixes): Prefer K to k for 1024.
94116         (generate_suffix_backwards): New function.
94117         (human_readable_inexact): Use it.
94118         * lib/xstrtol.c (__xstrtol): If there is no number but there
94119         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
94120         Accept 'K' as well as 'k'.
94121
94122 2001-12-15  Jim Meyering  <meyering@lucent.com>
94123
94124         * lib/regex.h (__restrict_arr): Update from libc.
94125
94126         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
94127         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
94128         (STREQ): Define.
94129
94130 2001-12-14  Jim Meyering  <meyering@lucent.com>
94131
94132         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
94133         Suggestion from Bruno Haible.
94134
94135 2001-12-10  Jim Meyering  <meyering@lucent.com>
94136
94137         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
94138         xrealloc, Instead, include "xalloc.h".
94139         (initbuffer): Don't cast xmalloc return value to char*.
94140         (readline): Reword comment.
94141         Don't cast xrealloc return value to char*
94142         Return NULL, not 0.
94143
94144 2001-12-09  Jim Meyering  <meyering@lucent.com>
94145
94146         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
94147         about `signed and unsigned type in conditional expression'.
94148         * lib/posixtm.c (posix_time_parse): Likewise.
94149
94150         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
94151
94152         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
94153         to avoid a pedantic warning.
94154
94155         * lib/getstr.c: Don't include assert.h.
94156         (getstr): Remove warning-evoking assertions.
94157         Return -1 if offset parameter is out of bounds.
94158         Change the type of a local from int to size_t.
94159
94160         * lib/strftime.c (my_strftime_localtime_r): Include this function
94161         definition in the `#if ! HAVE_TM_GMTOFF' block.
94162
94163         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
94164         Include xalloc.h instead.
94165
94166 2001-12-02  Jim Meyering  <meyering@lucent.com>
94167
94168         * lib/tempname.c: Don't declare getenv, thus reverting the change of
94169         2001-11-18.  It's no longer necessary, now that stdlib.h is always
94170         included.
94171
94172         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
94173         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
94174
94175 2001-11-30  Akim Demaille  <akim@epita.fr>
94176
94177         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
94178         before being defined.
94179
94180 2001-11-27  Paul Eggert  <eggert@twinsun.com>
94181
94182         * lib/quotearg.h (quotearg_n, quotearg_n_style):
94183         First arg is int, not unsigned.
94184         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
94185         (SIZE_MAX, UINT_MAX): New macros.
94186         (quotearg_n_options): Abort if N is negative.
94187         Avoid overflow check on hosts where size_t is 64 bits and int
94188         is 32 bits, as overflow is impossible there.
94189         Fix off-by-one typo that caused unnecessary reallocation.
94190
94191 2001-11-27  Jim Meyering  <meyering@lucent.com>
94192
94193         * lib/tempname.c: Merge with version from libc.
94194         * lib/regex.c: Likewise.
94195
94196         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
94197         systems for which STDC_HEADERS is 0, it was not included, resulting in
94198         a warning about an integer-to-pointer conversion problem with getenv.
94199         Reported by Volker Borchert.
94200
94201 2001-11-26  Jim Meyering  <meyering@lucent.com>
94202
94203         * lib/gtod.h: Remove file.
94204         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
94205         * lib/gettimeofday.c: Don't include gtod.h.
94206         (GTOD_init): Remove function.
94207         (rpl_gettimeofday): Do its job here instead, rather than aborting.
94208         Suggestion from Volker Borchert.
94209
94210 2001-11-23  Jim Meyering  <meyering@lucent.com>
94211
94212         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
94213         it.
94214         * lib/hash.c (struct hash_table): Define it here instead.
94215
94216 2001-11-22  Jim Meyering  <meyering@lucent.com>
94217
94218         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
94219
94220 2001-11-20  Jim Meyering  <meyering@lucent.com>
94221
94222         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
94223         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
94224
94225 2001-11-19  Jim Meyering  <meyering@lucent.com>
94226
94227         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
94228         directory.  Use "conftestXXXXXX" as the template.
94229         Suggestion from Paul Eggert.
94230
94231         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
94232         immediately, so the test doesn't mistakenly hit the max-open-files
94233         limit.
94234
94235 2001-11-18  Paul Eggert  <eggert@twinsun.com>
94236
94237         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
94238         (TEMPORARIES): New macro.
94239         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
94240         removes an artificial limitation (e.g. HP-UX 10.20, where
94241         TMP_MAX is 17576).
94242
94243 2001-11-18  Jim Meyering  <meyering@lucent.com>
94244
94245         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
94246
94247 2001-11-18  Jim Meyering  <meyering@lucent.com>
94248
94249         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
94250         on SunOS 4.
94251
94252         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
94253         files will be created before anything else.
94254
94255 2001-11-17  Paul Eggert  <eggert@twinsun.com>
94256
94257         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
94258         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
94259
94260 2001-11-17  Jim Meyering  <meyering@lucent.com>
94261
94262         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
94263         Prompted by a report from Bob Proulx.
94264
94265         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
94266         Instead, require UTILS_FUNC_MKSTEMP.
94267
94268 2001-11-17  Jim Meyering  <meyering@lucent.com>
94269
94270         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
94271         Now, that's done as part of AC_FUNC_STRTOD.
94272
94273 2001-11-17  Jim Meyering  <meyering@lucent.com>
94274
94275         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
94276         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
94277         rather than group writable.  Patch by Juan F. Codagnone.
94278
94279         * lib/readtokens.c: Remove explicit declarations of xmalloc and
94280         xrealloc, Instead, include "xalloc.h".
94281
94282         * lib/mountlist.c: Include unlocked-io.h after all system headers.
94283         Remove explicit declarations of xmalloc, xrealloc,
94284         and xstrdup.  Instead, include "xalloc.h".
94285
94286         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
94287         unlocked-io.h.
94288         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
94289         Likewise.
94290         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
94291
94292         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
94293         Reported by Padraig Brady.
94294
94295         * lib/mkstemp.c: #undef mkstemp.
94296         Include config.h.
94297         (rpl_mkstemp): Rename from mkstemp.
94298         Protoize.
94299
94300 2001-11-16  Jim Meyering  <meyering@lucent.com>
94301
94302         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
94303         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
94304         determine the amount of total physical memory, use pstat_getstatic.
94305         HPUX-11 doesn't define _SC_PHYS_PAGES.
94306         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
94307         If sysconf couldn't be used to determine the amount of available
94308         physical memory, use both pstat_getstatic and pstat_getdynamic.
94309         Based on a patch from Bob Proulx.
94310
94311 2001-11-10  Jim Meyering  <meyering@lucent.com>
94312
94313         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
94314         (jm_PREREQ): Use it.
94315
94316 2001-11-09  Jim Meyering  <meyering@lucent.com>
94317
94318         * m4/jm-macros.m4: Require autoconf-2.52f.
94319         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
94320         Use these AC_-prefixed names, not the AM_-prefixed ones.
94321
94322         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
94323
94324 2001-11-05  Jim Meyering  <meyering@lucent.com>
94325
94326         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
94327
94328 2001-11-04  Jim Meyering  <meyering@lucent.com>
94329
94330         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
94331         $DEFS.
94332
94333 2001-11-03  Jim Meyering  <meyering@lucent.com>
94334
94335         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
94336         of AC_DEFUN.
94337
94338         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
94339         know the name of the variable in the macro definition.
94340
94341 2001-11-03  Jim Meyering  <meyering@lucent.com>
94342
94343         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
94344         in argmatch_to_argument call.
94345
94346         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
94347         argument.
94348
94349         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
94350         e.g., a fault due to an attempt to free a NULL pointer.
94351
94352 2001-11-01  Jim Meyering  <meyering@lucent.com>
94353
94354         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
94355         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
94356
94357 2001-11-01  Jim Meyering  <meyering@lucent.com>
94358
94359         * lib/dirfd.c, lib/dirfd.h: New files.
94360         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
94361
94362         * lib/hash.c (hash_print) [TESTING]: Clean up.
94363
94364 2001-10-22  Paul Eggert  <eggert@twinsun.com>
94365
94366         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
94367         to avoid a warning if -Wall.
94368
94369 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
94370
94371         * README: New file
94372         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
94373         (per RMS's instructions, this is now the canonical source)
94374         * lgpl/, gpl/: New directories.
94375
94376 2001-10-21  Paul Eggert  <eggert@twinsun.com>
94377
94378         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
94379
94380 2001-10-21  Jim Meyering  <meyering@lucent.com>
94381
94382         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
94383         this code would end up calling gettext even in packages built
94384         with --disable-nls.
94385         * lib/getopt.c (_): Likewise.
94386         * lib/regex.c (_): Likewise.
94387
94388 2001-10-20  Paul Eggert  <eggert@twinsun.com>
94389
94390         * m4/error.m4 (jm_PREREQ_ERROR):
94391         Do not invoke AC_CHECK_FUNCS with strerror_r, as
94392         AC_FUNC_STRERROR_R does that.
94393         Check for strerror declaration.
94394
94395         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
94396         are supposed to have them these days.
94397         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
94398         Merge changes from latest Autoconf CVS.
94399         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
94400         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
94401         POSIX decided to standardize on the int flavor of strerror_r.
94402
94403 2001-10-20  Paul Eggert  <eggert@twinsun.com>
94404
94405         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
94406         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
94407         Use strerror_r that is only a macro, even if it is not a function.
94408         (strerror): Check for HAVE_DECL_STRERROR before declaring.
94409         (private_strerror): Use prototypes, not old-style function definition.
94410         (print_errno_message): New function.
94411         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
94412         char*-flavored one.
94413         (error_tail, error, error_at_line): Use it.
94414
94415 2001-10-11  Jim Meyering  <meyering@lucent.com>
94416
94417         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
94418         and quote_n (1, ... to avoid clobbering a buffer.
94419
94420 2001-10-05  Jim Meyering  <meyering@lucent.com>
94421
94422         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
94423         hash-pjw.h.
94424         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
94425         * lib/hash-pjw.h: New file.
94426
94427 2001-09-30  Jim Meyering  <meyering@lucent.com>
94428
94429         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
94430         `struct fsstat' has the `f_fstypename' member.
94431         Use that to define FS_TYPE, which is now used to make
94432         the getfsstat link test tighter.
94433
94434 2001-09-30  Jim Meyering  <meyering@lucent.com>
94435
94436         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
94437         Include <sys/ucred.h>, for Apple Darwin.
94438         Include sys/mount.h and sys/fs_types.h only if available.
94439         (FS_TYPE): Define.
94440         (read_filesystem_list): Use FS_TYPE.
94441
94442 2001-09-29  Paul Eggert  <eggert@twinsun.com>
94443
94444         * lib/exclude.c (excluded_filename): 0 -> false, since it's
94445         a boolean context.
94446
94447 2001-09-29  Jim Meyering  <meyering@lucent.com>
94448
94449         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
94450         [one-argument getmntent function]): Include stdio.h before mntent.h.
94451         SunOS 4.1.x needs it for the declaration of `FILE'.
94452         Patch by Volker Borchert.
94453
94454         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
94455         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
94456         sys/fs_types.h, and make the link-test for getfsstat guard #include
94457         directives with appropriate #if HAVE_*_H tests so that we can
94458         detect getfsstat on Apple Darwin1.3.7 systems.
94459         Reported by Nelson Beebe.
94460         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
94461
94462 2001-09-28  Paul Eggert  <eggert@twinsun.com>
94463
94464         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
94465         #defines strtoimax.  Also treat the other strto* functions
94466         like strtoimax.
94467
94468         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94469         Check for strtoul and strtoumax,
94470         as those declarations are made even in the signed case.
94471         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
94472         Likewise, for strtol and strtoimax.
94473
94474 2001-09-28  Paul Eggert  <eggert@twinsun.com>
94475
94476         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
94477         #defines strtoimax.  Also treat the other strto* functions
94478         like strtoimax.
94479
94480         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
94481         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
94482         (strtoimax, strtoumax): Do not declare if already defined as a macro.
94483
94484 2001-09-26  Jim Meyering  <meyering@lucent.com>
94485
94486         Most macros in unlocked-io.h had the wrong number of arguments.
94487         * lib/gen-uio: New script.
94488         (USE_UNLOCKED_IO): Define to 1 if not already defined.
94489         * lib/unlocked-io.hin: Remove file.
94490         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
94491         rather than trying to embed it here.
94492         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
94493         Reported by Padraig Brady.
94494
94495 2001-09-25  Volker Borchert  <bt@teknon.de>
94496
94497         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
94498         `result'.
94499
94500 2001-09-24  Jim Meyering  <meyering@lucent.com>
94501
94502         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
94503
94504 2001-09-23  Jim Meyering  <meyering@lucent.com>
94505
94506         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
94507         instead of the mere test for existence of mntent.h.  The latter
94508         would get a false-positive on AIX 3.4 systems.
94509         In the outer getmntent if-block, don't die if neither of the getmntent
94510         tests succeeds.  Instead, just fall through and continue with the
94511         remaining tests.
94512
94513 2001-09-23  Jim Meyering  <meyering@lucent.com>
94514
94515         * lib/mountlist.c: Remove useless parentheses in #if directives.
94516         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
94517         the deprecated MOUNTED symbol is no longer defined in mntent.h.
94518
94519 2001-09-22  Jim Meyering  <meyering@lucent.com>
94520
94521         * m4/gettext.m4: New file.  From gettext.
94522         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
94523         * m4/progtest.m4: Likewise
94524         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
94525         * m4/glibc21.m4: Likewise.
94526
94527         * m4/libintl.m4: Remove.  No longer used.
94528
94529 2001-09-22  Jim Meyering  <meyering@lucent.com>
94530
94531         * lib/localcharset.c: Update from latest gettext.
94532         * lib/config.charset: Likewise.
94533
94534 2001-09-20  Jim Meyering  <meyering@lucent.com>
94535
94536         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
94537         strtoimax.
94538         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
94539         strtoumax.
94540
94541 2001-09-20  Jim Meyering  <meyering@lucent.com>
94542
94543         * lib/xstrtol.c (strtoimax): Guard declaration with
94544         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
94545         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
94546         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
94547         (strtoumax): Likewise, for completeness (it wasn't necessary).
94548
94549 2001-09-17  Paul Eggert  <eggert@twinsun.com>
94550
94551         * lib/strtoimax.c (HAVE_LONG_LONG):
94552         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
94553         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
94554         to work around bug in IBM C compiler.
94555
94556 2001-09-17  Jim Meyering  <meyering@lucent.com>
94557
94558         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
94559         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
94560         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
94561         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
94562         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
94563         whenever the right hand side need not be expanded by the shell.
94564
94565 2001-09-16  Paul Eggert  <eggert@twinsun.com>
94566
94567         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
94568         library.  It's not correct, as some older glibcs are buggy.
94569         fnmatch wasn't fixed until glibc 2.2.
94570
94571         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
94572         special shell magic here.
94573
94574 2001-09-16  Jim Meyering  <meyering@lucent.com>
94575
94576         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
94577         * m4/jm-macros.m4: Require it.
94578
94579 2001-09-16  Jim Meyering  <meyering@lucent.com>
94580
94581         * lib/mkdir.c: New file.
94582
94583 2001-09-15  Jim Meyering  <meyering@lucent.com>
94584
94585         * m4/jm-macros.m4: Check for help2man.
94586
94587 2001-09-11  Jim Meyering  <meyering@lucent.com>
94588
94589         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
94590         The body, by Paul Eggert, was moved here from configure.in.
94591         * m4/jm-macros.m4: Require UTILS_HOST_OS.
94592
94593 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94594
94595         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
94596         (jm_PREREQ): Use it.
94597
94598 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94599
94600         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
94601         Use ssize_t, not int, to store result of readlink.
94602         Check for ssize_t overflow as well as size_t overflow,
94603         as POSIX says the result of readlink is implementation-defined
94604         when ssize_t overflows.
94605         Remove unnecessary cast to char*.
94606         Use free+malloc instead of realloc, as the storage doesn't need
94607         to be preserved and it's clearer and can be more efficient that way.
94608         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
94609         * lib/xreadlink.h (xreadlink): Update prototype.
94610
94611 2001-09-04  Paul Eggert  <eggert@twinsun.com>
94612
94613         * lib/xgetcwd.c: Revert some of the previous change; intead,
94614         fix the HAVE_GETCWD_NULL code to behave more like the
94615         !HAVE_GETCWD_NULL code used to.
94616
94617         Include "xalloc.h".
94618         (xgetcwd): Do not return NULL when memory is exhausted; instead,
94619         invoke xalloc_die.
94620
94621 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94622
94623         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
94624         sys/param.h, as pathmax.h includes them.
94625
94626 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94627
94628         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
94629         (jm_PREREQ_XGETCWD): New macro.
94630
94631         * m4/getcwd.m4: New file.
94632
94633 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94634
94635         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
94636         like the HAVE_GETCWD_NULL code.
94637         Include pathmax.h if not HAVE_GETCWD.
94638         Do not include xalloc.h.
94639         (INITIAL_BUFFER_SIZE): New symbol.
94640         Do not use xmalloc / xrealloc, since the caller is responsible for
94641         handling errors.  Preserve errno around `free' during failure.
94642         Do not overrun buffer when using getwd.
94643
94644 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94645
94646         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
94647         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
94648         getcwd (NULL, 0).
94649
94650 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94651
94652         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
94653         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
94654         spotted by Jim Meyering.
94655
94656 2001-09-03  Jim Meyering  <meyering@lucent.com>
94657
94658         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
94659         failure.
94660
94661 2001-09-02  Jim Meyering  <meyering@lucent.com>
94662
94663         * lib/error.c: Update from GNU libc.
94664
94665 2001-09-01  Jim Meyering  <meyering@lucent.com>
94666
94667         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
94668         Used by df.
94669
94670 2001-09-01  Jim Meyering  <meyering@lucent.com>
94671
94672         * lib/xreadlink.c: New file.
94673         * lib/xreadlink.h: New file.
94674         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
94675         xreadlink.h.
94676
94677         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
94678         doesn't conflict with sparc Solaris 7's definition in
94679         /usr/include/sys/int_types.h.
94680
94681         * lib/exclude.c: Use `""', not `<>' to #include non-system header
94682         files.
94683         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
94684         and strncasecmp as r-values.  Unixware didn't have declarations.
94685
94686 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94687
94688         * lib/xstrtol.h: Add copyright notice.
94689         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
94690         LONGINT_INVALID_SUFFIX_CHAR.
94691
94692 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94693
94694         * lib/xstrtol.c (strtoimax): New decl.
94695
94696 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94697
94698         * lib/xgetcwd.c: Don't include pathmax.h.
94699         Include stdlib.h and unistd.h if available.
94700         Include xalloc.h.
94701         (xmalloc, xstrdup, free): Remove decls.
94702         (xgetcwd): Don't assume sizes fit in unsigned.
94703         Check for overflow when computing sizes.
94704         Simplify reallocation code.
94705
94706 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94707
94708         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
94709         a directory's st_size can have an arbitrary value, so the old
94710         usage could waste an arbitrary amount of memory.  All uses
94711         changed.
94712         * lib/savedir.h: Update prototype.
94713
94714 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94715
94716         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
94717
94718         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
94719         old strtoimax.c.
94720
94721         Also, make the following further changes to make this file's
94722         configuration more similar to that of strtol.c:
94723         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
94724         (strtoumax, uintmax_t, strtoull, strtol): Remove.
94725         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
94726         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
94727         changed to signed values.
94728
94729         And make the following changes as well:
94730         Fix copyright notice, as 1999 was missing.
94731         (verify): New macro.
94732         (strtoimax): Check sizes at compile-time, not run-time.
94733         Prefer strtol to strtoll if both work.
94734         (main): Remove; it was not that useful and was a pain to maintain.
94735
94736         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
94737
94738 2001-08-31  Jim Meyering  <meyering@lucent.com>
94739
94740         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
94741         Use an initial, malloc'd, buffer of length 128 rather than
94742         a statically allocated one of length 1024.
94743
94744 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94745
94746         Simplify code, partly by assuming autoconf 2.52 semantics.
94747
94748         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
94749
94750         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
94751         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
94752         All uses removed.
94753         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
94754         Move AC_REQUIRE to next-to-top level, to avoid confusion.
94755         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
94756         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
94757         jm_AC_HEADER_INTTYPES_H.
94758         * m4/jm-macros.m4 (jm_MACROS): Likewise.
94759
94760         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
94761
94762         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94763         Quote first arg of AC_DEFUN.
94764         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
94765         since they are needed to parse the include file even if we need
94766         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
94767         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
94768         but with opposite signedness.
94769
94770 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94771
94772         Merge 'exclude' changes from tar 1.13.22.
94773         This fixes one or two unlikely storage allocation overflow bugs,
94774         but doesn't change user-visible behavior otherwise.
94775
94776 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94777
94778         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
94779         (jm_PREREQ_EXCLUDE): New macro.
94780
94781 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94782
94783         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
94784         tm to be declared.
94785
94786 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94787
94788         * lib/hash.c: Remove '2001' from copyright notice.
94789
94790 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94791
94792         * lib/full-write.h: New file.
94793         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
94794         * lib/full-write.c: Correct credits, as cccp.c no longer
94795         exists and anyway it was so heavily changed from the old cccp
94796         code as to be unrecognizable.  Include full-write.h.
94797         (full_write): Return size_t, with short writes meaning failure.
94798         All callers changed.  This fixes a bug with large buffers
94799         on 64-bit hosts.
94800         * lib/utime.c: Include full-write.h.
94801
94802 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94803
94804         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
94805         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
94806         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
94807         Include if available.
94808         (<xalloc.h>): Include
94809         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
94810         (verify): New macro.  Use it to verify that EXCLUDE macros do not
94811         collide with FNM macros.
94812         (struct patopts): New struct.
94813         (struct exclude): Use it, as exclude patterns now come with options.
94814         (new_exclude): Support above changes.
94815         (new_exclude, add_exclude_file):
94816         Initial size must now be a power of two to simplify overflow checking.
94817         (free_exclude, fnmatch_no_wildcards): New function.
94818         (excluded_filename): No longer requires options arg, as the options
94819         are determined by add_exclude.  Now returns bool, not int.
94820         (excluded_filename, add_exclude):
94821         Add support for the fancy new exclusion options.
94822         (add_exclude, add_exclude_file): Now takes int options arg.
94823         Check for arithmetic overflow when computing sizes.
94824         (add_exclude_file): xrealloc might modify errno, so don't
94825         realloc until after errno might be used.
94826
94827         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
94828         New macros.
94829         (free_exclude): New decl.
94830         (add_exclude, add_exclude_file): Now takes int options arg.
94831         (excluded_filename): No longer requires options arg, as the options
94832         are determined by add_exclude.  Now returns bool, not int.
94833
94834 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94835
94836         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
94837
94838 2001-08-27  Jim Meyering  <meyering@lucent.com>
94839
94840         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
94841
94842         * lib/version-etc.c (N_): Remove definition.
94843         Revert most of last change.
94844         Instead, simply don't mark the `Copyright...' string for translation.
94845         Based on advice from Paul Eggert.
94846
94847         * lib/strtoxmax.c: Tweak comment.
94848
94849 2001-08-26  Jim Meyering  <meyering@lucent.com>
94850
94851         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
94852
94853         * m4/xstrtoimax.m4: New file.
94854         * m4/xstrtoumax.m4: Add comments explaining why we
94855         AC_REPLACE_FUNCS(strtol).
94856
94857 2001-08-26  Jim Meyering  <meyering@lucent.com>
94858
94859         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
94860         of copyright with `%s' so translators don't get an untranslated
94861         message in 2002.
94862         (COPYRIGHT_YEAR): Define.
94863         (version_etc): Use fprintf rather than fputs.
94864         Suggestion from Ulrich Drepper.
94865
94866         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
94867
94868         * lib/strtoll.c: New file, from GNU libc.
94869         * lib/xstrtoimax.c: New file.
94870
94871         * lib/xstrtol.h: Add xstrtoimax.
94872         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
94873         * lib/strtoimax.c: New file.  Likewise, but first define
94874         STRTOUXMAX_SIGNED.
94875
94876         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
94877         ...
94878         * lib/strtoxmax.c: ... then renamed to this.
94879
94880 2001-08-18  Paul Eggert  <eggert@twinsun.com>
94881
94882         * m4/inttypes.m4: Add AC_PREREQ(2.13).
94883         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
94884         (jm_AC_TYPE_INTMAX_T): New macro.
94885         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
94886
94887         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
94888
94889         * m4/longlong.m4: Renamed from ulonglong.m4.
94890         * m4/inttypes.m4: Renamed from inttypes_h.m4.
94891         * m4/uintmax_t.m4: Removed.
94892
94893 2001-08-13  Paul Eggert  <eggert@twinsun.com>
94894
94895         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
94896         Port to Solaris 8, where 'sed' requires a space after the 'r'
94897         command, and where sh dislikes "$/".  Clean up the spacing a bit.
94898         Redirect output to $tmp just once.
94899
94900 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
94901
94902         * lib/addext.c (<errno.h>): Include.
94903         (errno): Declare if not defined.
94904         (addext): Work correctly when pathconf returns -1 and leaves
94905         errno alone because there is no limit.  Also, work even if
94906         pathconf returns a value greater than SIZE_MAX.
94907
94908 2001-08-12  Jim Meyering  <meyering@lucent.com>
94909
94910         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
94911         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
94912         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
94913         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
94914         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
94915         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
94916         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
94917         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
94918         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
94919         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
94920         utime.m4, utimes.m4, xstrtoumax.m4:
94921         Quote the first argument in each use of AC_DEFUN.
94922
94923 2001-08-12  Jim Meyering  <meyering@lucent.com>
94924
94925         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
94926         Simply `return getcwd (NULL, 0);'.
94927         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
94928         Use 1300 as initial value for length, not PATH_MAX.
94929
94930         * lib/pathmax.h: Clean up cpp syntax.
94931
94932 2001-08-12  Jim Meyering  <meyering@lucent.com>
94933
94934         * lib/gettimeofday.c: New file.
94935         * lib/gtod.h: New file.
94936         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
94937
94938 2001-08-05  Jim Meyering  <meyering@lucent.com>
94939
94940         * m4/jm-macros.m4: Require autoconf-2.52.
94941
94942 2001-08-04  Jim Meyering  <meyering@lucent.com>
94943
94944         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
94945         stmt, to get in sync with glibc.
94946
94947 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94948
94949         The following changes are from gettext 0.10.39 as maintained by
94950         Bruno Haible.
94951
94952         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
94953         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
94954         with inverted sense.  All uses changed.
94955
94956         * lib/mbswidth.c: Don't include <limits.h>.
94957         Include <stdlib.h> and <string.h> unconditionally.
94958         (iswcntrl, mbsinit, ISCNTRL): New macros.
94959         (mbsnwidth): Use K&R style function declarations.
94960         Don't bother checking for MB_LEN_MAX == 1, since the compiler
94961         can optimize it when MB_CUR_MAX == 1.
94962         The width of control characters is zero, not 1.
94963
94964 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94965
94966         The following changes are from gettext 0.10.39 as maintained by
94967         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
94968
94969         * m4/codeset.m4: Upgrade to serial AM1.
94970         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
94971         all uses changed.  Quote first arg of AC_DEFUN.
94972         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
94973
94974         * m4/iconv.m4: Upgrade to serial AM2.
94975         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
94976         Add --with-libconv-prefix.
94977         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
94978         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
94979         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
94980         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
94981         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
94982
94983         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
94984         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
94985         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
94986         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
94987         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
94988         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
94989         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
94990         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
94991         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
94992
94993         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
94994         string.h any more.
94995
94996         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
94997         not the default value.
94998
94999         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
95000         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
95001         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
95002         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
95003         Also check for iswcntrl, used for wcwidth fallback.
95004         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
95005         to Autoconf 2.13.
95006
95007 2001-08-03  Jim Meyering  <meyering@lucent.com>
95008
95009         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
95010         as it was in the original.  Reported by Paul Eggert.
95011
95012 2001-07-16  Jim Meyering  <meyering@lucent.com>
95013
95014         * m4/gettimeofday.m4: New file.
95015         Prompted by a report from Bernhard Baehr.
95016
95017 2001-07-15  Jim Meyering  <meyering@lucent.com>
95018
95019         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
95020         stuff. Now it's in ../Makefile.cfg.
95021
95022 2001-07-15  Jim Meyering  <meyering@lucent.com>
95023
95024         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
95025         (BUILT_SOURCES): Add unlocked-io.h.
95026         (io_functions): Define.
95027         (unlocked-io.h): New rule.
95028         (DISTCLEANFILES): Add unlocked-io.h.
95029         (all-local): Depend on unlocked-io.h, to ensure it is created.
95030
95031         * lib/unlocked-io.hin: New file
95032
95033         * lib/regex.c: Update from glibc.
95034
95035 2001-07-05  Jim Meyering  <meyering@lucent.com>
95036
95037         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
95038         recommendation.
95039         (libfetish_a_SOURCES): Put all .h files here instead.
95040         Remove a thus-exposed (better checks in automake) duplicate and
95041         two unnecessary .h files.
95042
95043 2001-07-04  Jim Meyering  <meyering@lucent.com>
95044
95045         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
95046         that generates jm-glibc-io.m4 so that it doesn't trigger any make
95047         distcheck failure.
95048
95049 2001-07-02  Jim Meyering  <meyering@lucent.com>
95050
95051         The following changes were prompted by suggestions from Bruno Haible.
95052
95053         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
95054         is now generated.
95055         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
95056         definition of EXTRA_DIST.
95057         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
95058         ensure that the generated file is created/updated whenever the list
95059         of $(unlocked_functions) is changed.
95060         (jm-glibc-io.m4): New rule.
95061         (unlocked-io.h): New rule -- currently unused.
95062
95063 2001-06-24  Jim Meyering  <meyering@lucent.com>
95064
95065         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
95066         unmatched right bracket, rather than kludging it with an extra,
95067         falsely-matching quote in a comment.  Patch by Akim Demaille.
95068
95069 2001-06-11  Jim Meyering  <meyering@lucent.com>
95070
95071         * lib/regex.c: Update from GNU libc.
95072
95073 2001-05-27  Jim Meyering  <meyering@lucent.com>
95074
95075         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
95076         Check for ut_type in struct utmp.
95077
95078 2001-05-27  Jim Meyering  <meyering@lucent.com>
95079
95080         * lib/readutmp.h (UT_TYPE): Define.
95081
95082 2001-05-24  Jim Meyering  <meyering@lucent.com>
95083
95084         * lib/argmatch.c: Include "quote.h".
95085         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
95086         quote function.  Reported by Göran Uddeborg.
95087
95088 2001-05-22  Jim Meyering  <meyering@lucent.com>
95089
95090         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
95091         now that we use the package-supplied version unconditionally.
95092         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
95093
95094 2001-05-21  Jim Meyering  <meyering@lucent.com>
95095
95096         * m4/regex.m4: Change a couple backticks to single quotes to avoid
95097         shell syntax errors.
95098
95099 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
95100
95101         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
95102
95103 2001-05-20  Paul Eggert  <eggert@twinsun.com>
95104
95105         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
95106         Don't bother to check library strftime, since
95107         we'll be using our own my_strftime function anyway.
95108         Define my_strftime instead of strftime.
95109
95110 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
95111
95112         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
95113         which is not yet declared.
95114
95115 2001-05-15  Jim Meyering  <meyering@lucent.com>
95116
95117         * m4/regex.m4: Use proper quoting so brackets appear in the test
95118         program.
95119         Reported by, and with help from, Bruno Haible.
95120
95121 2001-05-13  Jim Meyering  <meyering@lucent.com>
95122
95123         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
95124         undefined.
95125
95126 2001-05-11  Paul Eggert  <eggert@twinsun.com>
95127
95128         dirname code cleanup.  base_name now behaves more compatibly
95129         with POSIX basename when given file names that have trailing
95130         slashes, and similarly for dir_name.  Add new primitives
95131         base_len and dir_len.  Put the directory-name-related decls
95132         into dirname.h.
95133
95134         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
95135         * lib/backupfile.c (base_name): Likewise.
95136         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
95137         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
95138         * lib/makepath.c (strip_trailing_slashes): Likewise.
95139         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
95140         ISSLASH): Likewise.
95141         * lib/rename.c (strip_trailing_slashes): Likewise.
95142         * lib/same.c (base_name): Likewise.
95143         * lib/stripslash.c (ISSLASH): Likewise.
95144
95145         * lib/addext.c: Include <dirname.h> after size_t is defined.
95146         * lib/backupfile.c: Likewise.
95147
95148         * lib/addext.c (addext): Use base_len to trim redundant
95149         trailing slashes instead of doing it ourselves.
95150         But do not trim the last slash if it is not redundant.
95151
95152         * lib/backupfile.c (find_backup_file_name,
95153         max_backup_version): Use base_len instead of rolling it ourselves.
95154         Handle the case of "" and (on DOS) "C:" correctly.
95155
95156         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
95157         needed. Include <string.h>, <dirname.h>.
95158         (base_name): Allow file names ending in slashes, other than names
95159         that are all slashes.  In this case, return the basename followed
95160         by the slashes.  This is more general, and can be used in places
95161         where the original base_name purposely had an assertion failure.
95162         (base_len): New function.
95163
95164         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
95165         Do not include <assert.h>; no longer needed.
95166         Include xalloc.h.
95167         (memrchr): Remove decl.
95168         (dir_name_r): Remove.
95169         (dir_len): Renamed from dirlen.  All callers changed.
95170         Rewrite in terms of base_name, for simplicity and consistency.
95171         (dir_name): Never return NULL.  All callers changed.
95172         Do not include <stdlib.h> in test program; no longer needed.
95173         return 0; is fine for test program.
95174
95175         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
95176         New macros.
95177         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
95178
95179         * lib/path-concat.c (path_concat): Use base_len to compute
95180         base length, not strlen; this means we cannot rely on memcpy
95181         to null-terminate.
95182
95183         * lib/same.c (STREQ): Remove.
95184         (same_name): Handle the case where the basename ends in trailing '/'.
95185
95186         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
95187         a slash was stripped.  Do not strip the last slash after a
95188         file system prefix.
95189
95190 2001-05-11  Paul Eggert  <eggert@twinsun.com>
95191
95192         * lib/Makefile.am (libfetish_a_SOURCES):
95193         Add strftime.c, since we now compile it on all hosts.
95194
95195         * lib/strftime.c (my_strftime):
95196         Define to nstrftime if emacs, but only if my_strftime is not defined.
95197         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
95198         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
95199         Add one more extra argument: a nanoseconds value.
95200         All uses changed.
95201         (ns): New macro.
95202         (my_strftime function): Add %N format.
95203         (emacs_strftimeu): Renamed from emacs_strftime,
95204         with extra ut argument.
95205
95206 2001-05-09  Paul Eggert  <eggert@twinsun.com>
95207
95208         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
95209
95210 2001-04-21  Jim Meyering  <meyering@lucent.com>
95211
95212         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
95213         doesn't interfere.
95214
95215 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
95216
95217         * m4/ftruncate.m4: Check for chsize.
95218         Link with ftruncate.o unconditionally if ftruncate is missing.
95219         This was required when cross-compiling to i586-mingw32msvc.
95220
95221 2001-04-08  Jim Meyering  <meyering@lucent.com>
95222
95223         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
95224         recomputed; that's necessary when the offset spans a DST transition.
95225         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
95226
95227 2001-04-02  Jim Meyering  <meyering@lucent.com>
95228
95229         * lib/regex.h, regex.c: Update from GNU libc.
95230
95231 2001-03-24  Jim Meyering  <meyering@lucent.com>
95232
95233         * m4/jm-macros.m4: Require autoconf-2.49d.
95234
95235 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
95236
95237         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
95238
95239 2001-03-19  Paul Eggert  <eggert@twinsun.com>
95240
95241         * lib/version-etc.c (version_etc_copyright): Update to 2001.
95242
95243 2001-03-17  Jim Meyering  <meyering@lucent.com>
95244
95245         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
95246         now that the version in autoconf is equivalent.
95247         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
95248
95249         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
95250         Suggestion from Akim Demaille.
95251
95252         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
95253         (jm_PREREQ_TEMPNAME): New function.
95254
95255 2001-03-16  Paul Eggert  <eggert@twinsun.com>
95256
95257         * lib/tempname.c (uint64_t): Define to uintmax_t if
95258         not defined, and if UINT64_MAX is not defined.
95259         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
95260         Reported by John David Anglin.
95261
95262 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
95263
95264         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
95265         resolve alias if codeset is empty.
95266         * lib/config.charset (BeOS): Use wildcard syntax.
95267
95268 2001-03-13  Jim Meyering  <meyering@lucent.com>
95269
95270         * lib/path-concat.c (path_concat)
95271         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
95272         concatenating e.g., `C:' and `foo'.
95273         From Bruno Haible.
95274
95275 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
95276
95277         * lib/localcharset.c (locale_charset): Don't use
95278         setlocale(LC_CTYPE,NULL). Don't return NULL.
95279         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
95280
95281 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
95282
95283         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
95284         support for DOS/DJGPP.
95285
95286 2001-03-01  Paul Eggert  <eggert@twinsun.com>
95287
95288         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
95289         lacks mkstemp.  Compile our own tempname.c if we compile our own
95290         mkstemp.c, as mkstemp relies on tempname.
95291
95292 2001-03-01  Jim Meyering  <meyering@lucent.com>
95293
95294         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
95295         AH_VERBATIM really does output its argument verbatim.
95296
95297 2001-02-28  Paul Eggert  <eggert@twinsun.com>
95298
95299         * lib/Makefile.am (libfetish_a_SOURCES):
95300         Add dup-safer.c, fopen-safer.c.
95301         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
95302
95303         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
95304         * lib/unistd-safer.h: New files.
95305
95306 2001-02-25  Paul Eggert  <eggert@twinsun.com>
95307
95308         The mkstemp replacement is taken from glibc 2.2.2, with some
95309         portability fixes for use outside glibc, as follows:
95310
95311         * lib/tempname.c (struct_stat64): New macro.
95312         (direxists, __gen_tempname): Use it.
95313         This avoids a portability problem with Solaris 8.
95314
95315         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
95316         (<stddef.h>, <stdint.h>, <string.h>):
95317         Include only if STDC_HEADERS || _LIBC.
95318         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
95319         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
95320         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
95321         (__set_errno): Define this macro if <errno.h> doesn't.
95322         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
95323         Define these macros if <stdio.h> doesn't.
95324         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
95325         Define these macros if <sys/stat.h>
95326         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
95327         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
95328         __xstat64): Define if not _LIBC.
95329         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
95330         (__gen_tempname): Invoke gettimeofday only if
95331         HAVE_GETTIMEOFDAY || _LIBC;
95332         otherwise, fall back on plain "time".
95333         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
95334
95335         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
95336
95337         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
95338
95339 2001-02-18  Paul Eggert  <eggert@twinsun.com>
95340
95341         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
95342
95343 2001-02-17  Paul Eggert  <eggert@twinsun.com>
95344
95345         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
95346         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
95347         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
95348         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95349
95350 2001-02-17  Paul Eggert  <eggert@twinsun.com>
95351
95352         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
95353         Remove workaround macros for hosts that have mbrtowc but not
95354         mbstate_t, as we now insist on proper declarations for both
95355         before using mbrtowc.
95356
95357 2001-02-17  Jim Meyering  <meyering@lucent.com>
95358
95359         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
95360         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
95361         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
95362         UnixWare 7.1.1.
95363
95364         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
95365         rather than AC_CACHE_VAL.
95366
95367 2001-02-17  Jim Meyering  <meyering@lucent.com>
95368
95369         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
95370         around included file name.
95371
95372         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
95373
95374         * lib/strftime.c: Update from GNU libc (the only changes were to
95375         comments).
95376
95377 2001-02-17  Jim Meyering  <meyering@lucent.com>
95378
95379         * lib/regex.c: Update from libc.
95380
95381 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
95382
95383         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
95384         clash.
95385
95386 2001-02-16  Paul Eggert  <eggert@twinsun.com>
95387
95388         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
95389         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
95390         Reported by Mark Hounschell via Paul Eggert.
95391
95392 2001-02-07  Jim Meyering  <meyering@lucent.com>
95393
95394         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
95395
95396 2001-02-05  Jim Meyering  <meyering@lucent.com>
95397
95398         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
95399         it includes the patch required for `large file' support with at least
95400         HP-UX's 10.20 /bin/cc.
95401
95402 2001-02-03  Jim Meyering  <meyering@lucent.com>
95403
95404         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
95405         AS_IF, now that it works once again (mysteriously).
95406         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
95407
95408 2001-01-30  Jim Meyering  <meyering@lucent.com>
95409
95410         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
95411         * m4/chown.m4: Rename conftestchown to conftest.chown.
95412         * m4/rename.m4: s/conftestdir/conftest.d1/ and
95413         s/conftestdir2/conftest.d2/.
95414         * m4/utimes.m4: s/conftestdata/conftest.data/
95415         Inspired by Pavel Roskin's change in autoconf.
95416
95417 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
95418
95419         * lib/config.charset: Update for FreeBSD 4.2.
95420
95421 2001-01-27  Jim Meyering  <meyering@lucent.com>
95422
95423         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
95424         a use of AS_IF.
95425         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
95426
95427 2001-01-26  Jim Meyering  <meyering@lucent.com>
95428
95429         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
95430         quotearg.c includes it.
95431
95432 2001-01-26  Jim Meyering  <meyering@lucent.com>
95433
95434         * lib/quotearg.c: Include stddef.h.
95435         * lib/quote.c: Include stddef.h.
95436         Reported by Axel Kittenberger.
95437
95438         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
95439         line in double quotes so that it evokes a better diagnostic.
95440         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
95441         Reported by Axel Kittenberger.
95442
95443 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
95444
95445         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
95446         as if it was a `charset'.
95447
95448 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
95449
95450         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
95451         has const.
95452
95453 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
95454
95455         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
95456         to avoid a warning.  Add back 'const' to inptr.
95457
95458 2001-01-20  Jim Meyering  <meyering@lucent.com>
95459
95460         Be sure that headers are checked before used in code compiled
95461         for the type checks.
95462         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
95463         In place of that, invoke jm_CHECK_ALL_TYPES.
95464         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
95465         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
95466         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
95467         The check for ssize_t was mistakenly run before the test for unistd.h.
95468
95469         The configure-time check for stdbool.h was missing.
95470         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
95471         (jm_PREREQ_HASH): New function.
95472
95473 2001-01-17  Jim Meyering  <meyering@lucent.com>
95474
95475         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
95476         for autoconf-2.49c.
95477         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
95478
95479 2001-01-16  Jim Meyering  <meyering@lucent.com>
95480
95481         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
95482         From Bruno Haible.
95483
95484 2001-01-14  Jim Meyering  <meyering@lucent.com>
95485
95486         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
95487         foo and bar.  Create conftestdir/ in the script, not in the C code.
95488         Remove directories in the script, not in the C code.
95489         Remove conftestdir{,2} before trying to create the directory.
95490         Make the entire configure script fail if the mkdir fails.
95491
95492 2001-01-14  Jim Meyering  <meyering@lucent.com>
95493
95494         * lib/rename.c: New file.  From Volker Borchert.
95495         Include stdlib.h, string.h or strings.h, and xalloc.h.
95496         Use strip_trailing_slashes rather than open-coding it.
95497
95498 2001-01-03  Paul Eggert  <eggert@twinsun.com>
95499
95500         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
95501
95502 2001-01-03  Jim Meyering  <meyering@lucent.com>
95503
95504         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
95505         of local `inptr' to avoid warning with some system declarations of
95506         iconv.
95507
95508 2001-01-02  Volker Borchert  <bt@teknon.de>
95509
95510         * m4/rename.m4: New file.
95511         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
95512
95513 2001-01-01  Jim Meyering  <meyering@lucent.com>
95514
95515         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
95516         even on systems with utmpx.h.  It's necessary for the declaration of
95517         utmp's ut_user member.  Reported by Andreas Jaeger.
95518
95519         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
95520         available. They are required for the declarations of getgrgid and
95521         getpwuid resp.
95522         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
95523         Reported by Andreas Jaeger.
95524
95525 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
95526
95527         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
95528         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
95529         so `make install' also works in VPATH builds.
95530
95531 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
95532
95533         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
95534         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
95535         can be used in subdirectories.
95536
95537 2000-12-29  Paul Eggert  <eggert@twinsun.com>
95538
95539         * lib/modechange.c: Do not assume that mode_t uses the
95540         traditional octal encoding.  E.g. "chmod 1 FOO" should set
95541         the other-execute bit of FOO even if S_IXOTH != 1.
95542
95543         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
95544         WOTH, XOTH, ALLM): New macros.
95545         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
95546          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
95547         Use them.
95548         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
95549         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
95550         (mode_compile):
95551         No need to use uintmax_t; unsigned long is long enough.
95552         Don't bother to get suffix since we don't use it.
95553
95554 2000-12-26  Jim Meyering  <meyering@lucent.com>
95555
95556         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
95557         better with autoheader.
95558
95559 2000-12-24  Jim Meyering  <meyering@lucent.com>
95560
95561         * lib/hash.c (is_prime): Return explicit boolean values.
95562         (hash_get_first): Return NULL to appease Irix5.6's 89.
95563         Reported by Nelson Beebe.
95564
95565 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
95566
95567         * lib/localcharset.c (locale_charset): Add support for Win32.
95568
95569 2000-12-18  Paul Eggert  <eggert@twinsun.com>
95570
95571         * lib/physmem.h, lib/physmem.c: New files.
95572
95573         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
95574         (noinst_HEADERS): Add physmem.h.
95575
95576         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
95577         't' for compatibility with Solaris 8 sort.
95578
95579 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
95580
95581         * lib/config.charset: Add support for BeOS.
95582
95583 2000-12-17  Jim Meyering  <meyering@lucent.com>
95584
95585         * m4/dos.m4 (jm_AC_DOS): New file and macro.
95586         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
95587
95588 2000-12-16  Jim Meyering  <meyering@lucent.com>
95589
95590         This bug had a serious impact on chown: `chown N:M FILE' (for integer
95591         N and M) would have treated it like `chown N:N FILE'.
95592
95593         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
95594
95595 2000-12-16  Jim Meyering  <meyering@lucent.com>
95596
95597         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
95598         SHELLS_FILE to a file name that's useful on djgpp systems.
95599         Include stdlib.h.
95600         (ADDITIONAL_DEFAULT_SHELLS): Define.
95601         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
95602         Based mostly on a patch from Prashant TR.
95603
95604 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
95605
95606         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
95607         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
95608         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
95609
95610 2000-12-08  Andreas Schwab  <schwab@suse.de>
95611
95612         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
95613         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
95614
95615 2000-12-07  Jim Meyering  <meyering@lucent.com>
95616
95617         * lib/stripslash.c (ISSLASH): Define.
95618         (strip_trailing_slashes): Use ISSLASH rather than comparing against
95619         `/'.
95620         From Prashant TR.
95621
95622         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
95623         (dir_name_r): Declare this function as static.
95624         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
95625         manifest itself on a name containing a mix of slashes and
95626         backslashes.
95627         Make this function work with names starting with a DOS-style
95628         drive letter and colon prefix.
95629         (dir_name): Append `.' if necessary.
95630         Based mostly on patches from Prashant TR and Eli Zaretskii.
95631
95632         * lib/dirname.h (dir_name_r): Remove prototype.
95633
95634 2000-12-06  Paul Eggert  <eggert@twinsun.com>
95635
95636         * m4/off_t-format.m4: Remove this file.
95637         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
95638
95639 2000-12-06  Jim Meyering  <meyering@lucent.com>
95640
95641         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
95642         replacement strtoull, we may well need the replacement strtoul, too.
95643         Check for declarations of strtoul and strtoull.
95644         Check for strtol.  Mainly as a cue to cause automake to include
95645         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
95646         Check for limits.h -- strtol.c needs it.
95647
95648 2000-12-05  Jim Meyering  <meyering@lucent.com>
95649
95650         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
95651
95652 2000-12-04  Jim Meyering  <meyering@lucent.com>
95653
95654         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
95655         Also include memory.h, stdlib.h, unistd.h if appropriate.
95656         Reported by Andreas Jaeger (conflicting declaration of malloc).
95657
95658 2000-12-02  Jim Meyering  <meyering@lucent.com>
95659
95660         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
95661         * m4/jm-macros.m4 (jm_MACROS): require it.
95662
95663 2000-12-02  Jim Meyering  <meyering@lucent.com>
95664
95665         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
95666
95667 2000-12-01  Paul Eggert  <eggert@twinsun.com>
95668
95669         * lib/memrchr.c: Include <config.h> before any system include file.
95670
95671 2000-11-30  Jim Meyering  <meyering@lucent.com>
95672
95673         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
95674
95675 2000-11-30  Jim Meyering  <meyering@lucent.com>
95676
95677         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
95678
95679 2000-11-29  Paul Eggert  <eggert@twinsun.com>
95680
95681         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
95682
95683 2000-11-26  Jim Meyering  <meyering@lucent.com>
95684
95685         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
95686
95687 2000-11-22  Paul Eggert  <eggert@twinsun.com>
95688
95689         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
95690         size of (size_t) -1; it's not portable.
95691
95692 2000-11-17  Jim Meyering  <meyering@lucent.com>
95693
95694         * lib/strstr.c: Update from GNU libc.
95695
95696 2000-11-17  Akim Demaille  <akim@epita.fr>
95697
95698         * lib/obstack.h: Formatting changes.
95699         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
95700         prevent type checking.
95701         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
95702         cast the value to (void *): assigning a `foo *' to a `void *'
95703         variable is valid.
95704         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
95705
95706 2000-11-16  Jim Meyering  <meyering@lucent.com>
95707
95708         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
95709
95710 2000-11-11  Jim Meyering  <meyering@lucent.com>
95711
95712         * lib/error.c: Add a couple #includes, merging from GNU libc version.
95713
95714 2000-11-10  Jim Meyering  <meyering@lucent.com>
95715
95716         * lib/obstack.h: Update from GNU libc.
95717         * lib/obstack.c: Likewise.
95718
95719 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
95720
95721         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
95722
95723 2000-11-06  Paul Eggert  <eggert@twinsun.com>
95724
95725         * lib/getusershell.c (setusershell): Use rewind rather than
95726         fseek/fseeko, to avoid configuration hassles with fseeko.
95727         Don't bother opening SHELLS_FILE if shellstream is NULL;
95728         it's not necessary.
95729
95730 2000-11-05  Jim Meyering  <meyering@lucent.com>
95731
95732         * lib/makepath.h (make_dir): Declare.
95733         * lib/makepath.c (make_dir): Remove `static' attribute.
95734         Tweak a comment.
95735
95736 2000-11-04  Jim Meyering  <meyering@lucent.com>
95737
95738         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
95739
95740 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
95741
95742         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
95743         last one in a bucket, advance to the next bucket.
95744
95745 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
95746
95747         * lib/fnmatch.c: Do not comment out all the code if we are using
95748         the GNU C library, because in some cases we are replacing buggy
95749         code in the GNU C library itself.
95750
95751 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
95752
95753         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
95754         (regex_compile): Catch bogus \(\1\).
95755
95756 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95757
95758         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
95759         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
95760         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
95761
95762 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95763
95764         * lib/error.h, getline.h, modechange.h:
95765         Remove "2000" from Copyright line, as the file hasn't been
95766         changed this year other than in the copyright notice.
95767
95768         * lib/xalloc.h: Add "2000" to Copyright line, as this file
95769         was changed this year.
95770
95771 2000-10-29  Jim Meyering  <meyering@lucent.com>
95772
95773         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
95774         renaming.
95775         * m4/ls-mntd-fs.m4: Likewise
95776
95777 2000-10-29  Jim Meyering  <meyering@lucent.com>
95778
95779         * lib/xstat.in: Fix grammar in comment.
95780
95781 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
95782
95783         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
95784         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
95785         doesn't define __restrict_arr.
95786
95787 2000-10-28  Jim Meyering  <meyering@lucent.com>
95788
95789         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
95790         (jm_PREREQ_MEMCHR): New function.
95791
95792 2000-10-28  Jim Meyering  <meyering@lucent.com>
95793
95794         * lib/memchr.c: Update from libc.
95795         Adjust for portability:
95796         [HAVE_STDLIB_H]: Include stdlib.h.
95797         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
95798         Undef __memchr, too.
95799         [!weak_alias]: Define __memchr to memchr.
95800
95801         * lib/regex.c: Update from libc.
95802         * lib/regex.h: Likewise.
95803         * lib/getopt1.c: Likewise.
95804         * lib/memcmp.c: Likewise.
95805
95806         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
95807         Avoid using fseek, when possible -- it's broken by design.
95808         Patch by Ulrich Drepper.
95809
95810 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
95811
95812         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
95813         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
95814         Giving in to popular pressure to shut up the compiler with casts.
95815
95816 2000-10-26  Jim Meyering  <meyering@lucent.com>
95817
95818         * lib/strftime.c: Update from libc.
95819
95820 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
95821
95822         * regex.c: More `unsigned char' -> `re_char' changes.
95823         Also change several `int' into `re_wchar_t'.
95824         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
95825         (PUSH_FAILURE_POINTER): Don't cast any more.
95826         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
95827         We want GCC to complain, since this piece of code makes
95828         re_match non-reentrant, which *should* be fixed.
95829         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
95830         (EXTEND_BUFFER): Use RETALLOC.
95831         (SET_LIST_BIT): Don't cast.
95832         (re_wchar_t): New type.
95833         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
95834         that those two functions will always properly return.
95835         (IMMEDIATE_QUIT_CHECK): Cast to void.
95836         (analyse_first): Use recursion rather than an explicit stack.
95837         (re_compile_fastmap): Can't fail anymore.
95838         (re_search_2): Don't check re_compile_fastmap for failure.
95839         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
95840         Now also sets the new value (passed in a new argument).
95841         (re_match_2_internal): Use it.
95842         Also, use a new var `reg' of type size_t when looping through regs
95843         rather than reuse the inappropriate `mcnt'.
95844
95845 2000-10-25  Jim Meyering  <meyering@lucent.com>
95846
95847         * lib/obstack.c: Update from libc.
95848
95849 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
95850
95851         * regex.c (regex_compile): Change the way of handling a range from
95852         a char less than 256 to a char not less than 256.
95853
95854 2000-10-24  Andrew Innes  <andrewi@gnu.org>
95855
95856         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
95857         NT-Emacs only.
95858         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
95859         so that re_search functions only quit when callers expect them to.
95860
95861 2000-10-23  Jim Meyering  <meyering@lucent.com>
95862
95863         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
95864         wrong.  That set_locale call must not have any side effects.
95865         From Paul Eggert.
95866
95867 2000-10-22  Jim Meyering  <meyering@lucent.com>
95868
95869         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
95870         [CYCLIC]: Remove now-unused definition.
95871
95872         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
95873         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
95874         Suggestion from Ulrich Drepper.
95875
95876 2000-10-21  Jim Meyering  <meyering@lucent.com>
95877
95878         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
95879         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
95880         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
95881
95882 2000-10-21  Jim Meyering  <meyering@lucent.com>
95883
95884         * lib/dirname.c (memrchr): Declare if necessary.
95885         (dir_name): Remove the restriction that there be no
95886         trailing slashes.  Now, this code skips past them, effectively
95887         ignoring them.
95888         [TEST_DIRNAME] (main): New unit tests.
95889
95890         * lib/memrchr.c: New file from GNU libc.
95891         Undef __memrchr, too.
95892         [!weak_alias]: Define __memrchr to memrchr.
95893         Guard weak_alias use with `#ifdef weak_alias'.
95894
95895 2000-10-21  Jim Meyering  <meyering@lucent.com>
95896
95897         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
95898         (dir_name): Use dir_name_r.
95899         * lib/dirname.h (dir_name_r): Declare it.
95900
95901 2000-10-17  Jim Meyering  <meyering@lucent.com>
95902
95903         * lib/quote.h (PARAMS): Define and use.
95904         Reported by Akim Demaille.
95905
95906         * lib/getopt.c: Update from libc.
95907
95908 2000-10-16  Jim Meyering  <meyering@lucent.com>
95909
95910         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
95911         setlocale.
95912         From Jan Fedak.
95913
95914 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
95915
95916         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
95917
95918 2000-09-25  Jim Meyering  <meyering@lucent.com>
95919
95920         * lib/md5.h (rol): Define (from GnuPG).
95921
95922         * lib/sha.c: Give credit (GnuPG) where due.
95923         (M): Use rol rather than open-coding it.
95924         Add a FIXME comment.
95925
95926 2000-09-21  Jim Meyering  <meyering@lucent.com>
95927
95928         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
95929         Reported by Michael Stone.
95930
95931 2000-09-20  Jim Meyering  <meyering@lucent.com>
95932
95933         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
95934         (noinst_HEADERS): Add sha.h.
95935         Based on code from Scott G. Miller and from GnuPG.
95936
95937 2000-09-18  Jim Meyering  <meyering@lucent.com>
95938
95939         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
95940         LIBS. Otherwise, everyone ends up linking with -lelf for some
95941         configurations.
95942         Reported by Mike Stone.
95943
95944 2000-09-15  Jim Meyering  <meyering@lucent.com>
95945
95946         * lib/regex.c: Update from libc.
95947
95948 2000-09-10  Jim Meyering  <meyering@lucent.com>
95949
95950         * lib/getopt.c (_getopt_internal): Update from glibc.
95951
95952 2000-09-09  Jim Meyering  <meyering@lucent.com>
95953
95954         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
95955         think it should be used as a general replacement for isascii.
95956         * lib/fnmatch.c: Likewise.
95957         * lib/mbswidth.c: Likewise
95958         * lib/regex.c: Likewise.
95959
95960         Don't use atoi.
95961         * lib/userspec.c: Include sys/param.h and limits.h.
95962         Include xstrtol.h.
95963         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95964         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
95965         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
95966         UID, GID.  Check range.
95967
95968 2000-09-06  Jim Meyering  <meyering@lucent.com>
95969
95970         * lib/getopt.c (_getopt_internal): Update from glibc.
95971
95972 2000-08-30  Jim Meyering  <meyering@lucent.com>
95973
95974         * lib/strftime.c: Merge in changes from GNU libc.
95975
95976 2000-08-26  Jim Meyering  <meyering@lucent.com>
95977
95978         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
95979         * m4/fpending.m4: New file.
95980
95981 2000-08-26  Jim Meyering  <meyering@lucent.com>
95982
95983         * lib/closeout.c: Include "__fpending.h".
95984         (close_stdout_status): Return right away if there's nothing to flush.
95985
95986         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
95987         * lib/__fpending.c: New file.
95988         * lib/__fpending.h: New file.
95989
95990 2000-08-20  Jim Meyering  <meyering@lucent.com>
95991
95992         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
95993         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
95994         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
95995
95996 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
95997
95998         Improve fileutils installation on systems where running
95999         programs (like install) can't be unlinked.
96000         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
96001         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
96002
96003 2000-08-07  Paul Eggert  <eggert@twinsun.com>
96004
96005         Standardize on "memory exhausted" instead of "Memory exhausted"
96006         or "virtual memory exhausted".
96007         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
96008         "virtual memory exhausted".
96009         * lib/same.c (same_name): Invoke xalloc_die instead of printing
96010         our own message.
96011         * lib/userspec.c (parse_user_spec): Likewise.
96012         * lib/bumpalloc.h: comment fix
96013         * lib/same.c, userspec.c: Include xalloc.h.
96014
96015         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
96016         not char *const and pointing to a constant array.
96017         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
96018         (xrealloc): Comment fix.
96019
96020         * lib/userspec.c (parse_user_spec):
96021         Don't translate a message until just before returning,
96022         to avoid unnecessary translation.
96023
96024 2000-08-07  Jim Meyering  <meyering@lucent.com>
96025
96026         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
96027         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
96028         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
96029         getgroups.c, gethostname.c, getopt.h, group-member.c,
96030         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
96031         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
96032         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
96033         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
96034         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
96035         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
96036         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
96037         yesno.c: Back out Copyright date changes for each file with no change
96038         this year.  This eases coordination with other programs using the same
96039         source code modules.  From Paul Eggert.
96040
96041 2000-08-06  Paul Eggert  <eggert@twinsun.com>
96042
96043         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
96044         not char, for compatibility with glibc 2.1.3 strftime.c.
96045
96046 2000-08-03  Greg McGary  <greg@mcgary.org>
96047
96048         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
96049         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
96050         (EXTEND_BUFFER): Use them.
96051
96052 2000-08-01  Jim Meyering  <meyering@lucent.com>
96053
96054         * lib/dirname.c (ISSLASH): Define.
96055         (BACKSLASH_IS_PATH_SEPARATOR): Define.
96056         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
96057         both `\' and `/' may be use as path separators.
96058         Based on a patch from Prashant TR.
96059
96060 2000-07-31  Paul Eggert  <eggert@twinsun.com>
96061
96062         * lib/quotearg.c (quotearg_n_options): Don't make the initial
96063         slot vector a constant, since it might get modified.
96064
96065 2000-07-31  Jim Meyering  <meyering@lucent.com>
96066
96067         * lib/xmalloc.c: Use `virtual memory exhausted', not
96068         `Memory exhausted'.
96069         * lib/obstack.c (print_and_abort): Likewise.
96070
96071 2000-07-30  Paul Eggert  <eggert@twinsun.com>
96072
96073         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
96074         buffer, so that the caller can always quote one small
96075         component of a "memory exhausted" message in slot 0.
96076         From a suggestion by Jim Meyering.
96077
96078 2000-07-30  Jim Meyering  <meyering@lucent.com>
96079
96080         * lib/makepath.c (make_path): Quote the other instance, too.
96081
96082         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
96083         (STATIC_BUF_SIZE): Define.
96084         (quotearg_n_options): Use only statically allocated storage when
96085         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
96086         than STATIC_BUF_SIZE.
96087
96088 2000-07-29  Jim Meyering  <meyering@lucent.com>
96089
96090         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
96091         * lib/dirname.c (dir_name): Likewise.
96092
96093         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
96094         `/'.
96095
96096         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
96097         (dir_name): Assert that there are no trailing slashes.
96098
96099 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
96100
96101         * lib/mbswidth.h (mbswidth): Add a flags argument.
96102         (mbswidth): New declaration.
96103         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
96104         * lib/mbswidth.c (mbswidth): Add a flags argument.
96105         (mbsnwidth): New function.
96106
96107 2000-07-24  Jim Meyering  <meyering@lucent.com>
96108
96109         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
96110
96111 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96112
96113         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
96114
96115 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96116
96117         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
96118         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
96119         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
96120         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
96121         invoke multibyte primitives.
96122
96123 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96124
96125         * lib/quotearg.c:
96126         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
96127         so that mbstate_t is always defined.
96128
96129         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
96130         be 1 in at least one GCC installation, and this configuration
96131         error is likely to be common.  Ignoring MB_LEN_MAX hurts
96132         performance on hosts that have mbrtowc but have only unibyte
96133         locales, but I assume these hosts are rare.
96134
96135 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96136
96137         * lib/mbswidth.c (_XOPEN_SOURCE):
96138         Don't define; this causes problems on Solaris 7.
96139         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
96140
96141 2000-07-23  Jim Meyering  <meyering@lucent.com>
96142
96143         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
96144         too: getgrgid, getpwuid, getuid.
96145
96146 2000-07-23  Jim Meyering  <meyering@lucent.com>
96147
96148         * lib/basename.c (base_name): Add an assertion.
96149
96150 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
96151
96152         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
96153         shadow its mbsinit function.
96154
96155 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
96156
96157         * lib/mbswidth.h: New file.
96158         * lib/mbswidth.c: New file.
96159         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
96160         (noinst_HEADERS): Add mbswidth.h.
96161
96162 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
96163
96164         * lib/config.charset: Add support for FreeBSD. Improve support for
96165         HP-UX and IRIX 6.
96166
96167 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
96168
96169         * m4/mbswidth.m4: New file.
96170         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
96171
96172 2000-07-15  Jim Meyering  <meyering@lucent.com>
96173
96174         * lib/makepath.c: Include quote.h.
96175         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
96176         corresponding argument in a `quote (...)' call.
96177         Give better diagnostics.
96178
96179         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
96180         (noinst_HEADERS): Add quote.h.
96181
96182         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
96183         from tar's src/misc.c.
96184         * lib/quote.h: New file.  Prototypes for same.
96185
96186 2000-07-14  Paul Eggert  <eggert@twinsun.com>
96187
96188         From a suggestion by Bruno Haible.
96189         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
96190         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
96191         to decide whether to define the BeOS workaround macro;
96192         this adjusts to the change to AC_MBSTATE_T.
96193
96194 2000-07-14  Jim Meyering  <meyering@lucent.com>
96195
96196         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
96197         jm_AC_TYPE_UINTMAX_T.
96198
96199 2000-07-13  Paul Eggert  <eggert@twinsun.com>
96200
96201         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
96202
96203         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
96204         quotearg_buffer_restyled): Add support for
96205         clocale_quoting_style.  Undo previous change to
96206         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
96207         and "{RIGHT QUOTATION MARK}" msgids.
96208
96209 2000-07-10  Paul Eggert  <eggert@twinsun.com>
96210
96211         From a suggestion by Bruno Haible.
96212         * m4/mbstate_t.m4 (AC_MBSTATE_T):
96213         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
96214         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
96215         and mbstate_t, to a single-part test that simply defines mbstate_t.
96216         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
96217         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
96218
96219 2000-07-10  Jim Meyering  <meyering@lucent.com>
96220
96221         * m4/strerror_r.m4: Mirror the correction made in autoconf.
96222
96223         * m4/gnu-source.m4: Output to confdefs.h directly.
96224         Suggestion from Akim Demaille.
96225
96226 2000-07-09  Paul Eggert  <eggert@twinsun.com>
96227
96228         The old behavior of quoting `like this' doesn't look good with
96229         newer, ISO-style fonts.  See:
96230         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
96231
96232         Instead, quote "like this" by default.  Let the translator
96233         tailor the locale-specific quoting behavior by providing
96234         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
96235
96236         * lib/quotearg.c (N_): New macro.
96237         (gettext_default): New function.
96238         (quotearg_buffer_restyled): Use
96239         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
96240         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
96241
96242 2000-07-09  Jim Meyering  <meyering@lucent.com>
96243
96244         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
96245         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
96246
96247         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
96248         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
96249
96250 2000-07-09  Jim Meyering  <meyering@lucent.com>
96251
96252         * lib/Most files: Update copyright dates to include 2000.
96253
96254 2000-07-08  Jim Meyering  <meyering@lucent.com>
96255
96256         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
96257         if not defined.
96258         (xgethostname): Remove now-unnecessary #ifdef.
96259         Move declaration of `err' into loop where it's used.
96260
96261 2000-07-05  Paul Eggert  <eggert@twinsun.com>
96262         and Bruno Haible  <haible@clisp.cons.org>
96263
96264         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
96265         only if the test for an object-type mbstate_t fails.  This
96266         prevents us from mistakenly reporting that mbstate_t is a
96267         system object type after we "#define mbstate_t int" to work
96268         around its lack.
96269
96270 2000-07-05  Paul Eggert  <eggert@twinsun.com>
96271         and Bruno Haible  <haible@clisp.cons.org>
96272
96273         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
96274
96275 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96276
96277         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
96278         to strerror_r.
96279         Include <ctype.h> for use of isalpha.
96280
96281 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96282
96283         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
96284         by allocating a larger buffer. Test the gethostname return value for
96285         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
96286         returns an error and ENAMETOOLONG isn't defined.
96287
96288 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96289
96290         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
96291         dimension.
96292
96293 2000-07-04  Jim Meyering  <meyering@lucent.com>
96294
96295         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
96296         of the deprecated AC_CHECKING.
96297
96298 2000-07-04  Jim Meyering  <meyering@lucent.com>
96299
96300         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
96301         Reported by Bruno Haible.
96302
96303 2000-07-04  Jim Meyering  <meyering@lucent.com>
96304
96305         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
96306         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
96307         lacks mbrtowc.
96308
96309 2000-07-03  Paul Eggert  <eggert@twinsun.com>
96310
96311         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
96312         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
96313
96314 2000-07-03  Paul Eggert  <eggert@twinsun.com>
96315         and Bruno Haible  <haible@clisp.cons.org>
96316
96317         * lib/quotearg.c (mbrtowc):
96318         Assign to *pwc, and return 1 only if result is nonzero.
96319         (iswprint): Use ISPRINT when substituting our own mbrtowc.
96320
96321 2000-07-03  Jim Meyering  <meyering@lucent.com>
96322
96323         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
96324
96325 2000-07-03  Jim Meyering  <meyering@lucent.com>
96326
96327         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
96328         This is necessary to get a definition of e.g., UTMP_FILE on
96329         HP-UX 10.20.
96330         From Bob Proulx.
96331
96332 2000-07-02  Jim Meyering  <meyering@lucent.com>
96333
96334         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
96335
96336         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
96337         AC_LIBOBJ(function_name).
96338         * m4/chown.m4: Likewise.
96339         * m4/fnmatch.m4: Likewise.
96340         * m4/ftruncate.m4: Likewise.
96341         * m4/getgroups.m4: Likewise.
96342         * m4/getline.m4: Likewise.
96343         * m4/group-member.m4: Likewise.
96344         * m4/jm-macros.m4: Likewise.
96345         * m4/lstat.m4: Likewise.
96346         * m4/malloc.m4: Likewise.
96347         * m4/memcmp.m4: Likewise.
96348         * m4/nanosleep.m4: Likewise.
96349         * m4/putenv.m4: Likewise.
96350         * m4/realloc.m4: Likewise.
96351         * m4/regex.m4: Likewise.
96352         * m4/stat.m4: Likewise.
96353         * m4/strftime.m4: Likewise.
96354
96355 2000-07-02  Jim Meyering  <meyering@lucent.com>
96356
96357         * lib/quotearg.c (mbstate_t): Don't define here.
96358
96359 2000-07-02  Jim Meyering  <meyering@lucent.com>
96360
96361         * lib/nanosleep.c (SIGCONT): Define if not already defined.
96362
96363 2000-07-01  Jim Meyering  <meyering@lucent.com>
96364
96365         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
96366
96367 2000-07-01  Jim Meyering  <meyering@lucent.com>
96368
96369         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
96370         problem.
96371
96372 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
96373
96374         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
96375         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
96376
96377 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
96378
96379         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
96380         per change in ../m4/ls-mntd-fs.m4.
96381         (read_filesystem_list): Ignore symbolic links.
96382
96383 2000-06-29  Jim Meyering  <meyering@lucent.com>
96384
96385         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
96386         for declaration of strcmp.
96387
96388         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
96389
96390         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
96391         Avoid warning by casting result to `char *' to remove `const'.
96392
96393 2000-06-28  Jim Meyering  <meyering@lucent.com>
96394
96395         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
96396         included by quotearg.c, for which we perform this test.  From
96397         Bruno Haible.
96398
96399 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
96400
96401         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
96402         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
96403         <utmpx.h> exists, put readutmp.o into LIBOBJS.
96404
96405 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
96406
96407         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
96408
96409 2000-06-26  Paul Eggert  <eggert@twinsun.com>
96410
96411         savedir now sets errno on failure and invokes xmalloc to get memory.
96412         Fix a couple of other minor bugs while we're at it.
96413
96414         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
96415         (NAMLEN): Remove macro.
96416         (malloc, realloc): Remove decls.
96417         (stpcpy): Likewise.
96418         ("xalloc.h"): Include.
96419         (NAME_SIZE_DEFAULT): New macro.
96420         (savedir): Use xmalloc / xrealloc to allocate memory.
96421         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
96422         Skip "" directory entries.
96423         Use strlen to calculate directory entry length, since the old method
96424         is rarely used these days and isn't worth supporting.
96425         Don't use a pointer after freeing it.
96426         Check for integer overflow when calculating allocation size.
96427         Use memcpy to copy entries, instead of stpcpy.
96428         Set errno properly when returning NULL.
96429         Check for readdir error.
96430
96431 2000-06-26  Jim Meyering  <meyering@lucent.com>
96432
96433         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
96434
96435 2000-06-25  Jim Meyering  <meyering@lucent.com>
96436
96437         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
96438         Linux header bug when _XOPEN_SOURCE is defined to 500.
96439
96440 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
96441
96442         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
96443         deficiency.
96444
96445 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
96446
96447         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
96448         Include xalloc.h.
96449         Don't include <stdlib.h>.  Don't declare malloc, realloc.
96450
96451 2000-06-24  Jim Meyering  <meyering@lucent.com>
96452
96453         * m4/strerror_r.m4: Revive this file -- to try out an experimental
96454         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
96455         for which strerror does return char*, but which lacks a conveniently
96456         accessible declaration of the function.  If the compile-test says
96457         strerror_r doesn't work, then resort to a `run'-test that works on
96458         BeOS and segfaults on DEC Unix.
96459
96460 2000-06-24  Jim Meyering  <meyering@lucent.com>
96461
96462         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
96463
96464 2000-06-23  Paul Eggert  <eggert@twinsun.com>
96465
96466         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
96467         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
96468
96469 2000-06-23  Paul Eggert  <eggert@twinsun.com>
96470
96471         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
96472         (mbrtowc, mbstate_t): Define substitutes if
96473         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
96474         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
96475         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
96476
96477 2000-06-23  Jim Meyering  <meyering@lucent.com>
96478
96479         * m4/afs.m4: Add missing AC_MSG_RESULT.
96480         Reported by Bruno Haible.
96481
96482         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
96483         Suggestion from Bruno Haible.
96484
96485 2000-06-23  Jim Meyering  <meyering@lucent.com>
96486
96487         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
96488
96489 2000-06-21  Jim Meyering  <meyering@lucent.com>
96490
96491         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
96492
96493 2000-06-21  Jim Meyering  <meyering@lucent.com>
96494
96495         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
96496         (noinst_HEADERS): Add getstr.h.
96497
96498         * lib/getline.c (getstr): Move into a separate file.
96499         * lib/getstr.c (getstr): New file, extracted from getline.c, with
96500         the following changes: new parameter, delim2; both delim[12]
96501         parameters have type `int', not `char'.  The latter would lose
96502         with 8-bit delimiters.
96503         * lib/getstr.h: New file.
96504
96505 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
96506
96507         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
96508         than 1024, return a memory chunk of least possible size, instead
96509         of size PATH_MAX + 2. In the loop, increment the size proportionally.
96510         Use free/xmalloc instead of xrealloc to avoid copying for very long
96511         paths.
96512
96513 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
96514
96515         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
96516         the empty string.
96517
96518 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
96519
96520         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
96521         address, not strdup.  Include <stdlib.h> and don't declare free().
96522
96523 2000-06-19  Jim Meyering  <meyering@lucent.com>
96524
96525         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
96526
96527 2000-06-18  Jim Meyering  <meyering@lucent.com>
96528
96529         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
96530
96531         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
96532         `checking whether...' message to be consistent with that of the
96533         lstat test.
96534
96535 2000-06-18  Jim Meyering  <meyering@lucent.com>
96536
96537         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
96538         Besides, these days every porting target provides a mkdir function.
96539
96540         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
96541         needed. (this snippet comes from src/system.h).
96542
96543 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
96544
96545         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
96546
96547 2000-06-15  Paul Eggert  <eggert@twinsun.com>
96548
96549         * lib/human.c (adjust_value): New function.
96550         (human_readable_inexact): Apply rounding style even when
96551         printing approximate values.
96552
96553 2000-06-14  Paul Eggert  <eggert@twinsun.com>
96554
96555         * lib/human.c (human_readable_inexact): Allow an input block
96556         size that is not a multiple of the output block size, and vice versa.
96557         Reported by Piergiorgio Sartor.
96558
96559 2000-06-14  Paul Eggert  <eggert@twinsun.com>
96560
96561         * lib/getdate.y (get_date): Apply relative times after time
96562         zone indicator, not before.  Reported by Todd A. Jacobs.
96563
96564 2000-06-13  Jim Meyering  <meyering@lucent.com>
96565
96566         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
96567
96568         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
96569
96570 2000-06-12  Paul Eggert  <eggert@twinsun.com>
96571
96572         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
96573
96574 2000-06-12  Jim Meyering  <meyering@lucent.com>
96575
96576         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
96577         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
96578         optional argument.
96579         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
96580         the optional argument, `lib'.
96581
96582 2000-06-08  Jim Meyering  <meyering@lucent.com>
96583
96584         * m4/largefile.m4: Remove file (now that it's part of autoconf).
96585
96586 2000-06-04  Paul Eggert  <eggert@twinsun.com>
96587
96588         Rewrite largefile configuration so that we don't need to run
96589         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
96590         AC_CANONICAL_HOST in configure.in -- jmm]
96591
96592         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
96593         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
96594         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
96595         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
96596         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
96597         All uses changed.
96598         Instead of inspecting the output of getconf, try to compile the
96599         test program without and with the macro definition.
96600         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
96601         for getconf.  Instead, check for the needed flags by compiling
96602         test programs.
96603
96604 2000-06-04  Paul Eggert  <eggert@twinsun.com>
96605
96606         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
96607
96608 2000-06-04  Jim Meyering  <meyering@lucent.com>
96609
96610         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
96611         SunOS 4.1.4 for which gid_t is an unsigned type.
96612
96613 2000-06-03  Jim Meyering  <meyering@lucent.com>
96614
96615         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
96616         now that autoconf requires that.
96617
96618         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
96619         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
96620         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
96621
96622 2000-06-03  Jim Meyering  <meyering@lucent.com>
96623
96624         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
96625
96626 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
96627
96628         * m4/glibc21.m4: New file.
96629         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
96630
96631 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
96632
96633         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
96634         newer, don't install charset.alias.
96635         * lib/config.charset: Change the Linux/glibc rules so they become empty
96636         on glibc-2.1 or newer.
96637
96638 2000-06-02  Jim Meyering  <meyering@lucent.com>
96639
96640         * lib/mountlist.c: Back out last change.  Instead, do this...
96641         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
96642         me_dummy member using the same `ignore'-testing code.
96643         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
96644         fs_type strings.
96645         From Mark D. Roth.
96646
96647 2000-05-29  Jim Meyering  <meyering@lucent.com>
96648
96649         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
96650         mounts with the `ignore' attribute.  Based on a patch from
96651         Mark D. Roth.
96652
96653 2000-05-28  Jim Meyering  <meyering@lucent.com>
96654
96655         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
96656         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96657         * m4/stat.m4: Likewise.
96658         * m4/lstat.m4: Likewise.
96659         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
96660
96661         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
96662         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
96663
96664 2000-05-26  Jim Meyering  <meyering@lucent.com>
96665
96666         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
96667
96668 2000-05-24  Jim Meyering  <meyering@lucent.com>
96669
96670         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
96671         autoconf requires that.
96672         * m4/lib-check.m4: Likewise.
96673         * m4/jm-macros.m4: Likewise.
96674         * m4/strftime.m4: Likewise.
96675
96676         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
96677         AC_CHECK_DECLS, now that autoconf requires that.
96678
96679 2000-05-22  Jim Meyering  <meyering@lucent.com>
96680
96681         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96682         * m4/lstat.m4: Likewise.
96683
96684 2000-05-22  Jim Meyering  <meyering@lucent.com>
96685
96686         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
96687
96688 2000-05-20  Jim Meyering  <meyering@lucent.com>
96689
96690         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
96691         (jm_PREREQ): Use it.
96692
96693 2000-05-18  Jim Meyering  <meyering@lucent.com>
96694
96695         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
96696         back, too, since it may have been modified by allocate_entry.
96697         (hash_delete): Rewrite to use neither the assignment operator
96698         nor the comma operator in an if-expression.
96699
96700 2000-05-15  Paul Eggert  <eggert@twinsun.com>
96701
96702         * lib/closeout.c:
96703         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
96704         Remove; no longer needed.
96705         "quotearg.h": Add include.
96706         (file_name): Do not bother to explicitly initialize to NULL; it's less
96707         efficient on some hosts.
96708         (close_stdout_status): Remove test as to whether stdout was already
96709         closed; it breaks for the case "echo x | sort >&-".
96710         Quote file name colons.
96711         Do not assume that _("write error") lacks format strings.
96712
96713 2000-05-15  Jim Meyering  <meyering@lucent.com>
96714
96715         * lib/version-etc.c (version_etc_copyright): Update the copyright
96716         string used in all --version output.
96717
96718 2000-05-14  Jim Meyering  <meyering@lucent.com>
96719
96720         * lib/closeout.c (close_stdout_set_file_name): New function.
96721         (close_stdout_status): Use new file-scoped global.
96722         Return right away if fstat says the stdout file descriptor is invalid.
96723         * lib/closeout.h (close_stdout_set_file_name): Declare.
96724
96725 2000-05-10  Jim Meyering  <meyering@lucent.com>
96726
96727         * lib/closeout.c [default_exit_status]: New file-scoped variable.
96728         (close_stdout_set_status): New function.
96729         * lib/closeout.h (close_stdout_set_status): Declare.
96730
96731 2000-05-09  Jim Meyering  <meyering@lucent.com>
96732
96733         * m4/gettext.m4: Rename this...
96734         * m4/libintl.m4: ...to this.
96735
96736 2000-05-08  Jim Meyering  <meyering@lucent.com>
96737
96738         * lib/long-options.c: Don't include closeout.h.
96739         (parse_long_options): Don't call close_stdout for --version.
96740
96741 2000-05-06  Paul Eggert  <eggert@twinsun.com>
96742
96743         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
96744         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
96745         2.1.3 bug.  This avoids a clash when files like regex.c define
96746         _GNU_SOURCE.
96747
96748 2000-05-06  Jim Meyering  <meyering@lucent.com>
96749
96750         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
96751         (AC_REPLACE_FUNCS): Add strnlen.
96752
96753         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
96754         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
96755
96756         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
96757         AC_SEARCH_LIBS call for nanosleep.
96758         (LIB_NANOSLEEP): Set and AC_SUBST.
96759
96760 2000-05-06  Jim Meyering  <meyering@lucent.com>
96761
96762         * lib/strnlen.c: Undefine __strnlen and strnlen.
96763         [!weak_alias]: Define __strnlen to strnlen.
96764
96765         * lib/atexit.c: New file, from libiberty.
96766
96767 2000-05-06  Jim Meyering  <meyering@lucent.com>
96768
96769         * lib/closeout.c (close_stdout_status): Also check for errors on the
96770         stderr stream.
96771
96772 2000-05-05  Jim Meyering  <meyering@lucent.com>
96773
96774         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
96775         AC_SEARCH_LIBS call for clock_gettime.
96776         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
96777
96778         * m4/search-libs.m4: Update from autoconf.
96779
96780         su doesn't work on Solaris 2.6.
96781         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
96782         <shadow.h>.  Reported by Dragos Harabor.
96783
96784 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
96785
96786         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
96787         memcpy instead of xmalloc, xrealloc, path_concat.
96788         (locale_charset): Treat empty environment variables as absent.
96789         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
96790
96791 2000-05-04  Jim Meyering  <meyering@lucent.com>
96792
96793         * lib/getopt.c: Update from glibc.
96794         * lib/obstack.c: Likewise.
96795         * lib/obstack.h: Likewise.
96796         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
96797         file
96798
96799         * lib/regex.h: Likewise.
96800         * lib/strndup.c: Likewise.
96801         * lib/strnlen.c: New file, from glibc.
96802
96803 2000-05-03  Jim Meyering  <meyering@lucent.com>
96804
96805         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
96806
96807 2000-05-02  Paul Eggert  <eggert@twinsun.com>
96808
96809         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
96810         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
96811         compile-time test, rather than inspecting host and OS, to
96812         decide whether to define _LARGEFILE_SOURCE.
96813
96814 2000-05-01  Jim Meyering  <meyering@lucent.com>
96815
96816         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
96817
96818         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
96819         Based on a patch from Bruno Haible.
96820
96821 2000-05-01  Jim Meyering  <meyering@lucent.com>
96822
96823         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
96824
96825 2000-04-29  Jim Meyering  <meyering@lucent.com>
96826
96827         * lib/path-concat.c: Declare strdup only if it's not defined.
96828         * lib/canon-host.c: Likewise.
96829
96830 2000-04-28  Jim Meyering  <meyering@lucent.com>
96831
96832         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
96833         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
96834         is included first, then limits.h is included by locale.h by libintl.h.
96835         From John David Anglin.
96836
96837 2000-04-25  Jim Meyering  <meyering@lucent.com>
96838
96839         * lib/makepath.c (S_IRWXUGO): Define.
96840         (make_path): Always perform explicit chmod if MODE specifies any
96841         of the `special' permission bits.  Prompted by a bug report against
96842         install from Mate Wierdl and Joost van Baal.
96843
96844 2000-04-18  Jim Meyering  <meyering@lucent.com>
96845
96846         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
96847         (jm_PREREQ): Use it.
96848
96849 2000-04-18  Jim Meyering  <meyering@lucent.com>
96850
96851         * lib/README: New file.
96852
96853         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
96854         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
96855
96856 2000-04-17  Jim Meyering  <meyering@lucent.com>
96857
96858         Get it right :-)
96859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
96860         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
96861         Suggestion from Akim Demaille.
96862
96863 2000-04-17  Jim Meyering  <meyering@lucent.com>
96864
96865         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
96866         the definition of it to rpl_strftime also defined-away the system's
96867         declaration.
96868
96869 2000-04-15  Jim Meyering  <meyering@lucent.com>
96870
96871         Use `C' to denote so-called `contiguous' files, the same way
96872         that tar does.
96873         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
96874         (ftypelet): Use S_ISCTG.
96875         From Michael Deutschmann.
96876
96877 2000-04-14  Jim Meyering  <meyering@lucent.com>
96878
96879         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
96880         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
96881         clobbered.
96882
96883 2000-04-14  Jim Meyering  <meyering@lucent.com>
96884
96885         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
96886
96887 2000-04-13  Jim Meyering  <meyering@lucent.com>
96888
96889         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
96890         AH_VERBATIM to insert required #ifndef into config.h.in.
96891         Suggestion from Akim Demaille.
96892
96893 2000-04-12  Jim Meyering  <meyering@lucent.com>
96894
96895         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
96896         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
96897         Christian Krackowizer.
96898
96899         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
96900         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
96901         (AC_SYS_LARGEFILE): Require.
96902         (AM_C_PROTOTYPES): Require.
96903
96904 2000-04-08  Jim Meyering  <meyering@lucent.com>
96905
96906         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
96907         names don't conflict.  Reported by Eli Zaretskii.
96908
96909 2000-04-07  Jim Meyering  <meyering@lucent.com>
96910
96911         * lib/putenv.c: Move inclusion of errno.h so it follows that of
96912         sys/types.h, to work around system header problems on AIX 3.2.5.
96913         From Bruno Haible.
96914
96915 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
96916
96917         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
96918         bug.  Deal with the different error behavior of Irix iconv.
96919
96920 2000-04-05  Paul Eggert  <eggert@twinsun.com>
96921
96922         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
96923         IRIX if the installer said otherwise.
96924
96925 2000-04-05  Jim Meyering  <meyering@lucent.com>
96926
96927         Portability tweaks required for ultrix4.3.
96928         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
96929         (jm_CHECK_DECLS): Add getutent to the list of functions.
96930         (_jm_DECL_HEADERS): Add utmpx.h.
96931         From John David Anglin.
96932
96933         * m4/strftime.m4: Back out the 2000-04-02 change.
96934         Instead of that change, simply undefine putenv in the test program.
96935
96936 2000-04-05  Jim Meyering  <meyering@lucent.com>
96937
96938         Portability tweaks required for ultrix4.3.
96939         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
96940         getutent.
96941         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
96942         * lib/canon-host.c: Declare strdup.
96943         * lib/path-concat.c: Likewise.
96944         From John David Anglin.
96945
96946 2000-04-04  Jim Meyering  <meyering@lucent.com>
96947
96948         Be more DOS 8.3-friendly.
96949         * lib/ref-add.sin: Renamed from ref-add.sed.in.
96950         * lib/ref-del.sin: Renamed from ref-del.sed.in.
96951         * lib/Makefile.am: Reflect renaming.
96952         Reported by Eli Zaretskii.
96953
96954         Use a temporary file name that won't clash with `charset.alias'
96955         in the DOS 8.3 name space.
96956         * lib/Makefile.am (charset_tmp): Define.
96957         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
96958         (uninstall-local): Likewise.
96959         Reported by Eli Zaretskii.
96960
96961 2000-04-03  Jim Meyering  <meyering@lucent.com>
96962
96963         * m4/gettext.m4: Fix typo in comment.
96964
96965         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
96966         textutils/configure.in).  Suggestion from Paul Eggert.
96967         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
96968
96969 2000-04-02  Paul Eggert  <eggert@twinsun.com>
96970
96971         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
96972         variable in the shell rather than using putenv, which isn't
96973         portable.  This avoids the configure-time inter-test dependency
96974         on the potentially-renamed putenv function.
96975
96976 2000-03-30  Paul Eggert  <eggert@twinsun.com>
96977
96978         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
96979         before checking struct stat.st_blksize, so that
96980         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
96981
96982 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96983
96984         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
96985         since strftime.c uses HAVE_STRFTIME to decide whether to use
96986         the underlying strftime.
96987
96988 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96989
96990         * lib/time/strftime.c (my_strftime): Make sure we call the system
96991         strftime, not ourselves, when invoking the underlying strftime.
96992
96993 2000-03-24  Jim Meyering  <meyering@lucent.com>
96994
96995         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
96996         (charset_alias): Define.
96997         (install-exec-local): Factor out common code.
96998         (uninstall-local): Split lines longer than 80.
96999         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
97000         (SUFFIXES): Define.
97001         (.sed.in.sed): New rule.  Don't redirect directly to $@.
97002         (CLEANFILES): Add ref-add.sed and ref-del.sed.
97003
97004 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
97005
97006         * lib/config.charset: Output a line containing "Packages using this
97007         file".
97008         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
97009         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
97010         ref-del.sed): New rules.
97011
97012 2000-03-17  Jim Meyering  <meyering@lucent.com>
97013
97014         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
97015         Otherwise, include <strings.h>
97016
97017 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
97018
97019         * lib/unicodeio.c (utf8_wctomb): New function.
97020         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
97021         format instead of in UCS-4 with platform dependent endianness.
97022
97023 2000-03-10  Jim Meyering  <meyering@lucent.com>
97024
97025         * m4/lib-check.m4: Look for getspnam in -lgen, too.
97026         From Marco Franzen.
97027
97028 2000-03-07  Paul Eggert  <eggert@twinsun.com>
97029
97030         * lib/savedir.c (savedir): Work even if directory size is
97031         negative; this can happen with some screwy NFS configurations.
97032
97033 2000-03-06  Jim Meyering  <meyering@lucent.com>
97034
97035         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
97036         if it's NULL (because we ran out of memory).  From Bruno Haible.
97037
97038 2000-03-05  Jim Meyering  <meyering@lucent.com>
97039
97040         * lib/localcharset.c ("path-concat.h"): Include.
97041         (get_charset_aliases): Use path_concat instead of ANSI string
97042         concatenation.
97043
97044         * lib/unicodeio.h (PARAMS): Define.
97045         Use it to guard prototype.
97046
97047 2000-03-04  Jim Meyering  <meyering@lucent.com>
97048
97049         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
97050         for lib/localcharset.c.
97051
97052 2000-03-04  Jim Meyering  <meyering@lucent.com>
97053
97054         * lib/Makefile.am (install-exec-local): Create $(libdir) before
97055         installing into it.
97056         (uninstall-local): Uncomment this rule so `make distcheck' works
97057         once again.
97058
97059         * lib/unicodeio.c (<errno.h>): Include it.
97060         (errno): Declare if not defined.
97061
97062         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
97063
97064         * lib/config.charset: New version, incorporating remarks from a linux
97065         i18n mailing list.  From Bruno Haible.
97066
97067 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
97068
97069         * m4/codeset.m4: New file.
97070         * m4/iconv.m4: New file.
97071         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
97072
97073 2000-03-03  Jim Meyering  <meyering@lucent.com>
97074
97075         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
97076
97077 2000-03-02  Jim Meyering  <meyering@lucent.com>
97078
97079         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
97080         the messages come out on separate lines.
97081
97082         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
97083         rather than jm_CHECK_DECLARATIONS.
97084         * m4/decl.m4: Remove now-unused file.
97085
97086         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
97087         geteuid.
97088
97089 2000-03-02  Jim Meyering  <meyering@lucent.com>
97090
97091         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
97092
97093 2000-03-01  Jim Meyering  <meyering@lucent.com>
97094
97095         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
97096         * lib/unicodeio.c: Likewise.
97097
97098 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
97099
97100         * lib/config.charset: New file.
97101         * lib/localcharset.c: New file.
97102         * lib/unicodeio.h, lib/unicodeio.c: New files.
97103         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
97104         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
97105         (noinst_HEADERS): Add unicodeio.h.
97106         (all-local, install-exec-local, charset.alias): New targets.
97107
97108 2000-02-28  Paul Eggert  <eggert@twinsun.com>
97109
97110         * lib/quotearg.c (ALERT_CHAR): New macro.
97111         (quotearg_buffer_restyled): Use it.
97112
97113 2000-02-27  Jim Meyering  <meyering@lucent.com>
97114
97115         * m4/check-decl.m4: Add getenv to the list.
97116
97117 2000-02-27  Jim Meyering  <meyering@lucent.com>
97118
97119         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
97120         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
97121
97122         * lib/backupfile.c: Guard inclusion of stdlib.h with
97123         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
97124         Declare malloc if needed.
97125
97126         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
97127         `#ifndef HAVE_DECL..'
97128         now that autoconf always defines the HAVE_DECL_ symbols.
97129         * lib/human.c: Likewise.
97130         * lib/same.c: Likewise.
97131         * lib/strtoumax.c: Likewise.
97132
97133         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
97134         declaration check was not run.
97135         * lib/hash.c: Likewise.
97136         * lib/human.c: Likewise.
97137         * lib/same.c: Likewise.
97138         * lib/strtoumax.c: Likewise.
97139
97140         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
97141         `.', then first look up the entire `.'-containing string as a login
97142         name.
97143
97144 2000-02-23  Jim Meyering  <meyering@lucent.com>
97145
97146         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
97147         in place of my hack.
97148
97149 2000-02-18  Paul Eggert  <eggert@twinsun.com>
97150
97151         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
97152         (textint): New typedef.
97153         (parser_control): Member year changed from int to textint.
97154         All uses changed.
97155         (YYSTYPE): Removed; replaced by %union with int and textint members.
97156         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
97157         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
97158         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
97159         (tSNUMBER, tUNUMBER): Now of type <textintval>.
97160         (date, number, to_year): Use width of number in digits, not its value,
97161         to determine whether it's a 2-digit year, or a 2-digit time.
97162         (yylex): Store number of digits of numeric tokens.
97163         Reported by John Kendall.
97164
97165         (parser_control): Changed from struct parser_control to typedef (for
97166         consistency).  All uses changed.
97167
97168         (tID): Removed; not used.
97169         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
97170
97171 2000-02-14  Paul Eggert  <eggert@twinsun.com>
97172
97173         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
97174         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
97175
97176 2000-02-12  Jim Meyering  <meyering@lucent.com>
97177
97178         * lib/userspec.c (ISDIGIT): Define it.
97179         (isdigit): Remove definition.
97180         (is_number): Use ISDIGIT, not isdigit.
97181         <libintl.h>: Include.
97182         (_ and N_): Define.
97183         (parse_user_spec): Mark translatable strings.
97184
97185 2000-02-10  Jim Meyering  <meyering@lucent.com>
97186
97187         With these changes, nanosleep.[ch] are finally enough like the other
97188         lib/* replacement files to compile on a few more losing systems.
97189
97190         * lib/nanosleep.h: Don't include config.h.
97191         Remove prototype from declaration of nanosleep.
97192         (PARAMS): Remove now-unneeded definition.
97193         * lib/nanosleep.c: #undef nanosleep.
97194         (rpl_nanosleep): Rename from nanosleep.
97195
97196 2000-02-10  Jim Meyering  <meyering@lucent.com>
97197
97198         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
97199         gnu_nanosleep to rpl_nanosleep.
97200
97201 2000-02-09  Jim Meyering  <meyering@lucent.com>
97202
97203         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
97204         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
97205
97206 2000-02-08  Akim Demaille  <akim@epita.fr>
97207
97208         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
97209         `[' and `]' and remove uses of `changequote'.
97210         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
97211         (AC_SYS_LARGEFILE): Likewise.
97212         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
97213         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
97214         of changequote.
97215         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
97216         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
97217         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
97218         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
97219
97220 2000-02-05  Jim Meyering  <meyering@lucent.com>
97221
97222         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
97223         Remove explicit use of AC_HEADER_TIME.  It is required by
97224         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
97225         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
97226         in autoconf whereby the expansion of the latter ended up preceding
97227         the expansion of its prerequisite, AC_HEADER_TIME.
97228         Reported by Volker Borchert.
97229
97230 2000-02-03  Jim Meyering  <meyering@lucent.com>
97231
97232         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
97233
97234 2000-02-03  Jim Meyering  <meyering@lucent.com>
97235
97236         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
97237         rather than with `#if HAVE_UTMPNAME'.
97238
97239 2000-02-02  Jim Meyering  <meyering@lucent.com>
97240
97241         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
97242         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
97243         Reported by Eli Zaretskii.
97244
97245 2000-02-01  Jim Meyering  <meyering@lucent.com>
97246
97247         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
97248
97249 2000-01-31  Jim Meyering  <meyering@lucent.com>
97250
97251         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
97252         functions.  Add the time.h and sys/time.h headers along with the
97253         AC_REQUIRE'ment of AC_HEADER_TIME.
97254
97255 2000-01-31  Jim Meyering  <meyering@lucent.com>
97256
97257         * lib/nanosleep.h (nanosleep): Guard declaration with
97258         `#if ! HAVE_DECL_NANOSLEEP'.
97259         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
97260         the declaration in that vendor's sys/timers.h.
97261         Reported by Christian Krackowizer.
97262
97263         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
97264         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
97265         (ISPRINT): Likewise.
97266         Reported by Tom Tromey.
97267
97268 2000-01-30  Jim Meyering  <meyering@lucent.com>
97269
97270         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
97271
97272         * m4/prereq.m4 (utmp_includes): Define.
97273         Check for ut_user and ut_name members in both struct utmpx
97274         and struct utmp.
97275
97276 2000-01-30  Jim Meyering  <meyering@lucent.com>
97277
97278         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
97279         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
97280         header files where only utmpx.ut_user is declared.
97281
97282         * lib/readutmp.h (UT_USER): Define.
97283
97284 2000-01-29  Jim Meyering  <meyering@lucent.com>
97285
97286         * m4/lib-check.m4: New file containing library-related checks from
97287         fileutils and sh-utils (textutils had none).
97288
97289 2000-01-28  Jim Meyering  <meyering@lucent.com>
97290
97291         * m4/perl.m4: Change format of warning message to look more like that
97292         from the missing script.  Suggestion from François Pinard.
97293
97294 2000-01-25  Jim Meyering  <meyering@lucent.com>
97295
97296         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
97297         well as time.h in the compile check.
97298         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
97299         Fix typo in cross-compiling case: s/yes/no/.
97300
97301 2000-01-23  Jim Meyering  <meyering@lucent.com>
97302
97303         * m4/jm-macros.m4: Move df-related tests here from
97304         fileutils/configure.in
97305
97306         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
97307         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
97308
97309         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
97310         s/space/ac_fsusage_space/.
97311         (jm_FILE_SYSTEM_USAGE): Take two parameters.
97312
97313         * m4/ftruncate.m4: New file (derived from part of
97314         fileutils/configure.in).
97315         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
97316         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
97317
97318         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
97319         AC_SUBST these here, rather than just in sh-util/configure.in, so
97320         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
97321         all the same.
97322         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
97323         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
97324         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
97325         (AC_SUBST(POW_LIBM)): Likewise.
97326         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
97327
97328 2000-01-23  Jim Meyering  <meyering@lucent.com>
97329
97330         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
97331         obstack.c.
97332
97333 2000-01-22  Jim Meyering  <meyering@lucent.com>
97334
97335         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
97336
97337         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
97338
97339         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
97340         configure.in
97341         (AC_CHECK_HEADERS): Likewise for sh-utils.
97342         (AC_CHECK_HEADERS): Likewise for textutils.
97343         Merge the three lists of headers.
97344
97345         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
97346         from fileutils' configure.in.
97347
97348         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
97349         code. Moved tests into their own function (_jm_DECL_HEADERS) in
97350         check-decl.m4.
97351
97352         * m4/check-decl.m4: Use #if rather than #ifdef.
97353         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
97354         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
97355         (_jm_DECL_HEADERS): Define new function.
97356         (jm_CHECK_DECLARATIONS): Require it.
97357
97358 2000-01-22  Jim Meyering  <meyering@lucent.com>
97359
97360         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
97361         [! HAVE_DECL_STRTOULL]: Declare strtoull.
97362         Required for some AIX systems.  Reported by Christian Krackowizer.
97363         [TESTING] (main): New function.
97364
97365         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
97366         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
97367         letters.
97368
97369         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
97370         iswprint.
97371
97372         * lib/strverscmp.c (ISDIGIT): Define.
97373         (strverscmp): Use ISDIGIT, not isdigit.
97374
97375 2000-01-19  Jim Meyering  <meyering@lucent.com>
97376
97377         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
97378         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
97379         defines `struct timespec' in <sys/time.h>
97380
97381         * m4/c-bs-a.m4: Remove uses of changequote altogether.
97382         Thanks to Akim for explaining.
97383
97384 2000-01-17  Paul Eggert  <eggert@twinsun.com>
97385
97386         * lib/nanosleep.c (nanosleep):
97387         Don't use SA_INTERRUPT to decide whether to call sigaction, as
97388         POSIX.1 doesn't require SA_INTERRUPT and some systems
97389         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
97390         it's been part of POSIX.1 since day 1 (in 1988).
97391
97392 2000-01-17  Jim Meyering  <meyering@lucent.com>
97393
97394         * lib/interlock: Remove unused file.  Reported by François Pinard.
97395
97396 2000-01-16  Paul Eggert  <eggert@twinsun.com>
97397
97398         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
97399         alert, backslash, formfeed, and vertical tab unnecessarily in
97400         shell quoting style.
97401
97402 2000-01-16  Jim Meyering  <meyering@lucent.com>
97403
97404         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
97405         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
97406         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
97407         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
97408
97409 2000-01-16  Jim Meyering  <meyering@lucent.com>
97410
97411         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
97412         because the latter didn't work.
97413
97414 2000-01-15  Jim Meyering  <meyering@lucent.com>
97415
97416         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
97417         (AC_REPLACE_FUNCS): Add memcpy and memset.
97418         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
97419         Add strpbrk.
97420         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
97421
97422 2000-01-12  Jim Meyering  <meyering@lucent.com>
97423
97424         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
97425         (jm_PREREQ): Use it.
97426         (jm_PREREQ_READUTMP): New macro.
97427         (jm_PREREQ): Use it.
97428
97429 2000-01-11  Paul Eggert  <eggert@twinsun.com>
97430
97431         Quote multibyte characters correctly.
97432         * m4/c-bs-a.m4: New file.
97433         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
97434         (jm_PREREQ): Use it.
97435
97436 2000-01-11  Paul Eggert  <eggert@twinsun.com>
97437
97438         * m4/uintmax_t.m4: Port to autoconf 2.13.
97439
97440 2000-01-08  Jim Meyering  <meyering@ascend.com>
97441
97442         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
97443         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
97444
97445 2000-01-04  Jim Meyering  <meyering@ascend.com>
97446
97447         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
97448         jm_STRUCT_DIRENT_D_TYPE.
97449         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
97450         jm_STRUCT_DIRENT_D_INO.
97451         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
97452         jm_STRUCT_UTIMBUF.
97453         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
97454         renamings.
97455         * m4/utime.m4: Likewise.
97456
97457         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
97458         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
97459
97460 2000-01-03  Paul Eggert  <eggert@twinsun.com>
97461
97462         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
97463         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
97464
97465 2000-01-02  Jim Meyering  <meyering@ascend.com>
97466
97467         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
97468         remember if this is necessary.
97469
97470 1999-12-26  Jim Meyering  <meyering@ascend.com>
97471
97472         * m4/jm-macros.m4: Use it here.
97473         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
97474
97475 1999-12-23  Jim Meyering  <meyering@ascend.com>
97476
97477         * m4/jm-macros.m4: Check for clock_gettime (moved from
97478         fileutils/configure.in)
97479         Check for gettimeofday.
97480
97481 1999-12-20  Jim Meyering  <meyering@ascend.com>
97482
97483         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
97484         autoconf-2.14a-1999-12-20.
97485
97486 1999-12-19  Jim Meyering  <meyering@ascend.com>
97487
97488         * m4/lstat-slash.m4: New file.
97489         * m4/jm-macros.m4: Use the new macro:
97490         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97491
97492 1999-12-07  Jim Meyering  <meyering@ascend.com>
97493
97494         * m4/perl.m4: Require that File::Compare be available, too.
97495         Too many systems seem to lack it.
97496
97497         * m4/strftime.m4: Add checks for most of the cpp macros tested in
97498         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
97499
97500 1999-11-18  Paul Eggert  <eggert@twinsun.com>
97501
97502         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
97503         problem with the QNX 4.25 shell, which doesn't propagate exit
97504         status of failed commands inside shell assignments.
97505
97506 1999-11-17  Jim Meyering  <meyering@ascend.com>
97507
97508         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
97509
97510 1999-11-07  Jim Meyering  <meyering@ascend.com>
97511
97512         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
97513
97514 1999-11-06  Jim Meyering  <meyering@ascend.com>
97515
97516         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
97517         * m4/jm-macros.m4 (jm_MACROS): Use it here.
97518
97519 1999-11-05  Jim Meyering  <meyering@ascend.com>
97520
97521         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
97522         configure.in of textutils, fileutils, and sh-utils into this one
97523         (shared between those packages) file.
97524         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
97525         AC_STRUCT_ST_BLKSIZE.
97526
97527 1999-11-03  Jim Meyering  <meyering@ascend.com>
97528
97529         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
97530         of AC_CHECK_TYPE checks includes unistd.h.
97531         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
97532         Suggestion from Akim Demaille.
97533
97534 1999-10-30  Jim Meyering  <meyering@ascend.com>
97535
97536         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
97537         m4-quoted string.
97538         * m4/ls-mntd-fs.m4: Likewise.
97539         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
97540         * m4/jm-winsz1.m4: Likewise.
97541
97542         * m4/const.m4: Remove file, since the fix made it into the experimental
97543         version of autoconf.
97544         * m4/mktime.m4: Likewise.
97545
97546         * m4/check-type.m4: Remove file, now that the latest version of
97547         AC_CHECK_TYPE takes a third arg to specify additional #includes.
97548
97549         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
97550         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
97551         AC_CHECK_TYPE.
97552
97553 1999-10-04  Jim Meyering  <meyering@ascend.com>
97554
97555         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
97556
97557 1999-09-22  Paul Eggert  <eggert@twinsun.com>
97558
97559         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
97560         2.95.1 bug with HP-UX 10.20.
97561
97562 1999-09-17  Jim Meyering  <meyering@ascend.com>
97563
97564         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
97565         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
97566         due to missing strdup (against sh-utils-2.0).
97567
97568 1999-08-29  Jim Meyering  <meyering@ascend.com>
97569
97570         * m4/jm-macros.m4: Require jm_BISON.
97571         * m4/bison.m4: New file.
97572
97573 1999-08-17  Paul Eggert  <eggert@twinsun.com>
97574
97575         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
97576         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
97577
97578 1999-08-05  Jim Meyering  <meyering@ascend.com>
97579
97580         * m4/getline.m4: Rename test file from conftestdata to conftest.data
97581         to avoid conflicts with `conftest' on 8+3 filesystems.
97582         Suggestion from Eli Zaretskii.
97583
97584 1999-08-04  Jim Meyering  <meyering@ascend.com>
97585
97586         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
97587         fileutils and sh-utils (textutils's getline test was inadequate).
97588         (AM_FUNC_GETLINE): Run this test.
97589         (AC_CHECK_FUNCS): Check for getdelim.
97590         Reported by Bob Proulx.
97591
97592 1999-08-02  Jim Meyering  <meyering@ascend.com>
97593
97594         * m4/jm-macros.m4: Add a comment.
97595
97596 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97597
97598         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
97599         <inttypes.h> defines strtoumax as a macro (and not as a
97600         function).
97601
97602 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97603
97604         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
97605         that we can shift, multiply and divide unsigned long long
97606         values; Ultrix cc can't do it.
97607
97608 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97609
97610         * m4/mktime.m4: New file, which is a preview of what should appear
97611         in the next public autoconf release.
97612
97613 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97614
97615         * m4/lfs.m4: Remove this file.
97616         * m4/largefile.m4: New file.  It contains the old contents of
97617         lfs.m4, except that all names with prefix AC_LFS have been
97618         changed to use the prefix AC_SYS_LARGEFILE instead, to be
97619         compatible with future autoconf versions.  Also, some minor m4
97620         quoting problems have been fixed.
97621
97622 1999-08-01  Paul Eggert  <eggert@twinsun.com>
97623
97624         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
97625         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
97626         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
97627         and simplify the shell code.
97628
97629 1999-08-01  Jim Meyering  <meyering@ascend.com>
97630
97631         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
97632         m4.
97633
97634 1999-07-20  Jim Meyering  <meyering@ascend.com>
97635
97636         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
97637
97638 1999-07-15  Jim Meyering  <meyering@ascend.com>
97639
97640         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
97641
97642 1999-05-22  Jim Meyering  <meyering@ascend.com>
97643
97644         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
97645
97646 1999-05-20  Jim Meyering  <meyering@ascend.com>
97647
97648         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
97649         Add a colon after each `then' in case $4 is empty.
97650
97651 1999-05-16  Jim Meyering  <meyering@ascend.com>
97652
97653         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
97654
97655 1999-05-10  Jim Meyering  <meyering@ascend.com>
97656
97657         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
97658
97659         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
97660         AC_FUNC_MKTIME.
97661
97662 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
97663
97664         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
97665
97666 1999-05-04  Paul Eggert  <eggert@twinsun.com>
97667
97668         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
97669         not CPPFLAGS, so that linking works correctly in IRIX.
97670
97671 1999-04-30  Paul Eggert  <eggert@twinsun.com>
97672
97673         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
97674
97675 1999-04-20  Paul Eggert  <eggert@twinsun.com>
97676
97677         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
97678         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
97679         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
97680         jm_AC_TYPE_UNSIGNED_LONG_LONG.
97681         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
97682
97683         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
97684
97685 1999-04-20  Jim Meyering  <meyering@ascend.com>
97686
97687         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
97688         AC_REPLACE xstroull if necessary.  From Paul Eggert.
97689         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
97690
97691 1999-04-18  Jim Meyering  <meyering@ascend.com>
97692
97693         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
97694         * m4/jm-macros.m4: Use it.
97695
97696 1999-04-06  Jim Meyering  <meyering@ascend.com>
97697
97698         * m4/strftime.m4: Remove test for %f.
97699
97700 1999-03-29  Jim Meyering  <meyering@ascend.com>
97701
97702         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
97703         superset of the AC_TYPE_* checks in the textutils, fileutils,
97704         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
97705         AC_TYPE_PID_T.
97706
97707 1999-03-28  Jim Meyering  <meyering@ascend.com>
97708
97709         * m4/jm-macros.m4: Define GNU_PACKAGE here.
97710         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
97711         replaced e.g., in the *.sh files of the sh-utils.
97712
97713 1999-03-20  Jim Meyering  <meyering@ascend.com>
97714
97715         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
97716         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
97717         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
97718
97719 1999-03-19  Jim Meyering  <meyering@ascend.com>
97720
97721         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
97722
97723 1999-03-12  Jim Meyering  <meyering@ascend.com>
97724
97725         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
97726
97727 1999-03-07  Jim Meyering  <meyering@ascend.com>
97728
97729         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
97730         declared.
97731
97732 1999-02-17  Jim Meyering  <meyering@ascend.com>
97733
97734         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
97735         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
97736
97737 1999-02-07  Jim Meyering  <meyering@ascend.com>
97738
97739         * m4/group-member.m4: New file -- extracted from sh-utils'
97740         configure.in.
97741
97742         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
97743         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
97744
97745 1999-02-06  Jim Meyering  <meyering@ascend.com>
97746
97747         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
97748         * m4/fnmatch.m4: Likewise.
97749         * m4/getgroups.m4: Likewise.
97750         * m4/lstat.m4: Likewise.
97751         * m4/malloc.m4: Likewise.
97752         * m4/putenv.m4: Likewise.
97753         * m4/realloc.m4: Likewise.
97754         * m4/regex.m4: Likewise.
97755         * m4/stat.m4: Likewise.
97756         * m4/strftime.m4: Likewise.
97757         Suggestion from Alain Magloire.
97758
97759         * m4/chown.m4: Use `.$ac_objext', not `.o'.
97760         * m4/fnmatch.m4: Likewise.
97761         * m4/getgroups.m4: Likewise.
97762         * m4/getline.m4: Likewise.
97763         * m4/lstat.m4: Likewise.
97764         * m4/malloc.m4: Likewise.
97765         * m4/memcmp.m4: Likewise.
97766         * m4/putenv.m4: Likewise.
97767         * m4/realloc.m4: Likewise.
97768         * m4/regex.m4: Likewise.
97769         * m4/stat.m4: Likewise.
97770         * m4/strftime.m4: Likewise.
97771         Suggestion from Alain Magloire.
97772
97773         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
97774         an argument.
97775
97776         * m4/regex.m4: Add a run-time Test for proper operation of
97777         re_compile_pattern.
97778
97779 1999-01-31  Jim Meyering  <meyering@ascend.com>
97780
97781         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
97782
97783 1999-01-30  Jim Meyering  <meyering@ascend.com>
97784
97785         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
97786
97787         * m4/jm-mktime.m4: Make this a wrapper around the official
97788         AM_FUNC_MKTIME rather than my private copy, now that the official one
97789         is up to date.
97790         * m4/mktime.m4: Remove file.
97791
97792         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
97793         * m4/uptime.m4: Likewise.
97794         * m4/uintmax_t.m4: Likewise.
97795
97796 1999-01-28  Jim Meyering  <meyering@ascend.com>
97797
97798         * m4/jm-macros.m4: Use jm_AFS.
97799         * m4/afs.m4: New file (from fileutils' configure.in).
97800
97801         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
97802         * m4/chown.m4: Likewise.
97803         * m4/d-ino.m4: Likewise.
97804         * m4/d-type.m4: Likewise.
97805         * m4/fnmatch.m4: Likewise.
97806         * m4/getgroups.m4: Likewise.
97807         * m4/gettext.m4: Likewise.
97808         * m4/jm-mktime.m4: Likewise.
97809         * m4/jm-winsz2.m4: Likewise.
97810         * m4/lcmessage.m4: Likewise.
97811         * m4/ls-mntd-fs.m4: Likewise.
97812         * m4/malloc.m4: Likewise.
97813         * m4/memcmp.m4: Likewise.
97814         * m4/putenv.m4: Likewise.
97815         * m4/realloc.m4: Likewise.
97816         * m4/st_mtim.m4: Likewise.
97817         * m4/strftime.m4: Likewise.
97818
97819 1999-01-16  Jim Meyering  <meyering@ascend.com>
97820
97821         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
97822         (ARGMATCH_DIE_DECL): Define.
97823
97824 1999-01-12  Jim Meyering  <meyering@ascend.com>
97825
97826         * m4/Makefile.am.in: Rewrite to avoid using fmt.
97827         Reported by Lars Hecking.
97828
97829 1999-01-10  Jim Meyering  <meyering@ascend.com>
97830
97831         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
97832         gross kludge.
97833         * m4/inttypes_h.m4: Likewise.
97834         * m4/lstat.m4: Likewise.
97835         * m4/malloc.m4: Likewise.
97836         * m4/readdir.m4: Likewise.
97837         * m4/realloc.m4: Likewise.
97838         * m4/st_dm_mode.m4: Likewise.
97839         * m4/stat.m4: Likewise.
97840         * m4/utimbuf.m4: Likewise.
97841         * m4/utimes.m4: Likewise.
97842
97843         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
97844         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
97845         comments in config.h.in are meaningful.
97846
97847         * m4/jm-macros.m4: Require autoconf-2.13 here.
97848
97849         * m4/regex.m4: By default, don't use the included regex.c on systems
97850         with glibc 2.  Suggestion from Uli Drepper.
97851
97852 1999-01-02  Jim Meyering  <meyering@ascend.com>
97853
97854         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
97855
97856 1998-12-18  Jim Meyering  <meyering@ascend.com>
97857
97858         * m4/Makefile.am.in (Makefile.am): Simplify rule.
97859         Based on a suggestion from Lars Hecking.
97860
97861 1998-11-16  Paul Eggert  <eggert@twinsun.com>
97862
97863         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
97864
97865 1998-11-16  Jim Meyering  <meyering@ascend.com>
97866
97867         * m4/lfs.m4: Double-quote the `uname...` expression.
97868
97869 1998-11-14  Jim Meyering  <meyering@ascend.com>
97870
97871         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
97872         * m4/stat.m4: Likewise.
97873
97874 1998-11-03  Jim Meyering  <meyering@ascend.com>
97875
97876         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
97877         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
97878
97879 1998-10-18  Jim Meyering  <meyering@ascend.com>
97880
97881         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
97882
97883 1998-10-17  Jim Meyering  <meyering@ascend.com>
97884
97885         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
97886         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
97887         calls for those previously hard-coded headers.  Instead, take a new
97888         parameter.
97889         (jm_CHECK_DECLARATIONS): Reflect interface change.
97890         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
97891         (jm_CHECK_DECL_LOCALTIME_R): New macro.
97892
97893         * m4/mktime.m4: Test for spring-forward gap before long-running test.
97894
97895 1998-10-14  Jim Meyering  <meyering@ascend.com>
97896
97897         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
97898         instead of "TZ=America/Vancouver".  From Paul Eggert.
97899
97900 1998-10-11  Jim Meyering  <meyering@ascend.com>
97901
97902         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
97903         This adds a test for a recently added compatibility fix for mktime.c.
97904         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
97905
97906 1998-09-27  Jim Meyering  <meyering@ascend.com>
97907
97908         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
97909
97910         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
97911         ../configure.in, including a change from Gordon Matzigkeit to allow
97912         cross-compiling for the Hurd.
97913
97914         * m4/glibc.m4: New file/macro to test for the GNU C Library
97915         versions 1 and 2.  From Gordon Matzigkeit.
97916         Indent.
97917
97918 1998-09-21  Jim Meyering  <meyering@ascend.com>
97919
97920         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
97921
97922 1998-08-18  Paul Eggert  <eggert@twinsun.com>
97923
97924         Port nanosecond-resolution times to UnixWare 2.1.2 and
97925         pedantic Solaris 2.6.
97926
97927         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
97928         AC_STRUCT_ST_MTIM.
97929         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
97930         Generate name of ns member, instead of just 1 or undef.
97931         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
97932
97933 1998-08-15  Jim Meyering  <meyering@ascend.com>
97934
97935         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
97936         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
97937         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
97938         instead of jm_TYPE_SSIZE_T.
97939
97940 1998-08-12  Jim Meyering  <meyering@ascend.com>
97941
97942         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
97943
97944 1998-08-02  Jim Meyering  <meyering@ascend.com>
97945
97946         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
97947         in acconfig.h manually.
97948
97949 1998-07-31  Paul Eggert  <eggert@twinsun.com>
97950
97951         * m4/st_mtim.m4: New file.
97952
97953 1998-07-28  Jim Meyering  <meyering@ascend.com>
97954
97955         * m4/utimes.m4: Undef stat.
97956
97957 1998-07-25  Jim Meyering  <meyering@ascend.com>
97958
97959         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
97960         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
97961
97962 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
97963
97964         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
97965         uid and gid actually remain unchanged.
97966
97967 1998-07-07  Jim Meyering  <meyering@ascend.com>
97968
97969         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
97970
97971 1998-07-04  Jim Meyering  <meyering@ascend.com>
97972
97973         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
97974         to prove that this macro can be used in packages without regex.c.
97975
97976 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
97977
97978         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
97979         is to be used.
97980
97981 1998-07-03  Jim Meyering  <meyering@ascend.com>
97982
97983         * m4/gettext.m4: Add -lintl if it's found to be necessary.
97984
97985         * m4/gettext.m4: New file -- from gettext-0.10.35.
97986         * m4/lcmessage.m4: Likewise.
97987         * m4/progtest.m4: Likewise.
97988
97989         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
97990         * m4/jm-macros.m4: Require the new macro.
97991
97992 1998-06-29  Jim Meyering  <meyering@ascend.com>
97993
97994         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
97995         for the definition of NGROUPS (used in a system header included
97996         by sys/mount.h).
97997
97998 1998-06-28  Jim Meyering  <meyering@ascend.com>
97999
98000         * m4/ls-mntd-fs.m4: New file.
98001         * m4/fstypename.m4: New file.
98002
98003         * m4/jm-macros.m4: Require the new macro.
98004         * m4/jm-glibc-io.m4: New file.
98005
98006 1998-05-19  Jim Meyering  <meyering@ascend.com>
98007
98008         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
98009         * m4/lchown.m4: New file.
98010
98011         * m4/Makefile.am.in: New file.
98012         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
98013
98014 1998-05-14  Jim Meyering  <meyering@ascend.com>
98015
98016         * m4/Makefile.am (EXTRA_DIST): Add them.
98017         * m4/jm-macros.m4: New file.
98018         * m4/utimbuf.m4: New file.
98019
98020 1998-05-12  Jim Meyering  <meyering@ascend.com>
98021
98022         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
98023
98024 1998-05-11  Jim Meyering  <meyering@ascend.com>
98025
98026         * m4/isc-posix.m4: New file.
98027
98028 1998-05-10  Jim Meyering  <meyering@ascend.com>
98029
98030         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
98031
98032 1998-05-09  Jim Meyering  <meyering@ascend.com>
98033
98034         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
98035         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
98036         with automake.
98037
98038         * m4/ssize_t.m4: New file.
98039         * m4/mktime.m4: Remove file -- the new automake has this now.
98040
98041 1998-04-26  Jim Meyering  <meyering@ascend.com>
98042
98043         * m4/assert.m4: New file.
98044         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
98045
98046 1998-04-05  Jim Meyering  <meyering@ascend.com>
98047
98048         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
98049         (jm_PREREQ): Use it here.
98050
98051 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
98052
98053         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
98054         in acconfig.h.
98055
98056 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
98057
98058         * m4/prereq.m4: New file.
98059         * m4/error.m4: New file.
98060         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
98061
98062 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
98063
98064         * m4/getline.m4: Don't set am_cv_func_working_getline before the
98065         cache-check for the same variable -- that defeated the purpose of
98066         the test; the test program was never run.  This was a problem only
98067         on systems with losing getline functions -- HP-UX 10.20 is one.
98068         Reported by Bjorn Helgaas.
98069
98070 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
98071
98072         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
98073
98074 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
98075
98076         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
98077
98078         * m4/const.m4: New file.  Use an initializer in this declaration
98079         typedef int charset[2]; const charset x;
98080         Reported by Bob Glickstein.
98081
98082 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
98083
98084         * m4/chown.m4: Fix reversed types on -1 args to chown.
98085         From Kaveh Ghazi.
98086
98087 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
98088
98089         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
98090         Add lseek and memchr.
98091
98092         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
98093         T.E.Dickey <dickey@clark.net> said that some older preprocessors
98094         have a 20-character limit on names.
98095
98096 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
98097
98098         * m4/inttypes_h.m4: New file.
98099         * m4/uintmax_t.m4: New file.
98100         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
98101
98102
98103         -----
98104
98105         Local Variables:
98106         coding: utf-8
98107         End:
98108
98109         Copyright (C) 1997-2012 Free Software Foundation, Inc.
98110
98111         Copying and distribution of this file, with or without
98112         modification, are permitted provided the copyright notice
98113         and this notice are preserved.